Chris Swanda
unread,Apr 16, 2026, 5:21:15 AM (22 hours ago) Apr 16Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to weewx-user
I received a new WS-1965 to replace my 14 year old AcuRite, and had all kinds of issues getting the interceptor driver to work.
Version: WS1965B_V1.3.3
```
driver = user.interceptor
device_type = observer
port = 8000
```
Monitoring port 8000 after telling the WS-1965 console to use a custom weather service, I noticed that GET request was formatted as `GET /data/report&PASSKEY=...`
My fix was to make the following changes to my interceptor.py.
Original
```
def do_GET(self):
# get the query string from an HTTP GET
data = urlparse.urlparse(self.path).query
```
Changed to:
```
def do_GET(self):
# get the query string from an HTTP GET
# fix for WS1965B firmware bug: uses & instead of ? after path
path = self.path
if '?' not in path and '&' in path:
path = path.replace('&', '?', 1)
data = urlparse.urlparse(path).query
```
And all the sudden I started getting packet loops in weewx.
There were some unrecognized parameters being reported, so I added them to the `LABEL_MAP` and `IGNORED_LABELS` to get past this.
Added WS1965B specific labels after `for all firmware`:
```
# for all firmware
'winddir': 'wind_dir',
'windgustdir': 'wind_gust_dir',
'UV': 'uv',
'lowbatt': 'battery',
# WS1965B specific
'maxdailygust': 'wind_gust_max',
'battout': 'battery',
'baromrelin': 'barometer',
```
And then added `'winddir_avg10m', 'hourlyrainin', 'eventrainin', 'totalrainin', 'stationtype',` to the ignored labels.
```
IGNORED_LABELS = [
'ID', 'PASSWORD', 'PASSKEY', 'dateutc', 'softwaretype',
'action', 'realtime', 'rtfreq',
'relbaro', 'rainin',
'weeklyrain', 'monthlyrain',
'weeklyrainin', 'monthlyrainin',
'winddir_avg10m', 'hourlyrainin', 'eventrainin', 'totalrainin', 'stationtype',
```
Hope this helps someone in the future.