matthewwall / weewx-interceptor

weewx driver that intercepts web traffic from internet 'bridge' devices such as Acurite Access, ObserverIP, OS LW30x, LaCross GW1000U, FineOffset GW1000
GNU General Public License v3.0
105 stars 46 forks source link

new firmware/smartHub update incomplete #12

Closed whorfin closed 7 years ago

whorfin commented 7 years ago

Greetings

I wanted to note three things that have changed yet are not fully reflected in the AcuRite driver section yet.

1) The smartHub "talks" to two different services, rtupdate.wunderground.com and hubapi.acurite.com The format is slightly different for both, though broadly the acurite communication now looks more like wunderground. Some descriptions recommend intercepting wunderground communications, but it seems this should be only hubapi.acurite.com, right? Tidying the documentation would clarify this

2) the new [smartHub] hubapi.acurite.com no longer returns the "success" entry, and get_response should be updated. Local time is now returned, which is [presumably] used as part of how the smarthub keeps track of rain totals. a representative response is: {"localtime":"20:35:50","checkversion":"224"}

"localtime" is the actual local time [taking the Time Zone set in myacurite.com into account] in 24-hour time format

3) contrary to a significant amount of internet misinformation, it IS possible to have the smartHub send accurate, adjusted barometric pressure directly to wunderground. The "magic" is to use "Adjusted Pressure" as the "Barometric Pressure Setting", and fiddle with station elevation. after some delay of up to a few minutes, after changing this on myacurite.com, hubapi.acurite.com will send a special, extended response to the smartHub. It looks like this:

{"localtime":"20:36:10","checkversion":"224","ID1":"","PASSWORD1":"","sensor1":"","elevation":""}

once set, subsequent reports to wunderground by the smarthub will be adusted for that sensornumber


in summary, communication with hubapi.acurite.com is now two-way, with information being sent to the smartHub which is important. At the least, localtime should be sent by the interceptor driver. Adding support for the information necessary to set up a smartHub for wunderground direct communication might remain an excercise for the reader, but is documented here for history, and to help clarify the role of pressure calibration.

Cheers

matthewwall commented 7 years ago

thanks for that! item 2 has been implemented, and item 3 has been added to the comments at the beginning of the driver. both at commit fec9ce6 (driver version 0.25) i already did a pass through the readme to change over to hubapi from aculink (also in the util folder for the apache files that do proxy)