The clock in my about page is actually
from https://github.com/roe-dl/websocket-clock-js/commits?author=roe-dl aka
Karen K in this group!
She did a lot of work to use German weather data (DWD) with the Belchertown
skin.
Check out her work on her PWS page https://www.woellsdorf-wetter.de/
On Friday, September 8, 2023 at 6:35:37 PM UTC+2 Stefan Gliessmann wrote:
> Vince, thank you again for the scripts ... once I figured out that my MQTT
> requires user & password, it works now ...
> seems that I still have to do something with the units for the GPS
> coordinates ...
>
> [image: Screenshot 2023-09-08 at 18.32.17.png]
>
> On Sunday, September 3, 2023 at 2:24:04 AM UTC+2 vince wrote:
>
>> Yes. ipv6 is an adventure. I tried to turn it on for my home LAN and
>> DNS was a big problem until I figured out that I just needed to always use
>> "hostname.local" for the LAN DNS and it would work. Unfortunately it also
>> seemed to break my pihole ad-blocking so I turned ipv6 back off here after
>> a few day test.
>>
>> I like the clock on your About page too!
>> On Saturday, September 2, 2023 at 1:02:04 PM UTC-7 Stefan Gliessmann
>> wrote:
>>
>>> Dear Vince,
>>>
>>> thank you very much for providing the scripts! I really do appreciate!
>>> However, last Tuesday I changed my ISP. Good think - it is 1 Gbps! And
>>> my challenge was that it is IPv6 and I had to learn very quickly that port
>>> forwarding with IPv6 is completely different to IPv4, and even more
>>> particular DDNS with IPv6.
>>> But I am happy to report that my server is back online rv.sgplex.de :)
>>> As I will be on vacation in Spain the next few weeks, I will place your
>>> scripts in action!
>>>
>>> Thanks again for providing them!
>>>
>>> Cheers
>>>
>>> On Monday, August 28, 2023 at 10:17:58 PM UTC+2 vince wrote:
>>>
>>>> (sorry - ignore the earlier truncated post)
>>>>
>>>> I cooked up a bash script that subscribes, calls a python script to
>>>> reformat, then publishes. The bash script sleeps a second between loops
>>>> to not eat up your cpu. You 'should' be able to change the variables in
>>>> the bash script to match your configuration pretty easily...
>>>>
>>>> This subscribes to ORIGINAL_TOPIC and publishes to FINAL_TOPIC in the
>>>> bash script.
>>>> To test:
>>>>
>>>> - open a bash window and subscribe to the FINAL_TOPIC
>>>> - open a second window and run the bash script which will
>>>> listen/reformat/publish
>>>> - if you're not querying your gps currently, open a third window
>>>> and publish to the ORIGINAL_TOPIC ala
>>>>
>>>> mosquitto_pub -h 192.168.1.171 -t RV/original -m
>>>> '[{"dateTime":"1693128700.0","gpsLat":"52.152435"},{"dateTime":"1693128700.0","gpsLong":"9.929356"}]'
>>>>
>>>> What you should see in window1 that is subscribing is output ala:
>>>> {"dateTime": "1693128700.0", "gpsLat": "52.152435", "gpsLong":
>>>> "9.929356"}
>>>>
>>>> That kind of data should be ok to subscribe to in weewx for your
>>>> lat/lon data....
>>>>
>>>> #---- reformat_mqtt.bash ----
>>>>
>>>> #!/bin/bash
>>>> #
>>>> # ip address of MQTT broker
>>>> BROKER="192.168.1.171"
>>>>
>>>> ORIGINAL_TOPIC="RV/original"
>>>> FINAL_TOPIC="RV/final"
>>>>
>>>> while true; do
>>>>
>>>> # subscribe to a topic
>>>> # run the python script to reformat to stdout
>>>> # publish to a final topic
>>>>
>>>> mosquitto_sub -C 1 -h ${BROKER} -t ${ORIGINAL_TOPIC} \
>>>> | python3 reformat_mqtt.py \
>>>> | mosquitto_pub --stdin-line -h ${BROKER} -t ${FINAL_TOPIC}
>>>>
>>>> # sleep a bit to not eat up your cpu
>>>> sleep 1
>>>>
>>>> done
>>>>
>>>>
>>>> #---- reformat_mqtt.py -----
>>>> #
>>>> # this reformats the GPS information
>>>> # to a more normal looking output
>>>> #
>>>>
>>>> # it assumes your input data is always in the same order and always
>>>> complete
>>>> # ala:
>>>> [{"dateTime":"1693128700.0","gpsLat":"52.152435"},{"dateTime":"1693128700.0","gpsLong":"9.929356"}]
>>>>
>>>> import json
>>>> import sys
>>>> for line in sys.stdin:
>>>> jsondata = json.loads(line)
>>>> reorganized_data = {}
>>>> reorganized_data['dateTime'] = jsondata[0]['dateTime']
>>>> reorganized_data['gpsLat'] = jsondata[0]['gpsLat']
>>>> reorganized_data['gpsLong'] = jsondata[1]['gpsLong']
>>>> print(json.dumps(reorganized_data))
>>>>
>>>>
>>>> On Monday, August 28, 2023 at 5:19:15 AM UTC-7 Stefan Gliessmann wrote:
>>>>
>>>>> I asked in the community forum for my router and I was told that this
>>>>> is the only way they can currently forward data via MQTT.
>>>>> A future firmware release shall allow more formatting.
>>>>>
>>>>> I might now play around with this
>>>>> https://github.com/mrtncls/mqtt-translator to get the MQTT payload
>>>>> from an array in one single statement ...
>>>>> Anybody used the MQTT Translator for this purpose?
>>>>>
>>>>> On Monday, August 28, 2023 at 11:01:41 AM UTC+2 Stefan Gliessmann
>>>>> wrote:
>>>>>
>>>>>> Which code do you refer to?
>>>>>> [image: Screenshot 2023-08-28 at 11.00.03.png]
>>>>>> This is what I specified in the GPS/Router to push via MQTT to my
>>>>>> broker ...
>>>>>> On Sunday, August 27, 2023 at 8:39:40 PM UTC+2 vince wrote:
>>>>>>
>>>>>>> We'd have to see your code to see what you are publishing.
>>>>>>>
>>>>>>> Your MQTT log looks very odd and likely needs some tweaking
>>>>>>>
>>>>>>> MQTT:
>>>>>>> [{"dateTime":"1693128700.0","gpsLat":"52.152435"},{"dateTime":"1693128700.0","gpsLong":"9.929356"}]
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I'd expect something like {"dateTime":"1233456", "gpsLat":"52.1234",
>>>>>>> "gpsLong": "9.987"} for a more typical set of JSON to publish. You
>>>>>>> want
>>>>>>> one element (not in an array) with three items therein -
>>>>>>> dateTime/lat/lon.
>>>>>>>
>>>>>>>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/da61ea94-ba64-4414-a358-7fa145c6a10fn%40googlegroups.com.