Envoy Driver

74 views
Skip to first unread message

weather list

unread,
Apr 6, 2021, 5:18:33 PM4/6/21
to weewx...@googlegroups.com
Working on getting Matthew Wall’s weewx-envoy driver running under Python3. I’m no Python guru but I think I have fixed the print() and Except: errors, but this one I don’t know how to fix:

WeeWx 4.4.0 (using new DB schema)
Python3
Intel NUC
Raspian Desktop Buster, fully updated

Running envoy.conf from the command line:
—————————————————————————————
sudo bin/weewxd envoy.conf
Traceback (most recent call last):
File "bin/weewxd", line 261, in <module>
main()
File "bin/weewxd", line 148, in main
engine = weewx.engine.StdEngine(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 75, in __init__
self.loadServices(config_dict)
File "/home/weewx/bin/weewx/engine.py", line 138, in loadServices
obj = weeutil.weeutil.get_object(svc)(self,config_dict)
File "/home/weewx/bin/user/forecast.py", line 1339, in __init__
interval=600)
File "/home/weewx/bin/user/forecast.py", line 1027, in __init__
(self.method_id, dbcol, memcol))
Exception: Zambretti: schema mismatch: ['dateTime', 'usUnits', 'interval', 'altimeter', 'appTemp', 'appTemp1', 'barometer', 'batteryStatus1', 'batteryStatus2', 'batteryStatus3', 'batteryStatus4', 'batteryStatus5', 'batteryStatus6', 'batteryStatus7', 'batteryStatus8', 'cloudbase', 'co', 'co2', 'consBatteryVoltage', 'dewpoint', 'dewpoint1', 'ET', 'extraHumid1', 'extraHumid2', 'extraHumid3', 'extraHumid4', 'extraHumid5', 'extraHumid6', 'extraHumid7', 'extraHumid8', 'extraTemp1', 'extraTemp2', 'extraTemp3', 'extraTemp4', 'extraTemp5', 'extraTemp6', 'extraTemp7', 'extraTemp8', 'forecast', 'hail', 'hailBatteryStatus', 'hailRate', 'heatindex', 'heatindex1', 'heatingTemp', 'heatingVoltage', 'humidex', 'humidex1', 'inDewpoint', 'inHumidity', 'inTemp', 'inTempBatteryStatus', 'leafTemp1', 'leafTemp2', 'leafWet1', 'leafWet2', 'lightning_distance', 'lightning_disturber_count', 'lightning_energy', 'lightning_noise_count', 'lightning_strike_count', 'luminosity', 'maxSolarRad', 'nh3', 'no2', 'noise', 'o3', 'outHumidity', 'outTemp', 'outTempBatteryStatus', 'pb', 'pm10_0', 'pm1_0', 'pm2_5', 'pressure', 'radiation', 'rain', 'rainBatteryStatus', 'rainRate', 'referenceVoltage', 'rxCheckPercent', 'signal1', 'signal2', 'signal3', 'signal4', 'signal5', 'signal6', 'signal7', 'signal8', 'snow', 'snowBatteryStatus', 'snowDepth', 'snowMoisture', 'snowRate', 'so2', 'soilMoist1', 'soilMoist2', 'soilMoist3', 'soilMoist4', 'soilTemp1', 'soilTemp2', 'soilTemp3', 'soilTemp4', 'supplyVoltage', 'txBatteryStatus', 'UV', 'uvBatteryStatus', 'windBatteryStatus', 'windchill', 'windDir', 'windGust', 'windGustDir', 'windrun', 'windSpeed'] != ['t', 'd']

John Kline

unread,
Apr 6, 2021, 6:00:34 PM4/6/21
to weewx...@googlegroups.com
That’s not an envoy driver exception.  Rather, it’s a forecast extension exception.

Try installing this:

On Apr 6, 2021, at 2:18 PM, weather list <weatherl...@gmail.com> wrote:

Working on getting Matthew Wall’s weewx-envoy driver running under Python3. I’m no Python guru but I think I have fixed the print() and Except: errors, but this one I don’t know how to fix:
--
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 weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/EFF9907C-DFD1-4E6B-B4DB-A8CB72C0EE25%40gmail.com.

weather list

unread,
Apr 6, 2021, 7:50:57 PM4/6/21
to weewx...@googlegroups.com
My bad, I had leftover Forecast extensions in that envoy.conf file.

With it gone, I get this:

 sudo bin/weewxd envoy.conf
Traceback (most recent call last):
  File "bin/weewxd", line 261, in <module>
    main()
  File "bin/weewxd", line 154, in main
    engine.run()
  File "/home/weewx/bin/weewx/engine.py", line 188, in run
    for packet in self.console.genLoopPackets():
  File "/home/weewx/bin/user/envoy.py", line 203, in genLoopPackets
    packet = self.envoy.get_data()
  File "/home/weewx/bin/user/envoy.py", line 259, in get_data
    resp = urllib.urlopen(self.url)
AttributeError: module 'urllib' has no attribute 'urlopen'

The hostname entry on the LAN is correct.

John Kline

unread,
Apr 6, 2021, 10:26:31 PM4/6/21
to weewx...@googlegroups.com
Have a look here:

On Apr 6, 2021, at 4:50 PM, weather list <weatherl...@gmail.com> wrote:

My bad, I had leftover Forecast extensions in that envoy.conf file.

weather list

unread,
Apr 6, 2021, 10:34:38 PM4/6/21
to weewx...@googlegroups.com
Brilliant John, many thanks.

Reply all
Reply to author
Forward
0 new messages