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.

Reply via email to