Cannot get weewx + gw1000 working

386 views
Skip to first unread message

Dale Chatham

unread,
Oct 10, 2023, 6:41:26 PM10/10/23
to weewx-user
Following these instructions:
https://www.cougar.eu.com/useful-guides/weewx-guides/rasberry-pi/add-ecowitt/modify-weewx.html

Directory in /var/www/html/weewx/uploads is filling with data, so the upload data part is working. 



Here is the pertinent log entries:

Oct 10 17:37:23 fedora-workstation python3[49897]: weewx[49897] DEBUG user.gw1000: Invalid response to attempt 2 to send command 'CMD_READ_FIRMWARE_VERSION': Invalid checksum in API response. Expected '136' (0x88), received '51' (0x33).
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] DEBUG user.gw1000: Invalid response to attempt 3 to send command 'CMD_READ_FIRMWARE_VERSION': Invalid checksum in API response. Expected '136' (0x88), received '51' (0x33).
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] ERROR user.gw1000: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] ERROR weewx.engine: Import of driver failed: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts (<class 'user.gw1000.GWIOError'>)
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/engine.py", line 119, in setupStation
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, self)
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 1700, in loader
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      return GatewayDriver(**config_dict[DRIVER_NAME])
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 2311, in __init__
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      super(GatewayDriver, self).__init__(**stn_dict)
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 1014, in __init__
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      self.collector = GatewayCollector(ip_address=self.ip_address,
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 2608, in __init__
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      self.device = GatewayDevice(ip_address=ip_address, port=port,
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 6024, in __init__
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      self.api = GatewayApi(ip_address=ip_address,
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 4769, in __init__
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      self.model = self.get_model_from_firmware(self.get_firmware_version())
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 5217, in get_firmware_version
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      response = self.send_cmd_with_retries('CMD_READ_FIRMWARE_VERSION')
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 5454, in send_cmd_with_retries
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****      raise GWIOError(_msg)
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL weewx.engine:     ****  user.gw1000.GWIOError: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL __main__: Unable to load driver: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 10 17:37:33 fedora-workstation python3[49897]: weewx[49897] CRITICAL __main__:     ****  Waiting 60 seconds then retrying...

gjr80

unread,
Oct 11, 2023, 7:13:20 AM10/11/23
to weewx-user
I'm not sure what you are trying to do. The link you provided uses a custom WeeWX data service to parse a text file from the Ecowitt device, but the log extract you provided contains errors relating to the Ecowitt gateway driver which uses the Ecowitt gateway device API to read data from the Ecowitt gateway device. You need to choose one method or the other, not both. If your intent is to utilise the linked page in your original post then you should uninstall the Ecowitt gateway driver.

Gary

Dale Chatham

unread,
Oct 12, 2023, 10:30:22 PM10/12/23
to weewx-user
I blew it away and started over.

Installed weewx according to: https://weewx.com/docs/redhat.htm Simulator worked fine.

Inst alled Ecowitt Gateway servier according to: https://github.com/gjr80/weewx-gw1000/blob/master/readme.txt

Ran PYTHONPATH=/usr/share/weewx python -m user.gw1000 --test-driver from the above file.

I get this error:
Using configuration file /etc/weewx/weewx.conf

Unable to connect to device: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts

    Things to check include that the correct device IP address is being used,
    the device is powered on and the device is not otherwise disconnected from
    the local network.

I used telnet to connect to the IP and port listed in weewx.conf:
    driver = user.gw1000
    ip_address = 192.168.50.41
    port = 45000

I get a connection, but canot get a response to anyting I type (I have no idea if/what should be enteed to get a response.

Dale Chatham

unread,
Oct 17, 2023, 7:32:48 AM10/17/23
to weewx-user
Is it possible to get an help here?

Dale Chatham

unread,
Oct 17, 2023, 9:08:00 AM10/17/23
to weewx-user
Another data point:

nmap -sV -p 1-65535 192.168.50.41
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-17 06:51 CDT
Nmap scan report for ecowitt-weather (192.168.50.41)
Host is up (0.0069s latency).
Not shown: 65533 closed tcp ports (reset)
PORT      STATE SERVICE     VERSION
80/tcp    open  nagios-nsca Nagios NSCA
45000/tcp open  asmp?
MAC Address: BC:FF:4D:1C:C0:69 (Espressif)

It appears the port is open on the access point, but it's not answering.  Any ideas?

Dale Chatham

unread,
Oct 17, 2023, 9:20:25 AM10/17/23
to weewx-user
Yet another data point:

python -m user.gw1000 --test-service --debug=5 --ip-address=192.168.50.41 --port=45000
Using configuration file /etc/weewx/weewx.conf
debug level is '5'

IP address obtained from command line options
Port number obtained from command line options
Battery state filtering is 'False' (using the default)

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/share/weewx/user/gw1000.py", line 8229, in <module>
    main()
  File "/usr/share/weewx/user/gw1000.py", line 8225, in main
    direct_gw.process_options()
  File "/usr/share/weewx/user/gw1000.py", line 6745, in process_options
    self.test_service()
  File "/usr/share/weewx/user/gw1000.py", line 8047, in test_service
    engine = weewx.engine.StdEngine(config)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/weewx/weewx/engine.py", line 93, in __init__
    self.loadServices(config_dict)
  File "/usr/share/weewx/weewx/engine.py", line 161, in loadServices
    obj = weeutil.weeutil.get_object(svc)(self, config_dict)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/weewx/user/gw1000.py", line 1389, in __init__
    loginf('     field map is %s' % natural_sort_dict(self.field_map))
                                                      ^^^^^^^^^^^^^^
AttributeError: 'GatewayService' object has no attribute 'field_map'

Rainer Lang

unread,
Oct 17, 2023, 9:32:59 AM10/17/23
to weewx...@googlegroups.com

it's difficult to follow what you are/were doing - it would be helpful if you
a) provided us with a copy of your weewx.conf (you can xxxx your passwords if there are any)
b) set your station to GW1000
c) set debug = 0
d) provided the complete syslog from weewx startup until either the 1st report cycle is completed (as a rule after 5 minutes)
or weewx exits because of an unrecoverable error - snippets are not helpful

e) you should check if the IP address of your GW1000 is bound to its MAC address
f) you should check if some option in your router to allow intranetwork communication is set/untagged etc.

--
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/74321535-27c1-4909-b229-e4685083a0aen%40googlegroups.com.

Rainer Lang

unread,
Oct 17, 2023, 9:46:04 AM10/17/23
to weewx-user

I meant of course
set debug = 3

vince

unread,
Oct 17, 2023, 11:12:09 AM10/17/23
to weewx-user
On Tuesday, October 17, 2023 at 4:32:48 AM UTC-7 Dale Chatham wrote:
Is it possible to get an help here?


It is perhaps less than typically likely with that kind of tone.

 

Dale Chatham

unread,
Oct 17, 2023, 4:18:34 PM10/17/23
to weewx-user
My apologies.  However, I'm more than a little frustrated with trying to get this up and running.  I had waited four days and seen a good bit of traffic.  I will point out that it did have my desired effect.

Dale Chatham

unread,
Oct 17, 2023, 4:35:37 PM10/17/23
to weewx-user
Thank you for answering.  Responses below:

a.  weewx.conf attached.
b. [Station]

    # Description of the station location
    location = "Denton, TX"

    # Latitude in decimal degrees. Negative for southern hemisphere
    latitude = 33.227786
    # Longitude in decimal degrees. Negative for western hemisphere.
    longitude = -97.093708

    # Altitude of the station, with the unit it is in. This is used only
    # if the hardware cannot supply a value.
    altitude = 600, foot    # Choose 'foot' or 'meter' for unit

    # Set to type of station hardware. There must be a corresponding stanza
    # in this file, which includes a value for the 'driver' option.
    station_type = GW1000
c. # This section is for general configuration information.

  # Set to 1 for extra debug info, otherwise comment it out or set to zero
  debug = 3
d. Oct 17 15:25:04 fedora-workstation systemd[1]: Starting weewx.service - SYSV: start and stop the weewx weather system...
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Initializing weewx version 4.10.2
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Using Python 3.11.6 (main, Oct  3 2023, 00:00:00) [GCC 13.2.1 20230728 (Red Hat 13.2.1-1)]
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Located at /bin/python3
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Platform Linux-6.5.6-200.fc38.x86_64-x86_64-with-glibc2.37
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Locale is 'en_US.UTF-8'
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: Debug is 3
Oct 17 15:25:04 fedora-workstation python3[53512]: weewx[53512] INFO __main__: PID file is /var/run/weewx.pid
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG __main__: Initializing engine
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO weewx.engine: Loading station type GW1000 (user.gw1000)
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000: GatewayDriver: version is 0.6.0b2
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      device address is 192.168.50.41:45000
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      poll interval is 10 seconds
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      max tries is 3, retry wait time is 10 seconds
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      broadcast address is 255.255.255.255:46000, broadcast timeout is 5 seconds
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      socket timeout is 2 seconds
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      field map is {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 'daymaxwind': 'daymaxwind', 'dayRain': 't_rainday', 'dewpoint': 'dewpoint', 'extraHumid1': 'humid1', 'extraHumid2': 'humid2', 'extraHumid3': 'humid3', 'extraHumid4': 'humid4', 'extraHumid5': 'humid5', 'extraHumid6': 'humid6', 'extraHumid7': 'humid7', 'extraHumid8': 'humid8', 'extraHumid17': 'humid17', 'extraTemp1': 'temp1', 'extraTemp2': 'temp2', 'extraTemp3': 'temp3', 'extraTemp4': 'temp4', 'extraTemp5': 'temp5', 'extraTemp6': 'temp6', 'extraTemp7': 'temp7', 'extraTemp8': 'temp8', 'extraTemp9': 'temp9', 'extraTemp10': 'temp10', 'extraTemp11': 'temp11', 'extraTemp12': 'temp12', 'extraTemp13': 'temp13', 'extraTemp14': 'temp14', 'extraTemp15': 'temp15', 'extraTemp16': 'temp16', 'extraTemp17': 'temp17', 'heatindex': 'heatindex', 'inHumidity': 'inhumid', 'inTemp': 'intemp', 'leafWet1': 'leafwet1', 'leafWet2': 'leafwet2', 'leafWet3': 'leafwet3', 'leafWet4': 'leafwet4', 'leafWet5': 'leafwet5', 'leafWet6': 'leafwet6', 'leafWet7': 'leafwet7', 'leafWet8': 'leafwet8', 'leak1': 'leak1', 'leak2': 'leak2', 'leak3': 'leak3', 'leak4': 'leak4', 'lightning_distance': 'lightningdist', 'lightning_last_det_time': 'lightningdettime', 'lightning_strike_count': 'lightning_strike_count', 'lightningcount': 'lightningcount', 'luminosity': 'light', 'monthRain': 't_rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', 'p_dayRain': 'p_rainday', 'p_monthRain': 'p_rainmonth', 'p_rain': 'p_rain', 'p_rainRate': 'p_rainrate', 'p_stormRain': 'p_rainevent', 'p_weekRain': 'p_rainweek', 'p_yearRain': 'p_rainyear', 'pm2_5': 'pm251', 'pm2_51_24h_avg': 'pm251_24h_avg', 'pm2_52': 'pm252', 'pm2_52_24h_avg': 'pm252_24h_avg', 'pm2_53': 'pm253', 'pm2_53_24h_avg': 'pm253_24h_avg', 'pm2_54': 'pm254', 'pm2_54_24h_avg': 'pm254_24h_avg', 'pm2_55': 'pm255', 'pm2_55_24h_avg': 'pm255_24h_avg', 'pm10': 'pm10', 'pm10_24h_avg': 'pm10_24h_avg', 'pressure': 'absbarometer', 'rain': 't_rain', 'rainRate': 't_rainrate', 'relbarometer': 'relbarometer', 'soilMoist1': 'soilmoist1', 'soilMoist2': 'soilmoist2', 'soilMoist3': 'soilmoist3', 'soilMoist4': 'soilmoist4', 'soilMoist5': 'soilmoist5', 'soilMoist6': 'soilmoist6', 'soilMoist7': 'soilmoist7', 'soilMoist8': 'soilmoist8', 'soilMoist9': 'soilmoist9', 'soilMoist10': 'soilmoist10', 'soilMoist11': 'soilmoist11', 'soilMoist12': 'soilmoist12', 'soilMoist13': 'soilmoist13', 'soilMoist14': 'soilmoist14', 'soilMoist15': 'soilmoist15', 'soilMoist16': 'soilmoist16', 'soilTemp1': 'soiltemp1', 'soilTemp2': 'soiltemp2', 'soilTemp3': 'soiltemp3', 'soilTemp4': 'soiltemp4', 'soilTemp5': 'soiltemp5', 'soilTemp6': 'soiltemp6', 'soilTemp7': 'soiltemp7', 'soilTemp8': 'soiltemp8', 'soilTemp9': 'soiltemp9', 'soilTemp10': 'soiltemp10', 'soilTemp11': 'soiltemp11', 'soilTemp12': 'soiltemp12', 'soilTemp13': 'soiltemp13', 'soilTemp14': 'soiltemp14', 'soilTemp15': 'soiltemp15', 'soilTemp16': 'soiltemp16', 'stormRain': 't_rainevent', 'totalRain': 't_raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 't_rainweek', 'wh24_batt': 'wh24_batt', 'wh24_sig': 'wh24_sig', 'wh25_batt': 'wh25_batt', 'wh25_sig': 'wh25_sig', 'wh26_batt': 'wh26_batt', 'wh26_sig': 'wh26_sig', 'wh31_ch1_batt': 'wh31_ch1_batt', 'wh31_ch1_sig': 'wh31_ch1_sig', 'wh31_ch2_batt': 'wh31_ch2_batt', 'wh31_ch2_sig': 'wh31_ch2_sig', 'wh31_ch3_batt': 'wh31_ch3_batt', 'wh31_ch3_sig': 'wh31_ch3_sig', 'wh31_ch4_batt': 'wh31_ch4_batt', 'wh31_ch4_sig': 'wh31_ch4_sig', 'wh31_ch5_batt': 'wh31_ch5_batt', 'wh31_ch5_sig': 'wh31_ch5_sig', 'wh31_ch6_batt': 'wh31_ch6_batt', 'wh31_ch6_sig': 'wh31_ch6_sig', 'wh31_ch7_batt': 'wh31_ch7_batt', 'wh31_ch7_sig': 'wh31_ch7_sig', 'wh31_ch8_batt': 'wh31_ch8_batt', 'wh31_ch8_sig': 'wh31_ch8_sig', 'wh32_batt': 'wh32_batt', 'wh32_sig': 'wh32_sig', 'wh40_batt': 'wh40_batt', 'wh40_sig': 'wh40_sig', 'wh41_ch1_batt': 'wh41_ch1_batt', 'wh41_ch1_sig': 'wh41_ch1_sig', 'wh41_ch2_batt': 'wh41_ch2_batt', 'wh41_ch2_sig': 'wh41_ch2_sig', 'wh41_ch3_batt': 'wh41_ch3_batt', 'wh41_ch3_sig': 'wh41_ch3_sig', 'wh41_ch4_batt': 'wh41_ch4_batt', 'wh41_ch4_sig': 'wh41_ch4_sig', 'wh45_batt': 'wh45_batt', 'wh45_sig': 'wh45_sig', 'wh51_ch1_batt': 'wh51_ch1_batt', 'wh51_ch1_sig': 'wh51_ch1_sig', 'wh51_ch2_batt': 'wh51_ch2_batt', 'wh51_ch2_sig': 'wh51_ch2_sig', 'wh51_ch3_batt': 'wh51_ch3_batt', 'wh51_ch3_sig': 'wh51_ch3_sig', 'wh51_ch4_batt': 'wh51_ch4_batt', 'wh51_ch4_sig': 'wh51_ch4_sig', 'wh51_ch5_batt': 'wh51_ch5_batt', 'wh51_ch5_sig': 'wh51_ch5_sig', 'wh51_ch6_batt': 'wh51_ch6_batt', 'wh51_ch6_sig': 'wh51_ch6_sig', 'wh51_ch7_batt': 'wh51_ch7_batt', 'wh51_ch7_sig': 'wh51_ch7_sig', 'wh51_ch8_batt': 'wh51_ch8_batt', 'wh51_ch8_sig': 'wh51_ch8_sig', 'wh51_ch9_batt': 'wh51_ch9_batt', 'wh51_ch9_sig': 'wh51_ch9_sig', 'wh51_ch10_batt': 'wh51_ch10_batt', 'wh51_ch10_sig': 'wh51_ch10_sig', 'wh51_ch11_batt': 'wh51_ch11_batt', 'wh51_ch11_sig': 'wh51_ch11_sig', 'wh51_ch12_batt': 'wh51_ch12_batt', 'wh51_ch12_sig': 'wh51_ch12_sig', 'wh51_ch13_batt': 'wh51_ch13_batt', 'wh51_ch13_sig': 'wh51_ch13_sig', 'wh51_ch14_batt': 'wh51_ch14_batt', 'wh51_ch14_sig': 'wh51_ch14_sig', 'wh51_ch15_batt': 'wh51_ch15_batt', 'wh51_ch15_sig': 'wh51_ch15_sig', 'wh51_ch16_batt': 'wh51_ch16_batt', 'wh51_ch16_sig': 'wh51_ch16_sig', 'wh55_ch1_batt': 'wh55_ch1_batt', 'wh55_ch1_sig': 'wh55_ch1_sig', 'wh55_ch2_batt': 'wh55_ch2_batt', 'wh55_ch2_sig': 'wh55_ch2_sig', 'wh55_ch3_batt': 'wh55_ch3_batt', 'wh55_ch3_sig': 'wh55_ch3_sig', 'wh55_ch4_batt': 'wh55_ch4_batt', 'wh55_ch4_sig': 'wh55_ch4_sig', 'wh57_batt': 'wh57_batt', 'wh57_sig': 'wh57_sig', 'wh65_batt': 'wh65_batt', 'wh65_sig': 'wh65_sig', 'wh68_batt': 'wh68_batt', 'wh68_sig': 'wh68_sig', 'windchill': 'windchill', 'windDir': 'winddir', 'windGust': 'gustspeed', 'windSpeed': 'windspeed', 'wn34_ch1_batt': 'wn34_ch1_batt', 'wn34_ch1_sig': 'wn34_ch1_sig', 'wn34_ch2_batt': 'wn34_ch2_batt', 'wn34_ch2_sig': 'wn34_ch2_sig', 'wn34_ch3_batt': 'wn34_ch3_batt', 'wn34_ch3_sig': 'wn34_ch3_sig', 'wn34_ch4_batt': 'wn34_ch4_batt', 'wn34_ch4_sig': 'wn34_ch4_sig', 'wn34_ch5_batt': 'wn34_ch5_batt', 'wn34_ch5_sig': 'wn34_ch5_sig', 'wn34_ch6_batt': 'wn34_ch6_batt', 'wn34_ch6_sig': 'wn34_ch6_sig', 'wn34_ch7_batt': 'wn34_ch7_batt', 'wn34_ch7_sig': 'wn34_ch7_sig', 'wn34_ch8_batt': 'wn34_ch8_batt', 'wn34_ch8_sig': 'wn34_ch8_sig', 'wn35_ch1_batt': 'wn35_ch1_batt', 'wn35_ch1_sig': 'wn35_ch1_sig', 'wn35_ch2_batt': 'wn35_ch2_batt', 'wn35_ch2_sig': 'wn35_ch2_sig', 'wn35_ch3_batt': 'wn35_ch3_batt', 'wn35_ch3_sig': 'wn35_ch3_sig', 'wn35_ch4_batt': 'wn35_ch4_batt', 'wn35_ch4_sig': 'wn35_ch4_sig', 'wn35_ch5_batt': 'wn35_ch5_batt', 'wn35_ch5_sig': 'wn35_ch5_sig', 'wn35_ch6_batt': 'wn35_ch6_batt', 'wn35_ch6_sig': 'wn35_ch6_sig', 'wn35_ch7_batt': 'wn35_ch7_batt', 'wn35_ch7_sig': 'wn35_ch7_sig', 'wn35_ch8_batt': 'wn35_ch8_batt', 'wn35_ch8_sig': 'wn35_ch8_sig', 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 'ws90_batt': 'ws90_batt', 'ws90_sig': 'ws90_sig', 'yearRain': 't_rainyear'}
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000:      firmware update checks will not occur
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000:      sensor ID decoding will use 'WH32'
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000:      battery state data will be ignored for legacy WH40
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000:      battery state will not be reported for sensors with no signal data
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000:      unknown fields will be ignored
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Sending packet 'FF FF 26 03 29' to 192.168.50.41:45000
Oct 17 15:25:04 fedora-workstation weewx[53506]: Starting weewx: [  OK  ]
Oct 17 15:25:04 fedora-workstation systemd[1]: Started weewx.service - SYSV: start and stop the weewx weather system.
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Received response 'FF FF 26 09 BC FF 4D 1C C0 69 7C'
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Sending packet 'FF FF 50 03 53' to 192.168.50.41:45000
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Received response 'FF FF 50 19 15 45 61 73 79 57 65 61 74 68 65 72 50 72 6F 5F 56 35 2E 31 2E 33'
Oct 17 15:25:04 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Invalid response to attempt 1 to send command 'CMD_READ_FIRMWARE_VERSION': Invalid checksum in API response. Expected '136' (0x88), received '51' (0x33).
Oct 17 15:25:14 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Sending packet 'FF FF 50 03 53' to 192.168.50.41:45000
Oct 17 15:25:14 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Received response 'FF FF 50 19 15 45 61 73 79 57 65 61 74 68 65 72 50 72 6F 5F 56 35 2E 31 2E 33'
Oct 17 15:25:14 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Invalid response to attempt 2 to send command 'CMD_READ_FIRMWARE_VERSION': Invalid checksum in API response. Expected '136' (0x88), received '51' (0x33).
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Sending packet 'FF FF 50 03 53' to 192.168.50.41:45000
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Received response 'FF FF 50 19 15 45 61 73 79 57 65 61 74 68 65 72 50 72 6F 5F 56 35 2E 31 2E 33'
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] DEBUG user.gw1000: Invalid response to attempt 3 to send command 'CMD_READ_FIRMWARE_VERSION': Invalid checksum in API response. Expected '136' (0x88), received '51' (0x33).
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] ERROR user.gw1000: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] ERROR weewx.engine: Import of driver failed: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts (<class 'user.gw1000.GWIOError'>)
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****  Traceback (most recent call last):
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/weewx/engine.py", line 119, in setupStation
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      self.console = loader_function(config_dict, self)
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 1700, in loader
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      return GatewayDriver(**config_dict[DRIVER_NAME])
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 2311, in __init__
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      super(GatewayDriver, self).__init__(**stn_dict)
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 1014, in __init__
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      self.collector = GatewayCollector(ip_address=self.ip_address,
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 2608, in __init__
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      self.device = GatewayDevice(ip_address=ip_address, port=port,
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 6024, in __init__
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      self.api = GatewayApi(ip_address=ip_address,
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 4769, in __init__
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      self.model = self.get_model_from_firmware(self.get_firmware_version())
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 5217, in get_firmware_version
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      response = self.send_cmd_with_retries('CMD_READ_FIRMWARE_VERSION')
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****    File "/usr/share/weewx/user/gw1000.py", line 5454, in send_cmd_with_retries
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****      raise GWIOError(_msg)
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL weewx.engine:     ****  user.gw1000.GWIOError: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL __main__: Unable to load driver: Failed to obtain response to command 'CMD_READ_FIRMWARE_VERSION' after 3 attempts
Oct 17 15:25:24 fedora-workstation python3[53515]: weewx[53515] CRITICAL __main__:     ****  Waiting 60 seconds then retrying...
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO __main__: retrying...
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] DEBUG __main__: Initializing engine
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO weewx.engine: Loading station type GW1000 (user.gw1000)
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000: GatewayDriver: version is 0.6.0b2
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      device address is 192.168.50.41:45000
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      poll interval is 10 seconds
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      max tries is 3, retry wait time is 10 seconds
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      broadcast address is 255.255.255.255:46000, broadcast timeout is 5 seconds
Oct 17 15:26:24 fedora-workstation python3[53515]: weewx[53515] INFO user.gw1000:      socket timeout is 2 seconds

e.  Since both the weewx server and the weather station are on the same network, I'm not sure a firewall wold come into play.  However, I disabled the firewall, no change, nor do I see anything that wold block the local network.
f.  Not sure what "bound to" means in this context, but according to the router, it understands bot th eIP and MAC to belong to the weewx access point.



FWIW, running weewxd from the command line never outputs any thing.
weewx.conf

gjr80

unread,
Oct 17, 2023, 6:27:07 PM10/17/23
to weewx-user
My apologies, sometime life gets in the road of hobbies and around here hobbies take a back seat :)

I will need to sit down and look at the responses in detail, but on the face of it this is not a network/router/firewall issue but either a gateway device or driver issue. There was some re-factoring of some code in putting together v0.6.0, but nothing that altered the checksum coding. I need some time to sit down and decipher the responses to see where the issue is. I should have some time over the next two days.

Gary

Rainer Lang

unread,
Oct 17, 2023, 6:38:03 PM10/17/23
to weewx...@googlegroups.com

it appears that the console you are connected to (IP 192.168.50.41) is NOT a console with the Ecowitt local Gateway API (aka GW1000 API) but another console
with the WiFi firmware EasyWeatherPro_V5.1.3

e.g. a HP25x0 console with the new WiFi modem.

Therefore the GW1000/Ecowitt API driver cannot get a proper response resp. misreads the API response as this console doesn't have the Ecowitt Gateway API.

I suggest that you connect a GW1x00/GW2000 gateway (if you have one).
Otherwise you will need to the extended version of the Interceptor driver

Dale Chatham

unread,
Oct 17, 2023, 7:53:00 PM10/17/23
to weewx-user
Thank you.  I think I'm a lot closer now:
python -m user.gw1000 --test-driver
Using configuration file /etc/weewx/weewx.conf
debug level is '3'

IP address obtained from station config
Port number obtained from station config

Battery state filtering is 'False' (using the default)
/usr/share/weewx/user/gw1000.py:2751: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
  self.thread.setDaemon(True)
/usr/share/weewx/user/gw1000.py:2752: DeprecationWarning: setName() is deprecated, set the name attribute instead
  self.thread.setName('GatewayCollectorThread')

Interrogating GW2000 at 192.168.50.143:45000

2023-10-17 18:46:29 CDT (1697586389): 'dateTime': '1697586389', 'daymaxwind': '0.8', 'inHumidity': '36', 'inTemp': '27.4', 'lightning_distance': 'None', 'lightning_last_det_time': 'None', 'lightning_strike_count': 'None', 'lightningcount': '0', 'luminosity': '850.0', 'outHumidity': '33', 'outTemp': '20.3', 'p_dayRain': '0.0', 'p_monthRain': '0.0', 'p_rain': 'None', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.0', 'p_yearRain': '0.0', 'pressure': '994.1', 'relbarometer': '994.1', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'wh57_batt': '5', 'wh57_sig': '4', 'windDir': '44', 'windGust': '0.5', 'windSpeed': '0.0', 'ws90_batt': '3.16', 'ws90_sig': '4'
2023-10-17 18:46:39 CDT (1697586399): 'dateTime': '1697586399', 'daymaxwind': '0.8', 'inHumidity': '36', 'inTemp': '27.4', 'lightning_distance': 'None', 'lightning_last_det_time': 'None', 'lightning_strike_count': '0', 'lightningcount': '0', 'luminosity': '830.0', 'outHumidity': '34', 'outTemp': '20.3', 'p_dayRain': '0.0', 'p_monthRain': '0.0', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.0', 'p_yearRain': '0.0', 'pressure': '994.1', 'relbarometer': '994.1', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'wh57_batt': '5', 'wh57_sig': '4', 'windDir': '79', 'windGust': '0.5', 'windSpeed': '0.0', 'ws90_batt': '3.16', 'ws90_sig': '4'

systemctl restart weewx
[root@fedora-workstation weewx]# python -m user.gw1000 --test-driver
Using configuration file /etc/weewx/weewx.conf
debug level is '3'

IP address obtained from station config
Port number obtained from station config

Battery state filtering is 'False' (using the default)
/usr/share/weewx/user/gw1000.py:2751: DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead
  self.thread.setDaemon(True)
/usr/share/weewx/user/gw1000.py:2752: DeprecationWarning: setName() is deprecated, set the name attribute instead
  self.thread.setName('GatewayCollectorThread')

Interrogating GW2000 at 192.168.50.143:45000

2023-10-17 18:48:08 CDT (1697586488): 'dateTime': '1697586488', 'daymaxwind': '0.8', 'inHumidity': '36', 'inTemp': '27.4', 'lightning_distance': 'None', 'lightning_last_det_time': 'None', 'lightning_strike_count': 'None', 'lightningcount': '0', 'luminosity': '730.0', 'outHumidity': '34', 'outTemp': '20.2', 'p_dayRain': '0.0', 'p_monthRain': '0.0', 'p_rain': 'None', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.0', 'p_yearRain': '0.0', 'pressure': '993.9', 'relbarometer': '993.9', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'wh57_batt': '5', 'wh57_sig': '4', 'windDir': '76', 'windGust': '0.0', 'windSpeed': '0.0', 'ws90_batt': '3.16', 'ws90_sig': '4'
2023-10-17 18:48:18 CDT (1697586498): 'dateTime': '1697586498', 'daymaxwind': '0.8', 'inHumidity': '36', 'inTemp': '27.4', 'lightning_distance': 'None', 'lightning_last_det_time': 'None', 'lightning_strike_count': '0', 'lightningcount': '0', 'luminosity': '720.0', 'outHumidity': '34', 'outTemp': '20.2', 'p_dayRain': '0.0', 'p_monthRain': '0.0', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.0', 'p_yearRain': '0.0', 'pressure': '993.9', 'relbarometer': '993.9', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'wh57_batt': '5', 'wh57_sig': '4', 'windDir': '76', 'windGust': '0.0', 'windSpeed': '0.0', 'ws90_batt': '3.16', 'ws90_sig': '4'
2023-10-17 18:48:28 CDT (1697586508): 'dateTime': '1697586508', 'daymaxwind': '0.8', 'inHumidity': '36', 'inTemp': '27.4', 'lightning_distance': 'None', 'lightning_last_det_time': 'None', 'lightning_strike_count': '0', 'lightningcount': '0', 'luminosity': '710.0', 'outHumidity': '34', 'outTemp': '20.2', 'p_dayRain': '0.0', 'p_monthRain': '0.0', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0', 'p_weekRain': '0.0', 'p_yearRain': '0.0', 'pressure': '993.9', 'relbarometer': '993.9', 'usUnits': '17', 'UV': '0', 'uvradiation': '0.0', 'wh57_batt': '5', 'wh57_sig': '4', 'windDir': '76', 'windGust': '0.0', 'windSpeed': '0.0', 'ws90_batt': '3.16', 'ws90_sig': '4'

Dale Chatham

unread,
Oct 17, 2023, 7:53:38 PM10/17/23
to weewx-user
This looks like the final program.  It appears to be getting data, but the web page is n ever updated:

Oct 17 18:52:20 fedora-workstation systemd[1]: Stopping weewx.service - SYSV: start and stop the weewx weather system...
Oct 17 18:52:20 fedora-workstation weewx[56295]: Shutting down weewx: [FAILED]
Oct 17 18:52:20 fedora-workstation systemd[1]: weewx.service: Deactivated successfully.
Oct 17 18:52:20 fedora-workstation systemd[1]: Stopped weewx.service - SYSV: start and stop the weewx weather system.
Oct 17 18:52:20 fedora-workstation systemd[1]: Starting weewx.service - SYSV: start and stop the weewx weather system...
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Initializing weewx version 4.10.2
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Using Python 3.11.6 (main, Oct  3 2023, 00:00:00) [GCC 13.2.1 20230728 (Red Hat 13.2.1-1)]
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Located at /bin/python3
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Platform Linux-6.5.6-200.fc38.x86_64-x86_64-with-glibc2.37
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Locale is 'en_US.UTF-8'
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: Debug is 3
Oct 17 18:52:20 fedora-workstation python3[56313]: weewx[56313] INFO __main__: PID file is /var/run/weewx.pid
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG __main__: Initializing engine
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO weewx.engine: Loading station type GW1000 (user.gw1000)
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000: GatewayDriver: version is 0.6.0b2
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      device address is 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      poll interval is 10 seconds
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      max tries is 3, retry wait time is 10 seconds
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      broadcast address is 255.255.255.255:46000, broadcast timeout is 5 seconds
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      socket timeout is 2 seconds
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      field map is {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 'daymaxwind': 'daymaxwind', 'dayRain': 't_rainday', 'dewpoint': 'dewpoint', 'extraHumid1': 'humid1', 'extraHumid2': 'humid2', 'extraHumid3': 'humid3', 'extraHumid4': 'humid4', 'extraHumid5': 'humid5', 'extraHumid6': 'humid6', 'extraHumid7': 'humid7', 'extraHumid8': 'humid8', 'extraHumid17': 'humid17', 'extraTemp1': 'temp1', 'extraTemp2': 'temp2', 'extraTemp3': 'temp3', 'extraTemp4': 'temp4', 'extraTemp5': 'temp5', 'extraTemp6': 'temp6', 'extraTemp7': 'temp7', 'extraTemp8': 'temp8', 'extraTemp9': 'temp9', 'extraTemp10': 'temp10', 'extraTemp11': 'temp11', 'extraTemp12': 'temp12', 'extraTemp13': 'temp13', 'extraTemp14': 'temp14', 'extraTemp15': 'temp15', 'extraTemp16': 'temp16', 'extraTemp17': 'temp17', 'heatindex': 'heatindex', 'inHumidity': 'inhumid', 'inTemp': 'intemp', 'leafWet1': 'leafwet1', 'leafWet2': 'leafwet2', 'leafWet3': 'leafwet3', 'leafWet4': 'leafwet4', 'leafWet5': 'leafwet5', 'leafWet6': 'leafwet6', 'leafWet7': 'leafwet7', 'leafWet8': 'leafwet8', 'leak1': 'leak1', 'leak2': 'leak2', 'leak3': 'leak3', 'leak4': 'leak4', 'lightning_distance': 'lightningdist', 'lightning_last_det_time': 'lightningdettime', 'lightning_strike_count': 'lightning_strike_count', 'lightningcount': 'lightningcount', 'luminosity': 'light', 'monthRain': 't_rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', 'p_dayRain': 'p_rainday', 'p_monthRain': 'p_rainmonth', 'p_rain': 'p_rain', 'p_rainRate': 'p_rainrate', 'p_stormRain': 'p_rainevent', 'p_weekRain': 'p_rainweek', 'p_yearRain': 'p_rainyear', 'pm2_5': 'pm251', 'pm2_51_24h_avg': 'pm251_24h_avg', 'pm2_52': 'pm252', 'pm2_52_24h_avg': 'pm252_24h_avg', 'pm2_53': 'pm253', 'pm2_53_24h_avg': 'pm253_24h_avg', 'pm2_54': 'pm254', 'pm2_54_24h_avg': 'pm254_24h_avg', 'pm2_55': 'pm255', 'pm2_55_24h_avg': 'pm255_24h_avg', 'pm10': 'pm10', 'pm10_24h_avg': 'pm10_24h_avg', 'pressure': 'absbarometer', 'rain': 't_rain', 'rainRate': 't_rainrate', 'relbarometer': 'relbarometer', 'soilMoist1': 'soilmoist1', 'soilMoist2': 'soilmoist2', 'soilMoist3': 'soilmoist3', 'soilMoist4': 'soilmoist4', 'soilMoist5': 'soilmoist5', 'soilMoist6': 'soilmoist6', 'soilMoist7': 'soilmoist7', 'soilMoist8': 'soilmoist8', 'soilMoist9': 'soilmoist9', 'soilMoist10': 'soilmoist10', 'soilMoist11': 'soilmoist11', 'soilMoist12': 'soilmoist12', 'soilMoist13': 'soilmoist13', 'soilMoist14': 'soilmoist14', 'soilMoist15': 'soilmoist15', 'soilMoist16': 'soilmoist16', 'soilTemp1': 'soiltemp1', 'soilTemp2': 'soiltemp2', 'soilTemp3': 'soiltemp3', 'soilTemp4': 'soiltemp4', 'soilTemp5': 'soiltemp5', 'soilTemp6': 'soiltemp6', 'soilTemp7': 'soiltemp7', 'soilTemp8': 'soiltemp8', 'soilTemp9': 'soiltemp9', 'soilTemp10': 'soiltemp10', 'soilTemp11': 'soiltemp11', 'soilTemp12': 'soiltemp12', 'soilTemp13': 'soiltemp13', 'soilTemp14': 'soiltemp14', 'soilTemp15': 'soiltemp15', 'soilTemp16': 'soiltemp16', 'stormRain': 't_rainevent', 'totalRain': 't_raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 't_rainweek', 'wh24_batt': 'wh24_batt', 'wh24_sig': 'wh24_sig', 'wh25_batt': 'wh25_batt', 'wh25_sig': 'wh25_sig', 'wh26_batt': 'wh26_batt', 'wh26_sig': 'wh26_sig', 'wh31_ch1_batt': 'wh31_ch1_batt', 'wh31_ch1_sig': 'wh31_ch1_sig', 'wh31_ch2_batt': 'wh31_ch2_batt', 'wh31_ch2_sig': 'wh31_ch2_sig', 'wh31_ch3_batt': 'wh31_ch3_batt', 'wh31_ch3_sig': 'wh31_ch3_sig', 'wh31_ch4_batt': 'wh31_ch4_batt', 'wh31_ch4_sig': 'wh31_ch4_sig', 'wh31_ch5_batt': 'wh31_ch5_batt', 'wh31_ch5_sig': 'wh31_ch5_sig', 'wh31_ch6_batt': 'wh31_ch6_batt', 'wh31_ch6_sig': 'wh31_ch6_sig', 'wh31_ch7_batt': 'wh31_ch7_batt', 'wh31_ch7_sig': 'wh31_ch7_sig', 'wh31_ch8_batt': 'wh31_ch8_batt', 'wh31_ch8_sig': 'wh31_ch8_sig', 'wh32_batt': 'wh32_batt', 'wh32_sig': 'wh32_sig', 'wh40_batt': 'wh40_batt', 'wh40_sig': 'wh40_sig', 'wh41_ch1_batt': 'wh41_ch1_batt', 'wh41_ch1_sig': 'wh41_ch1_sig', 'wh41_ch2_batt': 'wh41_ch2_batt', 'wh41_ch2_sig': 'wh41_ch2_sig', 'wh41_ch3_batt': 'wh41_ch3_batt', 'wh41_ch3_sig': 'wh41_ch3_sig', 'wh41_ch4_batt': 'wh41_ch4_batt', 'wh41_ch4_sig': 'wh41_ch4_sig', 'wh45_batt': 'wh45_batt', 'wh45_sig': 'wh45_sig', 'wh51_ch1_batt': 'wh51_ch1_batt', 'wh51_ch1_sig': 'wh51_ch1_sig', 'wh51_ch2_batt': 'wh51_ch2_batt', 'wh51_ch2_sig': 'wh51_ch2_sig', 'wh51_ch3_batt': 'wh51_ch3_batt', 'wh51_ch3_sig': 'wh51_ch3_sig', 'wh51_ch4_batt': 'wh51_ch4_batt', 'wh51_ch4_sig': 'wh51_ch4_sig', 'wh51_ch5_batt': 'wh51_ch5_batt', 'wh51_ch5_sig': 'wh51_ch5_sig', 'wh51_ch6_batt': 'wh51_ch6_batt', 'wh51_ch6_sig': 'wh51_ch6_sig', 'wh51_ch7_batt': 'wh51_ch7_batt', 'wh51_ch7_sig': 'wh51_ch7_sig', 'wh51_ch8_batt': 'wh51_ch8_batt', 'wh51_ch8_sig': 'wh51_ch8_sig', 'wh51_ch9_batt': 'wh51_ch9_batt', 'wh51_ch9_sig': 'wh51_ch9_sig', 'wh51_ch10_batt': 'wh51_ch10_batt', 'wh51_ch10_sig': 'wh51_ch10_sig', 'wh51_ch11_batt': 'wh51_ch11_batt', 'wh51_ch11_sig': 'wh51_ch11_sig', 'wh51_ch12_batt': 'wh51_ch12_batt', 'wh51_ch12_sig': 'wh51_ch12_sig', 'wh51_ch13_batt': 'wh51_ch13_batt', 'wh51_ch13_sig': 'wh51_ch13_sig', 'wh51_ch14_batt': 'wh51_ch14_batt', 'wh51_ch14_sig': 'wh51_ch14_sig', 'wh51_ch15_batt': 'wh51_ch15_batt', 'wh51_ch15_sig': 'wh51_ch15_sig', 'wh51_ch16_batt': 'wh51_ch16_batt', 'wh51_ch16_sig': 'wh51_ch16_sig', 'wh55_ch1_batt': 'wh55_ch1_batt', 'wh55_ch1_sig': 'wh55_ch1_sig', 'wh55_ch2_batt': 'wh55_ch2_batt', 'wh55_ch2_sig': 'wh55_ch2_sig', 'wh55_ch3_batt': 'wh55_ch3_batt', 'wh55_ch3_sig': 'wh55_ch3_sig', 'wh55_ch4_batt': 'wh55_ch4_batt', 'wh55_ch4_sig': 'wh55_ch4_sig', 'wh57_batt': 'wh57_batt', 'wh57_sig': 'wh57_sig', 'wh65_batt': 'wh65_batt', 'wh65_sig': 'wh65_sig', 'wh68_batt': 'wh68_batt', 'wh68_sig': 'wh68_sig', 'windchill': 'windchill', 'windDir': 'winddir', 'windGust': 'gustspeed', 'windSpeed': 'windspeed', 'wn34_ch1_batt': 'wn34_ch1_batt', 'wn34_ch1_sig': 'wn34_ch1_sig', 'wn34_ch2_batt': 'wn34_ch2_batt', 'wn34_ch2_sig': 'wn34_ch2_sig', 'wn34_ch3_batt': 'wn34_ch3_batt', 'wn34_ch3_sig': 'wn34_ch3_sig', 'wn34_ch4_batt': 'wn34_ch4_batt', 'wn34_ch4_sig': 'wn34_ch4_sig', 'wn34_ch5_batt': 'wn34_ch5_batt', 'wn34_ch5_sig': 'wn34_ch5_sig', 'wn34_ch6_batt': 'wn34_ch6_batt', 'wn34_ch6_sig': 'wn34_ch6_sig', 'wn34_ch7_batt': 'wn34_ch7_batt', 'wn34_ch7_sig': 'wn34_ch7_sig', 'wn34_ch8_batt': 'wn34_ch8_batt', 'wn34_ch8_sig': 'wn34_ch8_sig', 'wn35_ch1_batt': 'wn35_ch1_batt', 'wn35_ch1_sig': 'wn35_ch1_sig', 'wn35_ch2_batt': 'wn35_ch2_batt', 'wn35_ch2_sig': 'wn35_ch2_sig', 'wn35_ch3_batt': 'wn35_ch3_batt', 'wn35_ch3_sig': 'wn35_ch3_sig', 'wn35_ch4_batt': 'wn35_ch4_batt', 'wn35_ch4_sig': 'wn35_ch4_sig', 'wn35_ch5_batt': 'wn35_ch5_batt', 'wn35_ch5_sig': 'wn35_ch5_sig', 'wn35_ch6_batt': 'wn35_ch6_batt', 'wn35_ch6_sig': 'wn35_ch6_sig', 'wn35_ch7_batt': 'wn35_ch7_batt', 'wn35_ch7_sig': 'wn35_ch7_sig', 'wn35_ch8_batt': 'wn35_ch8_batt', 'wn35_ch8_sig': 'wn35_ch8_sig', 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 'ws90_batt': 'ws90_batt', 'ws90_sig': 'ws90_sig', 'yearRain': 't_rainyear'}
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000:      firmware update checks will not occur
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000:      sensor ID decoding will use 'WH32'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000:      battery state data will be ignored for legacy WH40
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000:      battery state will not be reported for sensors with no signal data
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000:      unknown fields will be ignored
Oct 17 18:52:20 fedora-workstation weewx[56306]: Starting weewx: [  OK  ]
Oct 17 18:52:20 fedora-workstation systemd[1]: Started weewx.service - SYSV: start and stop the weewx weather system.
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 26 03 29' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 26 09 94 3C C6 44 5F 77 DF'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 50 03 53' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 50 12 0E 47 57 32 30 30 30 42 5F 56 32 2E 31 2E 33 B9'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 30 03 33' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 30 0B 02 01 65 2E D7 E4 13 01 A0'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 3C 03 3F' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 3C 01 5B 00 FF FF FF FF FF 00 01 FF FF FF FF FF 00 02 FF FF FF FF FF 00 03 FF FF FF FF 1F 00 04 FF FF FF FF 00 00 05 FF FF FF FF 00 00 06 FF FF FF FF 00 00 07 FF FF FF FF 00 00 08 FF FF FF FF 00 00 09 FF FF FF FF 00 00 0A FF FF FF FF 00 00 0B FF FF FF FF 00 00 0C FF FF FF FF 00 00 0D FF FF FF FF 00 00 0E FF FF FF FF 1F 00 0F FF FF FF FF 1F 00 10 FF FF FF FF 1F 00 11 FF FF FF FF 1F 00 12 FF FF FF FF 1F 00 13 FF FF FF FF 1F 00 14 FF FF FF FF 1F 00 15 FF FF FF FF 1F 00 16 FF FF FF FF 0F 00 17 FF FF FF FF 0F 00 18 FF FF FF FF 0F 00 19 FF FF FF FF 0F 00 1A 00 01 0D 71 05 04 1B FF FF FF FF 0F 00 1C FF FF FF FF 0F 00 1D FF FF FF FF 0F 00 1E FF FF FF FF 0F 00 1F FF FF FF FF FF 00 20 FF FF FF FF FF 00 21 FF FF FF FF FF 00 22 FF FF FF FF FF 00 23 FF FF FF FF FF 00 24 FF FF FF FF FF 00 25 FF FF FF FF FF 00 26 FF FF FF FF FF 00 27 FF FF FF FF 0F 00 28 FF FF FF FF FF 00 29 FF FF FF FF FF 00 2A FF FF FF FF FF 00 2B FF FF FF FF FF 00 2C FF FF FF FF FF 00 2D FF FF FF FF FF 00 2E FF FF FF FF FF 00 2F FF FF FF FF FF 00 30 00 00 34 81 9E 04 DE'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG weewx.engine: Loading service user.gw1000.GatewayService
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000: GatewayService: version is 0.6.0b2
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000:      max age of API data to be used is 60 seconds
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 27 03 2A' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 27 00 36 01 01 13 06 24 08 26 D1 09 26 D1 02 00 C7 07 22 0A 00 4C 0B 00 00 0C 00 00 15 00 00 12 C0 16 00 00 17 00 62 00 00 00 00 61 FF FF FF FF 60 FF 19 00 08 4D'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 57 03 5A' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 57 00 37 80 00 00 83 00 00 00 00 84 00 00 00 00 85 00 00 00 00 86 00 00 00 00 81 00 00 87 00 64 00 64 00 64 00 64 00 64 00 64 00 64 00 64 00 64 00 64 88 00 00 00 98'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Parsed data: {'intemp': 27.5, 'inhumid': 36, 'absbarometer': 993.7, 'relbarometer': 993.7, 'outtemp': 19.9, 'outhumid': 34, 'winddir': 76, 'windspeed': 0.0, 'gustspeed': 0.0, 'light': 480.0, 'uv': 0.0, 'uvi': 0, 'lightningcount': 0, 'lightningdettime': None, 'lightningdist': None, 'daymaxwind': 0.8, 'datetime': 1697586740, 'p_rainrate': 0.0, 'p_rainday': 0.0, 'p_rainweek': 0.0, 'p_rainmonth': 0.0, 'p_rainyear': 0.0, 'p_rainevent': 0.0, 'gain0': 1.0, 'gain1': 1.0, 'gain2': 1.0, 'gain3': 1.0, 'gain4': 1.0, 'gain5': 1.0, 'gain6': 1.0, 'gain7': 1.0, 'gain8': 1.0, 'gain9': 1.0, 'day_reset': 0, 'week_reset': 0, 'annual_reset': 0}
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Sending packet 'FF FF 3C 03 3F' to 192.168.50.143:45000
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Received response 'FF FF 3C 01 5B 00 FF FF FF FF FF 00 01 FF FF FF FF FF 00 02 FF FF FF FF FF 00 03 FF FF FF FF 1F 00 04 FF FF FF FF 00 00 05 FF FF FF FF 00 00 06 FF FF FF FF 00 00 07 FF FF FF FF 00 00 08 FF FF FF FF 00 00 09 FF FF FF FF 00 00 0A FF FF FF FF 00 00 0B FF FF FF FF 00 00 0C FF FF FF FF 00 00 0D FF FF FF FF 00 00 0E FF FF FF FF 1F 00 0F FF FF FF FF 1F 00 10 FF FF FF FF 1F 00 11 FF FF FF FF 1F 00 12 FF FF FF FF 1F 00 13 FF FF FF FF 1F 00 14 FF FF FF FF 1F 00 15 FF FF FF FF 1F 00 16 FF FF FF FF 0F 00 17 FF FF FF FF 0F 00 18 FF FF FF FF 0F 00 19 FF FF FF FF 0F 00 1A 00 01 0D 71 05 04 1B FF FF FF FF 0F 00 1C FF FF FF FF 0F 00 1D FF FF FF FF 0F 00 1E FF FF FF FF 0F 00 1F FF FF FF FF FF 00 20 FF FF FF FF FF 00 21 FF FF FF FF FF 00 22 FF FF FF FF FF 00 23 FF FF FF FF FF 00 24 FF FF FF FF FF 00 25 FF FF FF FF FF 00 26 FF FF FF FF FF 00 27 FF FF FF FF 0F 00 28 FF FF FF FF FF 00 29 FF FF FF FF FF 00 2A FF FF FF FF FF 00 2B FF FF FF FF FF 00 2C FF FF FF FF FF 00 2D FF FF FF FF FF 00 2E FF FF FF FF FF 00 2F FF FF FF FF FF 00 30 00 00 34 81 9E 04 DE'
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Processed parsed data: {'intemp': 27.5, 'inhumid': 36, 'absbarometer': 993.7, 'relbarometer': 993.7, 'outtemp': 19.9, 'outhumid': 34, 'winddir': 76, 'windspeed': 0.0, 'gustspeed': 0.0, 'light': 480.0, 'uv': 0.0, 'uvi': 0, 'lightningcount': 0, 'lightningdettime': None, 'lightningdist': None, 'daymaxwind': 0.8, 'datetime': 1697586740, 'p_rainrate': 0.0, 'p_rainday': 0.0, 'p_rainweek': 0.0, 'p_rainmonth': 0.0, 'p_rainyear': 0.0, 'p_rainevent': 0.0, 'gain0': 1.0, 'gain1': 1.0, 'gain2': 1.0, 'gain3': 1.0, 'gain4': 1.0, 'gain5': 1.0, 'gain6': 1.0, 'gain7': 1.0, 'gain8': 1.0, 'gain9': 1.0, 'day_reset': 0, 'week_reset': 0, 'annual_reset': 0, 'wh57_batt': 5, 'wh57_sig': 4, 'ws90_batt': 3.16, 'ws90_sig': 4}
Oct 17 18:52:20 fedora-workstation python3[56316]: weewx[56316] DEBUG user.gw1000: Next update in 10 seconds
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] INFO user.gw1000: GatewayCollector thread has been terminated
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__: Caught unrecoverable exception:
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****  'GatewayService' object has no attribute 'field_map'
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****  Traceback (most recent call last):
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****    File "/usr/share/weewx/weewxd", line 148, in main
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****      engine = weewx.engine.StdEngine(config_dict)
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 93, in __init__
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****      self.loadServices(config_dict)
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****    File "/usr/share/weewx/weewx/engine.py", line 161, in loadServices
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****      obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****    File "/usr/share/weewx/user/gw1000.py", line 1389, in __init__
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****      loginf('     field map is %s' % natural_sort_dict(self.field_map))
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****                                                        ^^^^^^^^^^^^^^
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****  AttributeError: 'GatewayService' object has no attribute 'field_map'
Oct 17 18:52:21 fedora-workstation python3[56316]: weewx[56316] CRITICAL __main__:     ****  Exiting.
Oct 17 18:52:21 fedora-workstation python3[56316]: detected unhandled Python exception in '/usr/share/weewx/weewxd'



Rainer Lang

unread,
Oct 18, 2023, 2:13:09 AM10/18/23
to weewx...@googlegroups.com

before you continue - would you mind updating your GW2000 firmware to the most recent version !
Your firmware is 2.1.3, an ancient version from the early times, while the most recent firmware is 3.0.8
I trust you know how to do this with either WS View Plus or the WebUI ...
And then we can take it from there ...

and
rather than providing a weewx.conf snippet (I thought I mentioned before that snippets are usually not very helpful),
can you please provide us with your complete weewx.conf

Rainer Lang

unread,
Oct 18, 2023, 12:51:30 PM10/18/23
to Rainer Lang, weewx...@googlegroups.com

to complete the thread for other readers' sake - there were two issues - meanwhile corrected and weewx works as expected

1. the user was using a wrong IP address - behind the 1st IP address was a console without the local Ecowitt Gateway API (a HP25x0)
=> only the WiFi firmware version was fed back but the Ecowitt Gateway driver could not retrieve data
that corrected to the IP address of a console with the local Ecowitt Gatewa API (a GW2000), the driver worked properly

2. weewx crashed due a wrong (probably manually added) entry in the [Engine] stanza in weewx.conf
once removed weewx stopped crashing and works now as expected

@Gary: no driver issue 😎

Reply all
Reply to author
Forward
0 new messages