This is an awesome group! Without your help of so many folks, I would not have achieved what I have so far ... Still need to do more to pass the coordinates to Belchertown skin forecasts and weather warnings ... But I am getting there now (I hope) ...
Thank you all again for your help! On Friday, September 8, 2023 at 6:40:13 PM UTC+2 Stefan Gliessmann wrote: > 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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/a9788916-70f9-44e3-93ea-8cdaf8fa3153n%40googlegroups.com.