A little over a year ago I received an Ambient Weather WS-1200-IP station with the ObserverIP module and was discouraged with the lack of options to get data off it and into weewx. I then saw that there was an ObserverIP driver, but it did screen scraping which was causing my ObserverIP to timeout significantly throughout the day. Not ideal. I wrote up this blog post ( https://obrienlabs.net/redirecting-weather-station-data-from-observerip/ -- some of you are familiar with it ) on how to change the ObserverIP to send the data to a custom server instead of wunderground. Once on that server, PHP simply submits data to a socket server. The socketlogger driver I created connects to the socket and grabs whatever data comes in off the socket.
I've been using this driver reliably for the last year to archive my data, and offer real-time live weather data on my website ( https://belchertownweather.com ). I had no plans to ask for it to be included with weewx until today when a user posted on my GitHub repo that it should be sent up to be included in weewx. I know it's helped a few other users, so maybe it's worth a shot? So, for your consideration, I'm checking to see if you think this would be useful to be packaged with weewx? While I am using this driver with the WS-1200-IP, it can work with the Ambient Weather WS-0900-IP, the WS-1400-IP or any other scenario where you can/want to send your weather data to a socket server. Some pros of using socketlogger with the ObserverIP unit: 1) No screen scraping, so the ObserverIP is hands off and 2) Instantly log data as it comes in (about every 16 seconds give or take). The socketlogger driver is based on the hackulink driver, which was based on the weewx wmr100 driver. Upon startup of weewx, it connects to a socket server and listens for data. For simplicity, data keys on the socket must be in the weewx MySQL column format. As a crude way to make sure weewx logs what is valid, it checks that the first characters on the line begins with "outTemp=". If the line begins with something else, the driver discards it. The driver can be found here: https://github.com/poblabs/weewx-socketlogger. Sample socket data is here. Note: I'm using this socket for other methods (such as live data on my website). The driver only grabs the key values found in the database column names. outTemp=20.8,outHumidity=37,dewpoint=-1.3,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=55.32,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.70,txBatteryStatus=0,epoch=1485784307,timestamp= Jan_30_2017_8:51:47_am,wunderground=success outTemp=20.8,outHumidity=37,dewpoint=-1.3,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=54.90,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.70,txBatteryStatus=0,epoch=1485784322,timestamp= Jan_30_2017_8:52:02_am,wunderground=success outTemp=20.8,outHumidity=37,dewpoint=-1.3,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=55.65,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.70,txBatteryStatus=0,epoch=1485784336,timestamp= Jan_30_2017_8:52:16_am,wunderground=success outTemp=20.8,outHumidity=36,dewpoint=-2.0,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=55.15,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.70,txBatteryStatus=0,epoch=1485784352,timestamp= Jan_30_2017_8:52:32_am,wunderground=success outTemp=20.8,outHumidity=36,dewpoint=-2.0,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=55.15,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.71,txBatteryStatus=0,epoch=1485784356,timestamp= Jan_30_2017_8:52:36_am,wunderground=success outTemp=20.8,outHumidity=36,dewpoint=-2.0,windchill=20.8,windDir=26, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=54.90,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.71,txBatteryStatus=0,epoch=1485784370,timestamp= Jan_30_2017_8:52:50_am,wunderground=success outTemp=20.8,outHumidity=36,dewpoint=-2.0,windchill=20.8,windDir=27, windSpeed=0.00,windGust=0.00,dailyrain=0.00,radiation=56.28,UV=1,inTemp=68.4 ,inHumidity=30,barometer=29.71,txBatteryStatus=0,epoch=1485784384,timestamp= Jan_30_2017_8:53:04_am,wunderground=success I'm open to whichever way this goes. As mentioned, I've been using it for a year without the thought of asking for it to be included :) Let me know if you'd like to see more information, sample data, snippets from the syslog, or anything else? Thanks!
