When I configure like so
[GW1000]
debug_loop = True
# This section is for the Ecowitt Gateway driver.
# How often to poll the API, default is every 20 seconds:
poll_interval = 10
ip_address = 10.0.1.85
max_tries = 360
# The driver to use:
driver = user.gw1000
[GW1000Service]
*debug_loop = True*
# This section is for the Ecowitt Gateway driver.
# How often to poll the API, default is every 20 seconds:
poll_interval = 10
ip_address = 10.0.1.86
max_tries = 360
# The driver to use:
driver = user.gw1000
[[field_map]]
ws90_windDir = winddir
ws90_windSpeed = windspeed
ws90_windGust = gustspeed
ws90_daymaxwind = daymaxwind
ws90_uvradiation = uv
ws90_UV = uvi
ws90_luminosity = light
p_rain = p_rain
p_stormRain = p_rainevent
p_rainRate = p_rainrate
p_dayRain = p_rainday
p_weekRain = p_rainweek
p_monthRain = p_rainmonth
p_yearRain = p_rainyear
WeeWX exits with
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Initializing weewxd version
5.0.0
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Command line:
/home/pi/weewx-venv/bin/weewxd
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Using Python 3.9.2
(default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110]
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Located at
/home/pi/weewx-venv/bin/python3
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Platform
Linux-6.1.42-v8+-aarch64-with-glibc2.31
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Locale: 'de_AT.UTF-8'
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Entry path:
/home/pi/weewx-venv/lib/python3.9/site-packages/weewxd.py
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: WEEWX_ROOT:
/home/pi/weewx-data
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Configuration file:
/home/pi/weewx-data/weewx.conf
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: User module:
/home/pi/weewx-data/bin/user
2024-01-22 19:49:48 weewxd[119797] INFO weewxd: Debug: 0
2024-01-22 19:49:48 weewxd[119797] INFO weewx.engine: Loading station type
GW1000 (user.gw1000)
2024-01-22 19:49:48 weewxd[119797] INFO user.gw1000: GatewayDriver: version
is 0.6.0b2
2024-01-22 19:49:48 weewxd[119797] INFO user.gw1000: device address is
10.0.1.85:45000
2024-01-22 19:49:48 weewxd[119797] INFO user.gw1000: poll interval is
10 seconds
2024-01-22 19:49:48 weewxd[119797] INFO user.gw1000: GatewayService:
version is 0.6.0b2
2024-01-22 19:49:48 weewxd[119797] INFO user.gw1000: max age of API
data to be used is 60 seconds
2024-01-22 19:49:50 weewxd[119797] INFO user.gw1000: GatewayCollector
thread has been terminated
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: Caught unrecoverable
exception:
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: ****
'GatewayService' object has no attribute 'field_map'
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** Traceback
(most recent call last):
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** File
"/home/pi/weewx-venv/lib/python3.9/site-packages/weewxd.py", line 160, in
main
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** engine =
weewx.engine.StdEngine(config_dict)
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** File
"/home/pi/weewx-venv/lib/python3.9/site-packages/weewx/engine.py", line 89,
in __init__
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: ****
self.loadServices(config_dict)
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** File
"/home/pi/weewx-venv/lib/python3.9/site-packages/weewx/engine.py", line
157, in loadServices
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** obj =
weeutil.weeutil.get_object(svc)(self, config_dict)
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** File
"/home/pi/weewx-data/bin/user/gw1000.py", line 1389, in __init__
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** loginf('
field map is %s' % natural_sort_dict(self.field_map))
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: ****
AttributeError: 'GatewayService' object has no attribute 'field_map'
2024-01-22 19:49:50 weewxd[119797] CRITICAL weewxd: **** Exiting.
It is happening when this is configured, (not when in [GW1000]):
[GW1000Service]
*debug_loop = True*
gjr80 schrieb am Montag, 22. Januar 2024 um 12:21:22 UTC+1:
> Without seeing some logs it's hard to say much more than some general
> comments. I would suggest leaving debug = 0, but set debug_loop = True
> under both [GW1000] and [GW1000Service] stanzas in weewx.conf. Restart
> WeeWX,. This will log the field maps in use as well as a lot of packets in
> various states of processing. Just post a log extract showing the full
> WeeWX start up and a few loop packets (by a few loop packets I mean around
> 30 seconds of log). This should give a clear indication of what is going on.
>
> Gary
>
> On Monday 22 January 2024 at 17:11:56 UTC+10 [email protected] wrote:
>
>> Here is what I've observed, I can't tell if everything is an issue or if
>> it is working as designed. (What I am trying to achieve, I will post in
>> another reply)
>>
>> I've configured an instance which reads from one GW2000 device (receiving
>> from a WS68 sensor array) configured as driver, and another GW2000
>> device (receiving from a WS90 sensor array) as service. I've configured
>> both with the same poll_interval:
>>
>> [GW1000] #WS68
>> # This section is for the Ecowitt Gateway driver.
>>
>> # How often to poll the API, default is every 20 seconds:
>> poll_interval = 10
>> ip_address = 10.0.1.85
>> max_tries = 360
>>
>> # The driver to use:
>> driver = user.gw1000
>>
>> [GW1000Service] #WS90
>> # This section is for the Ecowitt Gateway driver.
>>
>> # How often to poll the API, default is every 20 seconds:
>> poll_interval = 10
>> ip_address = 10.0.1.86
>> max_tries = 360
>>
>> # The driver to use:
>> driver = user.gw1000
>>
>> [[field_map]]
>> ws90_windDir = winddir
>> ws90_windSpeed = windspeed
>> ws90_windGust = gustspeed
>> ws90_daymaxwind = daymaxwind
>> ws90_uvradiation = uv
>> ws90_UV = uvi
>> ws90_luminosity = light
>> p_rain = p_rain
>> p_stormRain = p_rainevent
>> p_rainRate = p_rainrate
>> p_dayRain = p_rainday
>> p_weekRain = p_rainweek
>> p_monthRain = p_rainmonth
>> p_yearRain = p_rainyear
>>
>> Starting weewxd, there is one LOOP every 10 Seconds, it seems it is
>> containing values from the device configured in [GW1000Service] including
>> the values from [[field_map]], which I didn't expect from skimming
>> through the driver's code. In my understanding [[field_map]] replaces
>> the default field map, leading to a LOOP packet only containing the
>> configured [[field_map]], but obviously I was wrong :) :
>>
>> LOOP: 2024-01-22 06:16:03 CET (1705900563) 'altimeter':
>> '1025.4477187548832', 'appTemp': '-6.253423533619011', 'barometer':
>> '1028.5013923390995', 'cloudbase': '1041.4809012741189', 'dateTime':
>> '1705900563', 'daymaxwind': '6.6', 'dayRain': '0.0', 'dewpoint':
>> '-6.533418604408247', 'ET': 'None', 'extraHumid6': '59', 'extraHumid7':
>> '61', 'extraHumid8': '57', 'extraTemp6': '14.7', 'extraTemp7': '20.5',
>> 'extraTemp8': '21.3', 'heatindex': '-1.5999999999999994', 'humidex':
>> '-1.6', 'inDewpoint': '9.08853654596964', 'inHumidity': '51', 'inTemp':
>> '19.5', 'lightning_distance': 'None', 'lightning_last_det_time':
>> '1705345360', 'lightning_strike_count': '0', 'lightningcount': '0',
>> 'luminosity': '0.0', 'maxSolarRad': '0.0', 'monthRain': '50.4',
>> 'outHumidity': '69', 'outTemp': '-1.6', 'p_dayRain': '0.0', 'p_monthRain':
>> '26.5', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0',
>> 'p_weekRain': '0.0', 'p_yearRain': '26.5', 'pressure': '973.1',
>> 'radiation': '0.0', 'rain': '0.0', 'rainRate': '0.0', 'relbarometer':
>> '1025.9', 'stormRain': '0.0', 'usUnits': '17', 'UV': '0', 'uvradiation':
>> '0.0', 'weekRain': '0.0', 'wh31_ch6_batt': '0', 'wh31_ch6_sig': '4',
>> 'wh31_ch7_batt': '0', 'wh31_ch7_sig': '4', 'wh31_ch8_batt': '0',
>> 'wh31_ch8_sig': '4', 'wh32_batt': '0', 'wh32_sig': '4', 'wh40_batt':
>> '1.44', 'wh40_sig': '4', 'wh57_batt': '5', 'wh57_sig': '4', 'windchill':
>> '-5.128915747986651', 'windDir': '206', 'windGust': '4.2', 'windrun':
>> 'None', 'windSpeed': '2.7', '*ws90_batt*': '3.28', 'ws90_daymaxwind':
>> '7.7', 'ws90_luminosity': '0.0', 'ws90_sig': '4', 'ws90_UV': '0',
>> 'ws90_uvradiation': '0.0', '*ws90_windDir*': '206', 'ws90_windGust':
>> '2.6', 'ws90_windSpeed': '2.1', 'yearRain': '50.4'
>>
>> But On RPi4, polling the devices seems to drift apart quite quickly,
>> producing individual LOOP packets, containing the individual values (I
>> haven't observed that happening on my Desktop, so this might be connected
>> to CPU power, maybe it happens after a longer period of time)
>> These LOOP packets contain values from the device configured in
>> [GW1000Service] and from the device configured in [ GW1000 ] in that
>> order, but *without values from the configured* [[field_map]] in
>> [GW1000Service] - I didn't expect that.
>> *(Maybe also worth noting is that the batt/sig values from my WS68 are
>> tagged as wh68, which I consider an undesired typo in the driver's map)*
>>
>> LOOP: 2024-01-22 06:16:14 CET (1705900574) 'altimeter':
>> '1025.4477187548832', 'appTemp': '-6.463423533619011', 'barometer':
>> '1028.5013923390995', 'cloudbase': '1041.4809012741189', 'dateTime':
>> '1705900574', 'daymaxwind': '6.6', 'dayRain': '0.0', 'dewpoint':
>> '-6.533418604408247', 'ET': 'None', 'extraHumid6': '59', 'extraHumid7':
>> '61', 'extraHumid8': '57', 'extraTemp6': '14.7', 'extraTemp7': '20.5',
>> 'extraTemp8': '21.3', 'heatindex': '-1.5999999999999994', 'humidex':
>> '-1.6', 'inDewpoint': '9.08853654596964', 'inHumidity': '51', 'inTemp':
>> '19.5', 'lightning_distance': 'None', 'lightning_last_det_time':
>> '1705345360', 'lightning_strike_count': '0', 'lightningcount': '0',
>> 'luminosity': '0.0', 'maxSolarRad': '0.0', 'monthRain': '50.4',
>> 'outHumidity': '69', 'outTemp': '-1.6', 'p_dayRain': '0.0', 'p_monthRain':
>> '26.5', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0',
>> 'p_weekRain': '0.0', 'p_yearRain': '26.5', 'pressure': '973.1',
>> 'radiation': '0.0', 'rain': '0.0', 'rainRate': '0.0', 'relbarometer':
>> '1025.9', 'stormRain': '0.0', 'usUnits': '17', 'UV': '0', 'uvradiation':
>> '0.0', 'weekRain': '0.0', 'wh31_ch6_batt': '0', 'wh31_ch6_sig': '4',
>> 'wh31_ch7_batt': '0', 'wh31_ch7_sig': '4', 'wh31_ch8_batt': '0',
>> 'wh31_ch8_sig': '4', 'wh32_batt': '0', 'wh32_sig': '4', 'wh40_batt':
>> '1.44', 'wh40_sig': '4', 'wh57_batt': '5', 'wh57_sig': '4', 'windchill':
>> '-5.422365775103767', 'windDir': '181', 'windGust': '4.2', 'windrun':
>> 'None', 'windSpeed': '3.0', '*ws90_batt*': '3.28', 'ws90_sig': '4',
>> 'yearRain': '50.4'
>> LOOP: 2024-01-22 06:16:14 CET (1705900574) 'altimeter':
>> '1025.5520572032206', 'appTemp': '-5.833423533619011', 'barometer':
>> '1028.6070856277995', 'cloudbase': '1041.4809012741189', 'dateTime':
>> '1705900574', 'daymaxwind': '7.7', 'dayRain': '0.0', 'dewpoint':
>> '-6.533418604408247', 'ET': 'None', 'extraHumid6': '59', 'extraHumid7':
>> '61', 'extraHumid8': '57', 'extraTemp6': '14.7', 'extraTemp7': '20.5',
>> 'extraTemp8': '21.3', 'heatindex': '-1.5999999999999994', 'humidex':
>> '-1.6', 'inDewpoint': '8.247305751926792', 'inHumidity': '47', 'inTemp':
>> '19.9', 'lightning_distance': 'None', 'lightning_last_det_time': 'None',
>> 'lightning_strike_count': '0', 'lightningcount': '0', 'luminosity': '0.0',
>> 'maxSolarRad': '0.0', 'monthRain': '50.4', 'outHumidity': '69', 'outTemp':
>> '-1.6', 'pressure': '973.2', 'radiation': '0.0', 'rain': '0.0', 'rainRate':
>> '0.0', 'relbarometer': '1026.0', 'stormRain': '0.0', 'usUnits': '17', 'UV':
>> '0', 'uvradiation': '0.0', 'weekRain': '0.0', 'wh31_ch6_batt': '0',
>> 'wh31_ch6_sig': '4', 'wh31_ch7_batt': '0', 'wh31_ch7_sig': '4',
>> 'wh31_ch8_batt': '0', 'wh31_ch8_sig': '4', 'wh32_batt': '0', 'wh32_sig':
>> '4', 'wh40_batt': '1.44', 'wh40_sig': '4', 'wh57_batt': '5', 'wh57_sig':
>> '4', '*wh68_batt*': '1.88', '*wh68_sig*': '1', 'windchill':
>> '-4.448607638687528', 'windDir': '205', 'windGust': '3.1', 'windrun':
>> 'None', 'windSpeed': '2.1', 'yearRain': '50.4'
>>
>>
>> [email protected] schrieb am Samstag, 20. Januar 2024 um 10:58:56
>> UTC+1:
>>
>>> Thank you! I'll see how far I get and I'll consider the mentioned
>>> drawbacks.
>>> gjr80 schrieb am Samstag, 20. Januar 2024 um 10:47:29 UTC+1:
>>>
>>>> The Gateway driver has supported simultaneous driver/service operation
>>>> since v0.5.0b5. It is not a configuration I recommend due to the fragility
>>>> of the configuration (if the driver crashes or the device using the driver
>>>> fails/locks up data from the service device is also lost) and the ease of
>>>> running dual WeeWX instances on the same device (particularly under WeeWX
>>>> v5).
>>>>
>>>> Notwithstanding, if you wish to use simultaneous driver/service
>>>> operation the driver configuration is placed under the [GW1000] stanza as
>>>> normal and the service configuration is placed under the [GW1000Service]
>>>> stanza. Otherwise the driver and service are configured as per independent
>>>> operation.
>>>>
>>>> Finally, be aware this is not a configuration I routinely, in fact I
>>>> suspect it has not bee touched since it was added to v0.5.0b5 so there may
>>>> be issues.
>>>>
>>>> Gary
>>>>
>>>> On Saturday 20 January 2024 at 17:52:04 UTC+10 [email protected]
>>>> wrote:
>>>>
>>>>> The empty queue is probably because of running it in WSL and being in
>>>>> a different IP range than the Console:
>>>>> 2024-01-19 18:47:39 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>
>>>>> $ ip addr
>>>>> 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP
>>>>> group default qlen 1000
>>>>> link/ether 00:15:5d:a1:b2:53 brd ff:ff:ff:ff:ff:ff
>>>>> inet 172.19.239.191/20 brd 172.19.239.255 scope global eth0
>>>>> valid_lft forever preferred_lft forever
>>>>> inet6 fe80::215:5dff:fea1:b253/64 scope link
>>>>> valid_lft forever preferred_lft forever
>>>>>
>>>>> And the console has 10.0.1.106
>>>>>
>>>>> I need to set up WSL to be in the same network or try this on another
>>>>> machine.
>>>>>
>>>>> Anyway, @grj80: have you ever considered collecting data from more
>>>>> than one ecowitt console device with the driver? For me this would make
>>>>> perfect sense, but I can very well understand, if it doesn't to you :D
>>>>> [email protected] schrieb am Freitag, 19. Januar 2024 um 18:48:05
>>>>> UTC+1:
>>>>>
>>>>>> Yes, it's possible.
>>>>>> 2024-01-19 18:27:35 weewxd[5855] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:27:35 weewxd[5855] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> LOOP: 2024-01-19 18:27:35 CET (1705685255) 'altimeter':
>>>>>> '1023.2565915245989', 'appTemp': '-4.6378894597484965', 'barometer':
>>>>>> '1026.3446847507096', 'cloudbase': '972.4294835518078', 'dateTime':
>>>>>> '1705685255', 'daymaxwind': '2.1', 'dayRain': '4.7', 'dewpoint':
>>>>>> '-6.267050581532717', 'ET': 'None', 'extraHumid6': '62', 'extraHumid7':
>>>>>> '61', 'extraHumid8': '58', 'extraTemp6': '14.8', 'extraTemp7': '19.9',
>>>>>> 'extraTemp8': '20.6', 'heatindex': '-1.9000000000000008', 'humidex':
>>>>>> '-1.9', 'inDewpoint': '12.462345522375951', 'inHumidity': '60',
>>>>>> 'inTemp':
>>>>>> '20.5', 'lightning_distance': 'None', 'lightning_last_det_time':
>>>>>> '1705345360', 'lightning_strike_count': '0', 'lightningcount': '0',
>>>>>> 'luminosity': '0.0', 'maxSolarRad': '0.0', 'monthRain': '50.4',
>>>>>> 'outHumidity': '72', 'outTemp': '-1.9', 'p_dayRain': '0.0',
>>>>>> 'p_monthRain':
>>>>>> '26.5', 'p_rain': '0.0', 'p_rainRate': '0.0', 'p_stormRain': '0.0',
>>>>>> 'p_weekRain': '11.8', 'p_yearRain': '26.5', 'pressure': '971.0',
>>>>>> 'radiation': '0.0', 'rain': '0.0', 'rainRate': '0.0', 'relbarometer':
>>>>>> '1023.8', 'stormRain': '0.0', 'usUnits': '17', 'UV': '0', 'uvradiation':
>>>>>> '0.0', 'weekRain': '15.2', 'wh31_ch6_batt': '0', 'wh31_ch6_sig': '4',
>>>>>> 'wh31_ch7_batt': '0', 'wh31_ch7_sig': '4', 'wh31_ch8_batt': '0',
>>>>>> 'wh31_ch8_sig': '4', 'wh32_batt': '0', 'wh32_sig': '4', 'wh40_batt':
>>>>>> '1.45', 'wh40_sig': '4', 'wh57_batt': '5', 'wh57_sig': '4', 'windchill':
>>>>>> '-1.9000000000000008', 'windDir': 'None', 'windGust': '1.3', 'windrun':
>>>>>> 'None', 'windSpeed': '0.0', 'ws90_batt': '3.28', 'ws90_sig': '4',
>>>>>> 'yearRain': '50.4'
>>>>>>
>>>>>> But why would anybody want to do this? I have two GW2000 devices and
>>>>>> want to store and show data of as many of my sensor possible in a single
>>>>>> weewx instance. Yet configuring the driver both, as driver and a service
>>>>>> at
>>>>>> the same time, seems to work as I hoped at least foor LOOP: two device
>>>>>> queries, on LOOP data.
>>>>>>
>>>>>> The question now: is it possible to configure the driver/service in a
>>>>>> way, they uses their own ip_address and is it possible to map the
>>>>>> Wind/Dir/Gust of the WS90 bound to the one GW2000, to e.g.
>>>>>> us_windSpeed/us_windDir/us_windGust (us for ultrasonic) just like p_rain
>>>>>> for the haptic array?
>>>>>>
>>>>>> Or isn't this possible and do I have to combine the Interceptor
>>>>>> driver with the Ecowitt Gateway Driver, one as a service, the other as a
>>>>>> Driver to achieve this? If yes, how could this be possible, I tried it
>>>>>> with
>>>>>> Interceptor as a driver and Ecowitt Gateway Driver as a Service and get
>>>>>> not
>>>>>> device data:
>>>>>> 2024-01-19 18:46:59 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>> 2024-01-19 18:47:07 weewxd[13771] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:47:09 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>> 2024-01-19 18:47:16 weewxd[13771] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:47:19 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>> 2024-01-19 18:47:25 weewxd[13771] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:47:29 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>> 2024-01-19 18:47:34 weewxd[13771] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:47:39 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>> 2024-01-19 18:47:43 weewxd[13771] DEBUG user.gw1000: Next update in 9
>>>>>> seconds
>>>>>> 2024-01-19 18:47:49 weewxd[13771] DEBUG user.interceptor: empty queue
>>>>>>
>>>>>>
>>>>>>
--
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].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/ce2a3332-f3db-48b1-933f-7f0a40e9d86dn%40googlegroups.com.