apparently the smarthub/bridge will not report any sensor data unless it 
has established a connection with one of the acurite servers (or something 
that responds like an acurite server).  i tested this behavior with a 
couple of smarthubs - one still running the old firmware (126) and one 
running the newer firmware (224).  occasionally i would see a sensor in the 
smarthub's web interface, but for the most part the devices are useless 
until they talk to the mothership.

the acurite servers used to reply to the smarthub with a simple string:

{"success":1, "checkversion":"126"}

the newer firmware expects a timestamp - probably to ensure that the 
smarthub time is ok:

{"localtime":"%H:%M:%S", "checkversion":"224"}

if an older hub gets a version number other than 126, then it tries to 
update the firmware.  presumably the newer firmware would also try to 
update if it gets version number other than 224, but i have not tested that.

after that initial response from the server, the smarthub starts sending 
data (in either wu format or chaney format, depending on the firmware 
version).  those are the packets that we capture in order to collect data.

the interceptor driver will handle these cases so that any smarthub just 
thinks that the interceptor is an acurite server.

so if your smarthub is running the older firmware, be sure to set the 
firmware_version=126 parameter, otherwise your hub will probably hang, 
trying to install the newer firmware (the interceptor does not know the 
protocol for sending newer firmware - there's a project for a budding 
reverse engineer, although the market for using it is now shrinking)

acurite shut down the myacurite.com and acu-link.com servers, and put 
127.0.0.1 in as the dns entry.  so any smarthub/bridge that attempts to 
connect to them will resolve the name(s) to localhost, then fail.

this means that now you MUST run the interceptor in listen mode, not sniff 
mode.  in sniff mode, the interceptor does not interact with the smarthub, 
so the smarthub hangs when it tries to contact itself (localhost) since 
there are no acurite servers.  in listen mode, the interceptor looks like 
an acurite server, so the smarthub responds and data flows.

so you must make a dns entry for hubapi.myacurite.com and www.acu-link.com 
that points to the machine running the interceptor, and you must ensure 
that traffic on port 80 goes to the interceptor.  the easiest way is to put 
the dns override in your router's configuration, and make the interceptor 
listen on port 80.  but if you already have a web server running on port 80 
on the same computer as the interceptor, then you'll have have to set up a 
reverse proxy on the web server for the acurite urls, or run the web server 
on a different port, or one of many other options explained in the 
interceptor readme.

btw, you can continue to use smarthub with new acurite sensors - until 
acurite changes their RF protocols, those smarthubs still have a many years 
of life left in them, even though acurite has abandoned those who purchased 
them.  acurite is not likely to change the RF protocols, since even the 
latest wifi consoles still know how to talk to them.  (this is not unlike 
the situation where open source software has given extended life to those 
old rt45g routers)

the remote sensors are pretty cheap - i've seen them for as little as $5 
each at walmart.  and although you could skip the smarthub altogether by 
using a usb sdr dongle, in some cases it might be easier/cheaper to use an 
acurite bridge instead of the sdr.

hope that helps,

m


-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to