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 44 forks source link

Does this work with the new Acurite Access? #35

Closed kevinkey619 closed 5 years ago

kevinkey619 commented 5 years ago

Does this work with the new Acurite Access?

matthewwall commented 5 years ago

it should work with any device that sends data to weather underground, including the acurite access.

please let me know how it works for you.

i should probably make a separate device_type = acurite-access (that accepts encrypted access uploads) and a device_type = wunderground that simply looks for wunderground protocol.

kevinkey619 commented 5 years ago

Ah. Yeah, it doesn't work with my new Acurite Access. Apparently this device encrypts the data it sends out - unlike the old Acu-Link / smartHUB.

matthewwall commented 5 years ago

you might try device_type = observer - the fine offset hardware also sends to weather underground, so that might work.

could you send me some packet captures from the access? we should be able to capture the wunderground portion of whatever the access is sending out. i think it is possible to capture the encrypted part too (the part that sends to the chaney instruments servers), but that will take a bit more work.

matthewwall commented 5 years ago

What does the screen with just a 1 on it mean? And why can't I get past it?

could you give me a little context, please? what screen? what operating system? what are you running?

matthewwall commented 5 years ago

set debug=1 in your weewx configuration then run weewx and capture the log. it should provide what we need to understand why the GET requests are not being captured.

first we must be sure that you are capturing (or sniffing) properly

then if that is working we must be sure the parsing is working properly

kevinkey619 commented 5 years ago

I got it to work!

For anyone else searching for an answer and reading this, here's what I did:

Connected the Acurite Access via a bridged connection on the Raspberry Pi.

Specified the "Observer" hardware.

In weewx.conf:

Scroll down to the "" section and make sure it looks like this:

[Interceptor]

This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor
device_type = observer
mode = sniff
iface = eth0
port = 80
pcap_filter = src net 192.168.6.0/24 && dst port 80
# NOTE: You'll need to change the above pcap_filter IP address range to match that of the one you assigned to the ethernet port on your own Raspberry Pi. 

# Specify the hardware device to capture.  Options include:
#   acurite-bridge - acurite internet bridge
#   observer - fine offset WH2600/HP1000/HP1003, aka 'observer'
#   lw30x - oregon scientific LW301/LW302
#   lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
[[sensor_map]]
    pressure = barometer
    barometer = barometer
    altimeter = barometer
    outHumidity = humidity_out
    outTemp = temperature_out
    windSpeed = wind_speed
    windGust = wind_gust
    windDir = wind_dir
    dewpoint = dewpoint
    rain = rain_total