OK, I am new to this GW1000 and Ambient WS-2000 thingy.
I stumbled across this thread while trying to figure out why I am having 
problems.

I would truly appreciate some help figuring this one out.

Thanks.

-Bill


First the initial trouble shooting you will ask for.

=============================================================================================================================================
----@raspberrypi:/usr/share/weewx# PYTHONPATH=/usr/share/weewx python -m 
user.gw1000 --live-data --ip-address=10.0.0.51 --debug=3
Using configuration file /etc/weewx/weewx.conf
debug level is '3'

IP address obtained from command line options
Port number obtained from station config

Interrogating GW1000 at 10.0.0.51:45000

GW1000 live sensor data (2021-08-08 20:49:26 EDT (1628470166)): 
absbarometer: 994.7hPa, daymaxwind: 5kph, gustspeed: 0kph, inhumid: 64%, 
intemp: 28.4°C, light: 0lx, outhumid: 76%, outtemp: 24.9°C, rainday: 0.0mm, 
rainevent: 0.0mm, rainmonth: 0.0mm, rainrate: 0.0mm/h, rainweek: 0.0mm, 
rainyear: 0.0mm, relbarometer: 994.7hPa, uv: 0W/m², uvi: 0.0, wh65_batt: 0, 
wh65_sig: 3, winddir: 130°, windspeed: 0kph
=============================================================================================================================================
------@raspberrypi:/usr/share/weewx# PYTHONPATH=/usr/share/weewx python -m 
user.gw1000 --firmware-version --debug=3
Using configuration file /etc/weewx/weewx.conf
debug level is '3'

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

Interrogating GW1000 at 10.0.0.51:45000

GW1000 firmware version string: GW1000B_V1.6.8

=============================================================================================================================================
And then what I am seeing in the messages log after systemctl restart 
weewx  (apt install version)

Aug  8 20:53:57 raspberrypi weewx[14209] INFO __main__: Initializing weewx 
version 4.5.1
Aug  8 20:53:57 raspberrypi weewx[14209] INFO __main__: Using Python 3.7.3 
(default, Jan 22 2021, 20:04:44) #012[GCC 8.3.0]
Aug  8 20:53:57 raspberrypi weewx[14209] INFO __main__: Platform 
Linux-5.10.52-v7+-armv7l-with-debian-10.10
Aug  8 20:53:57 raspberrypi weewx[14209] INFO __main__: Locale is 
'en_US.UTF-8'
Aug  8 20:53:57 raspberrypi weewx[14209] INFO __main__: PID file is 
/var/run/weewx.pid
Aug  8 20:53:57 raspberrypi weewx[14214] INFO __main__: Using configuration 
file /etc/weewx/weewx.conf
Aug  8 20:53:57 raspberrypi weewx[14214] INFO __main__: Debug is 1
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Loading station 
type GW1000 (user.gw1000)
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: field map is 
{'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 
'daymaxwind': 'daymaxwind', 'dayRain': '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', 'hourRain': 'rainhour', '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': 
'rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', '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': 'rain', 
'rainRate': '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': 'rainevent', 
'totalRain': 'raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 
'rainweek', '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', 'wh35_ch1_batt': 'wh35_ch1_batt', 
'wh35_ch1_sig': 'wh35_ch1_sig', 'wh35_ch2_batt': 'wh35_ch2_batt', 
'wh35_ch2_sig': 'wh35_ch2_sig', 'wh35_ch3_batt': 'wh35_ch3_batt', 
'wh35_ch3_sig': 'wh35_ch3_sig', 'wh35_ch4_batt': 'wh35_ch4_batt', 
'wh35_ch4_sig': 'wh35_ch4_sig', 'wh35_ch5_batt': 'wh35_ch5_batt', 
'wh35_ch5_sig': 'wh35_ch5_sig', 'wh35_ch6_batt': 'wh35_ch6_batt', 
'wh35_ch6_sig': 'wh35_ch6_sig', 'wh35_ch7_batt': 'wh35_ch7_batt', 
'wh35_ch7_sig': 'wh35_ch7_sig', 'wh35_ch8_batt': 'wh35_ch8_batt', 
'wh35_ch8_sig': 'wh35_ch8_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', 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 
'yearRain': 'rainyear'}
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: driver version 
is 0.3.1
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: GW1000 address 
is 10.0.0.51:45000
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: poll interval is 
60 seconds
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: StdConvert 
target unit is 0x1
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Archive will 
use data binding wx_binding
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Record 
generation will be attempted in 'software'
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Using archive 
interval of 300 seconds (software record generation)
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: StationRegistry: 
Registration not requested.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: Wunderground: 
Posting not enabled.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: PWSweather: 
Posting not enabled.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: CWOP: Posting 
not enabled.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: WOW: Posting not 
enabled.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.restx: AWEKAS: Posting 
not enabled.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO __main__: Starting up weewx 
version 4.5.1
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Using binding 
'wx_binding' to database 'weewx.sdb'
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.manager: Starting 
backfill of daily summaries
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.manager: Empty database
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Starting main 
packet loop.
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: Using 'rainyear' 
for rain total
Aug  8 20:53:57 raspberrypi weewx[14214] INFO user.gw1000: skipping rain 
measurement of 0.0: no last rain
Aug  8 20:53:57 raspberrypi weewx[14214] INFO weewx.engine: Main loop 
exiting. Shutting engine down.
Aug  8 20:53:58 raspberrypi weewx[14214] INFO user.gw1000: Gw1000Collector 
thread has been terminated


On Monday, May 24, 2021 at 8:44:17 PM UTC-4 gjr80 wrote:

> OK, that is an old firmware and the command that was failing is a 
> (relatively) recently implemented one.
>
> The WS View app should nag you to upgrade, but I guess if you don’t 
> regularly use the app it could be missed. Might look at what the driver can 
> do check and advise.
>
> Gary
>
> On Tuesday, 25 May 2021 at 08:21:51 UTC+10 [email protected] wrote:
>
>>
>> Hi Gary,
>> I'm glad to inform you that I solved the problem upgrading the firmware 
>> of the GW1000 directly from the app. Before this upgrade it was running on 
>> firmware version GW1000A_V1.5.4, while now it is GW1000A_V1.6.6.
>> Unfortunately I saw your message after upgrading and so I could not try 
>> your commands. Anyway, what happened should be useful for anyone in the 
>> future having this issue.
>> Thank you!
>> Il giorno lunedì 24 maggio 2021 alle 23:17:23 UTC+2 gjr80 ha scritto:
>>
>>> Hi,
>>>
>>> When the driver is interrogating your GW1000 the GW1000 is responding 
>>> with some control codes that differ from those documented in the GW1000 
>>> API. Could you provide the firmware version of your GW1000 as reported in 
>>> the WS View app. It would also help to see some of the raw data coming back 
>>> from the GW1000. Could you run the following commands:
>>>
>>> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --firmware-version 
>>> --debug=3
>>>
>>> and
>>>
>>> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --live-data --debug=3
>>>
>>> The above commands should result in a number of lines of debug output 
>>> appearing in the WeeWX log. Could you provide a copy of the entire log 
>>> output resulting from those two commands as well as the console output.
>>>
>>> Gary
>>> On Tuesday, 25 May 2021 at 05:55:03 UTC+10 [email protected] wrote:
>>>
>>>> Hi Lang,
>>>> thank you for answering. So, the configuration file is named 
>>>> 'piscina.conf' because I am using WeeWX in multi mode, and each station 
>>>> has 
>>>> its personal configuration file. In the specific case, I'm using the WN30 
>>>> sensor for measuring a pole water temperature. Here is the complete log:
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Initializing 
>>>> weewx version 3.9.2
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Using Python 
>>>> 2.7.16 (default, Oct 10 2019, 22:02:15) #012[GCC 8.3.0]
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Platform 
>>>> Linux-5.4.51+-armv6l-with-debian-10.4
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Locale is 
>>>> 'en_GB.UTF-8'
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: pid file is 
>>>> /var/run/weewx-piscina.pid
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Using 
>>>> configuration file /etc/weewx/piscina.conf
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Debug is 1
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Initializing 
>>>> engine
>>>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> station type GW1000 (user.gw1000)
>>>> May 24 21:44:34 raspberrypi weewx-piscina[2023]: gw1000: Failed to 
>>>> obtain response to attempt 1 to send command 'CMD_READ_STATION_MAC': timed 
>>>> out
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: field map is 
>>>> {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 
>>>> 'daymaxwind': 'daymaxwind', 'dayRain': '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', 'hourRain': 'rainhour', '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': 
>>>> 'rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', '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': 
>>>> 'rain', 
>>>> 'rainRate': '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': 'rainevent', 
>>>> 'totalRain': 'raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 
>>>> 'rainweek', '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', 'wh35_ch1_batt': 'wh35_ch1_batt', 
>>>> 'wh35_ch1_sig': 'wh35_ch1_sig', 'wh35_ch2_batt': 'wh35_ch2_batt', 
>>>> 'wh35_ch2_sig': 'wh35_ch2_sig', 'wh35_ch3_batt': 'wh35_ch3_batt', 
>>>> 'wh35_ch3_sig': 'wh35_ch3_sig', 'wh35_ch4_batt': 'wh35_ch4_batt', 
>>>> 'wh35_ch4_sig': 'wh35_ch4_sig', 'wh35_ch5_batt': 'wh35_ch5_batt', 
>>>> 'wh35_ch5_sig': 'wh35_ch5_sig', 'wh35_ch6_batt': 'wh35_ch6_batt', 
>>>> 'wh35_ch6_sig': 'wh35_ch6_sig', 'wh35_ch7_batt': 'wh35_ch7_batt', 
>>>> 'wh35_ch7_sig': 'wh35_ch7_sig', 'wh35_ch8_batt': 'wh35_ch8_batt', 
>>>> 'wh35_ch8_sig': 'wh35_ch8_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', 'ws80_batt': 'ws80_batt', 'ws80_sig': 
>>>> 'ws80_sig', 
>>>> 'yearRain': 'rainyear'}
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: driver version 
>>>> is 0.3.1
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: GW1000 address 
>>>> is 192.168.0.25:45000
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: poll interval 
>>>> is 20 seconds
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: max tries is 
>>>> 3, retry wait time is 10 seconds
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: broadcast 
>>>> address is 255.255.255.255:46000, socket timeout is 2 seconds
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdTimeSynch
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdTimeSynch
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdConvert
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: StdConvert 
>>>> target unit is 0x10
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdConvert
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdCalibrate
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdCalibrate
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdQC
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdQC
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.wxservices.StdWXCalculate
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: wxcalculate: The 
>>>> following values will be calculated: barometer=software, 
>>>> windchill=prefer_hardware, dewpoint=prefer_hardware, 
>>>> appTemp=prefer_hardware, rainRate=prefer_hardware, 
>>>> windrun=prefer_hardware, 
>>>> heatindex=prefer_hardware, maxSolarRad=prefer_hardware, 
>>>> humidex=prefer_hardware, pressure=prefer_hardware, 
>>>> inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, 
>>>> cloudbase=prefer_hardware
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: wxcalculate: The 
>>>> following algorithms will be used for calculations: altimeter=aaNOAA, 
>>>> maxSolarRad=RS
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.wxservices.StdWXCalculate
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdArchive
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Archive will 
>>>> use data binding wx_binding
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Record 
>>>> generation will be attempted in 'software'
>>>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Using archive 
>>>> interval of 300 seconds (software record generation)
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Use LOOP data 
>>>> in hi/low calculations: 1
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: gw1000: Invalid 
>>>> response to attempt 1 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid 
>>>> command code in API response. Expected '60' (0x3C), received '99' (0x63).
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: manager: Daily summary 
>>>> version is 2.0
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Using binding 
>>>> 'wx_binding' to database 'piscina.sdb'
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: manager: Starting 
>>>> backfill of daily summaries
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdArchive
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdStationRegistry
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: 
>>>> StationRegistry: Registration not requested.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdStationRegistry
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdWunderground
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: Wunderground: 
>>>> Posting not enabled.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdWunderground
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdPWSweather
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: PWSweather: 
>>>> Posting not enabled.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdPWSweather
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdCWOP
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: CWOP: Posting 
>>>> not enabled.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdCWOP
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdWOW
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: WOW: Posting 
>>>> not enabled.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdWOW
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.restx.StdAWEKAS
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: AWEKAS: Posting 
>>>> not enabled.
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.restx.StdAWEKAS
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdPrint
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdPrint
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading 
>>>> service weewx.engine.StdReport
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished 
>>>> loading service weewx.engine.StdReport
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Starting up 
>>>> weewx version 3.9.2
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Station does 
>>>> not support reading the time
>>>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Starting main 
>>>> packet loop.
>>>> May 24 21:44:55 raspberrypi weewx-piscina[2023]: gw1000: Invalid 
>>>> response to attempt 2 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid 
>>>> command code in API response. Expected '60' (0x3C), received '99' (0x63).
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Invalid 
>>>> response to attempt 3 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid 
>>>> command code in API response. Expected '60' (0x3C), received '99' (0x63).
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Failed to 
>>>> obtain response to command 'CMD_READ_SENSOR_ID_NEW' after 3 attempts
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: IP address 
>>>> specified in 'weewx.conf', re-discovery was not attempted
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Unable to 
>>>> obtain live sensor data
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Next update in 
>>>> 20 seconds
>>>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: engine: Main loop 
>>>> exiting. Shutting engine down.
>>>> May 24 21:45:06 raspberrypi weewx-piscina[2023]: gw1000: 
>>>> Gw1000Collector thread has been terminated
>>>> May 24 21:45:06 raspberrypi weewx-piscina[2023]: engine: Caught 
>>>> WeeWxIOError: Failed to obtain response to command 
>>>> 'CMD_READ_SENSOR_ID_NEW' 
>>>> after 3 attempts
>>>> May 24 21:45:06 raspberrypi weewx-piscina[2023]:     ****  Waiting 60 
>>>> seconds then retrying...
>>>>
>>>> And here the configuration file (piscina.conf):
>>>>
>>>> # WEEWX CONFIGURATION FILE
>>>> #
>>>> # Copyright (c) 2009-2015 Tom Keffer <[email protected]>
>>>> # See the file LICENSE.txt for your rights.
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> # This section is for general configuration information.
>>>>
>>>> # Set to 1 for extra debug info, otherwise comment it out or set to zero
>>>> debug = 1
>>>>
>>>> # Root directory of the weewx data file hierarchy for this station
>>>> WEEWX_ROOT = /home/weewx
>>>>
>>>> # How long to wait before timing out a socket (FTP, HTTP) connection
>>>> socket_timeout = 200
>>>>
>>>> # Do not modify this. It is used when installing and updating weewx.
>>>> version = 3.9.2
>>>>
>>>> loop_on_init = 1
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section is for information about the station.
>>>>
>>>> [Station]
>>>>     
>>>>     # Description of the station location
>>>>     location = Termometro acqua piscina
>>>>     
>>>>     # Latitude and longitude in decimal degrees
>>>>     latitude = 41.446295
>>>>     longitude = 12.622721
>>>>     
>>>>     # Altitude of the station, with unit it is in. This is downloaded 
>>>> from
>>>>     # from the station if the hardware supports it.
>>>>     altitude = 10, meter    # Choose 'foot' or 'meter' for unit
>>>>     
>>>>     # Set to type of station hardware. There must be a corresponding 
>>>> stanza
>>>>     # in this file with a 'driver' parameter indicating the driver to 
>>>> be used.
>>>>     station_type = GW1000
>>>>     
>>>>     # If you have a website, you may specify an URL
>>>>     #station_url = http://www.example.com
>>>>     
>>>>     # The start of the rain year (1=January; 10=October, etc.). This is
>>>>     # downloaded from the station if the hardware supports it.
>>>>     rain_year_start = 1
>>>>     
>>>>     # Start of week (0=Monday, 6=Sunday)
>>>>     week_start = 0
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section is for uploading data to Internet sites
>>>>
>>>> [StdRESTful]
>>>>     
>>>>     [[StationRegistry]]
>>>>         # To register this weather station with weewx, set this to true
>>>>         register_this_station = false
>>>>     
>>>>     [[AWEKAS]]
>>>>         # This section is for configuring posts to AWEKAS.
>>>>         
>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>         # and specify a username and password.
>>>>         # To guard against parsing errors, put the password in quotes.
>>>>         enable = false
>>>>         username = replace_me
>>>>         password = replace_me
>>>>     
>>>>     [[CWOP]]
>>>>         # This section is for configuring posts to CWOP.
>>>>         
>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>         # and specify the station ID (e.g., CW1234).
>>>>         enable = false
>>>>         station = replace_me
>>>>     
>>>>     # If this is an APRS (radio amateur) station, uncomment
>>>>     # the following and replace with a passcode (e.g., 12345).
>>>>     #passcode = replace_me (APRS stations only)
>>>>     
>>>>     [[PWSweather]]
>>>>         # This section is for configuring posts to PWSweather.com.
>>>>         
>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>         # and specify a station and password.
>>>>         # To guard against parsing errors, put the password in quotes.
>>>>         enable = false
>>>>         station = replace_me
>>>>         password = replace_me
>>>>     
>>>>     [[WOW]]
>>>>         # This section is for configuring posts to WOW.
>>>>         
>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>         # and specify a station and password.
>>>>         # To guard against parsing errors, put the password in quotes.
>>>>         enable = false
>>>>         station = replace_me
>>>>         password = replace_me
>>>>     
>>>>     [[Wunderground]]
>>>>         # This section is for configuring posts to the Weather 
>>>> Underground.
>>>>         
>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>         # and specify a station (e.g., 'KORHOODR3') and password.
>>>>         # To guard against parsing errors, put the password in quotes.
>>>>         enable = false
>>>>         station = replace_me
>>>>         password = replace_me
>>>>         
>>>>         # Set the following to True to have weewx use the WU "Rapidfire"
>>>>         # protocol. Not all hardware can support it. See the User's 
>>>> Guide.
>>>>         rapidfire = False
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section specifies what reports, using which skins, to generate.
>>>>
>>>> [StdReport]
>>>>     
>>>>     # Where the skins reside, relative to WEEWX_ROOT
>>>>     SKIN_ROOT = skins
>>>>     
>>>>     # Where the generated reports should go, relative to WEEWX_ROOT
>>>>     HTML_ROOT = public_html/piscina
>>>>     
>>>>     # The database binding indicates which data should be used in 
>>>> reports.
>>>>     data_binding = wx_binding
>>>>     
>>>>     # Each of the following subsections defines a report that will be 
>>>> run.
>>>>     
>>>>     [[StandardReport]]
>>>>         # See the customizing guide to change the units, plot types and 
>>>> line
>>>>         # colors, modify the fonts, display additional sensor data, and 
>>>> other
>>>>         # customizations. Many of those changes can be made here by 
>>>> overriding
>>>>         # parameters, or by modifying templates within the skin itself.
>>>>         
>>>>         # The StandardReport uses the 'Standard' skin, which contains 
>>>> the
>>>>         # images, templates and plots for the report.
>>>>         skin = Standard
>>>>         [[[Units]]]
>>>>             [[[[Groups]]]]
>>>>                 group_altitude = meter
>>>>                 group_speed2 = km_per_hour2
>>>>                 group_pressure = mbar
>>>>                 group_rain = mm
>>>>                 group_rainrate = mm_per_hour
>>>>                 group_temperature = degree_C
>>>>                 group_degree_day = degree_C_day
>>>>                 group_speed = km_per_hour
>>>>     
>>>>     [[FTP]]
>>>>         # FTP'ing the results to a webserver is treated as just another 
>>>> report,
>>>>         # albeit one with an unusual report generator!
>>>>         skin = Ftp
>>>>         
>>>>         # If you wish to use FTP, uncomment and fill out the next four 
>>>> lines.
>>>>         # Use quotes around passwords to guard against parsing errors.
>>>>         user = xxx
>>>>         password = xxx
>>>>         server = xxx
>>>>         path = xxx
>>>>         
>>>>         # Set to True for an FTP over TLS (FTPS) connection. Not all 
>>>> servers
>>>>         # support this.
>>>>         secure_ftp = False
>>>>         
>>>>         # To upload files from something other than what HTML_ROOT is 
>>>> set
>>>>         # to above, specify a different HTML_ROOT here.
>>>>         #HTML_ROOT = public_html
>>>>         
>>>>         # Most FTP servers use port 21
>>>>         port = 21
>>>>         
>>>>         # Set to 1 to use passive mode, zero for active mode
>>>>         passive = 1
>>>>     
>>>>     [[RSYNC]]
>>>>         # rsync'ing to a webserver is treated as just another report
>>>>         skin = Rsync
>>>>         
>>>>         # If you wish to use rsync, you must configure passwordless ssh 
>>>> using
>>>>         # public/private key authentication from the user account that 
>>>> weewx
>>>>         # runs as to the user account on the remote machine where the 
>>>> files
>>>>         # will be copied.
>>>>         #
>>>>         # The server, user, and path determine where files will be sent.
>>>>         # The server is the server name, such as www.threefools.org
>>>>         # The user is the username, such as weewx
>>>>         # The path is the destination directory, such as 
>>>> /var/www/html/weather
>>>>         # Be sure that the user has write permissions on the 
>>>> destination!
>>>>         #server = replace_me
>>>>         #user = replace_me
>>>>         #path = replace_me
>>>>         
>>>>         # Rsync can be configured to remove files from the remote 
>>>> server if
>>>>         # they don't exist under HTML_ROOT locally. USE WITH CAUTION: 
>>>> if you
>>>>         # make a mistake in the remote path, you could could 
>>>> unintentionally
>>>>         # cause unrelated files to be deleted. Set to 1 to enable 
>>>> remote file
>>>>         # deletion, zero to allow files to accumulate remotely.
>>>>         delete = 0
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This service acts as a filter, converting the unit system coming 
>>>> from
>>>> #   the hardware to a unit system in the database.
>>>>
>>>> [StdConvert]
>>>>     
>>>>     # The target_unit affects only the unit system in the database. Once
>>>>     # chosen it cannot be changed without converting the entire 
>>>> database.
>>>>     # Modification of target_unit after starting weewx will result in
>>>>     # corrupt data - the database will contain a mix of US and METRIC 
>>>> data.
>>>>     #
>>>>     # The value of target_unit does not affect the unit system for
>>>>     # reporting - reports can display US, Metric, or any combination of 
>>>> units.
>>>>     #
>>>>     # In most cases, target_unit should be left as the default: US
>>>>     #
>>>>     # In particular, those migrating from a standard wview installation
>>>>     # should use US since that is what the wview database contains.
>>>>     
>>>>     # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
>>>>     target_unit = METRIC    # Options are 'US', 'METRICWX', or 'METRIC'
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section can adjust data using calibration expressions.
>>>>
>>>> [StdCalibrate]
>>>>     
>>>>     [[Corrections]]
>>>>         # For each type, an arbitrary calibration expression can be 
>>>> given. 
>>>>         # It should be in the units defined in the StdConvert section.
>>>>         # Example:
>>>>         foo = foo + 0.2
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section is for quality control checks. If units are not 
>>>> specified,
>>>> #   values must be in the units defined in the StdConvert section.
>>>>
>>>> [StdQC]
>>>>     
>>>>     [[MinMax]]
>>>>         barometer = 26, 32.5, inHg
>>>>         outTemp = -40, 120, degree_F
>>>>         inTemp = 10, 120, degree_F
>>>>         outHumidity = 0, 100
>>>>         inHumidity = 0, 100
>>>>         windSpeed = 0, 120, mile_per_hour
>>>>         pressure = 24, 34.5, inHg
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section controls the origin of derived values.
>>>>
>>>> [StdWXCalculate]
>>>>     
>>>>     ignore_zero_wind = False
>>>>     
>>>>     [[Calculations]]
>>>>         # Derived quantities are calculated by this service. Possible 
>>>> values are:
>>>>         #  hardware        - use the value provided by hardware
>>>>         #  software        - use the value calculated by weewx
>>>>         #  prefer_hardware - use value provide by hardware if available,
>>>>         #                      otherwise use value calculated by weewx
>>>>         
>>>>         pressure = prefer_hardware
>>>>         barometer = prefer_hardware
>>>>         altimeter = prefer_hardware
>>>>         windchill = prefer_hardware
>>>>         heatindex = prefer_hardware
>>>>         dewpoint = prefer_hardware
>>>>         inDewpoint = prefer_hardware
>>>>         rainRate = prefer_hardware
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   For hardware that supports it, this section controls how often the
>>>> #   onboard clock gets updated.
>>>>
>>>> [StdTimeSynch]
>>>>     
>>>>     # How often to check the weather station clock for drift (in 
>>>> seconds)
>>>>     clock_check = 14400
>>>>     
>>>>     # How much it can drift before we will correct it (in seconds)
>>>>     max_drift = 5
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section is for configuring the archive service.
>>>>
>>>> [StdArchive]
>>>>     
>>>>     # If the station hardware supports data logging then the archive 
>>>> interval
>>>>     # will be downloaded from the station. Otherwise, specify it (in 
>>>> seconds).
>>>>     archive_interval = 300
>>>>     
>>>>     # If possible, new archive records are downloaded from the station
>>>>     # hardware. If the hardware does not support this, then new archive
>>>>     # records will be generated in software.
>>>>     # Set the following to "software" to force software record 
>>>> generation.
>>>>     record_generation = software
>>>>     
>>>>     # Whether to include LOOP data in hi/low statistics
>>>>     loop_hilo = True
>>>>     
>>>>     # The data binding used to save archive records
>>>>     data_binding = wx_binding
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section binds a data store to a database.
>>>>
>>>> [DataBindings]
>>>>     
>>>>     [[wx_binding]]
>>>>         # The database must match one of the sections in [Databases].
>>>>         # This is likely to be the only option you would want to change.
>>>>         database = archive_sqlite
>>>>         # The name of the table within the database
>>>>         table_name = archive
>>>>         # The manager handles aggregation of data for historical 
>>>> summaries
>>>>         manager = weewx.wxmanager.WXDaySummaryManager
>>>>         # The schema defines the structure of the database.
>>>>         # It is *only* used when the database is created.
>>>>         schema = schemas.wview.schema
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section defines various databases.
>>>>
>>>> [Databases]
>>>>     
>>>>     # A SQLite database is simply a single file
>>>>     [[archive_sqlite]]
>>>>         database_type = SQLite
>>>>         database_name = piscina.sdb
>>>>     
>>>>     # MySQL
>>>>     [[archive_mysql]]
>>>>         database_type = MySQL
>>>>         database_name = piscina
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section defines defaults for the different types of databases.
>>>>
>>>> [DatabaseTypes]
>>>>     
>>>>     # Defaults for SQLite databases
>>>>     [[SQLite]]
>>>>         driver = weedb.sqlite
>>>>         # Directory in which the database files are located
>>>>         SQLITE_ROOT = %(WEEWX_ROOT)s/archive
>>>>     
>>>>     # Defaults for MySQL databases
>>>>     [[MySQL]]
>>>>         driver = weedb.mysql
>>>>         # The host where the database is located
>>>>         host = localhost
>>>>         # The user name for logging in to the host
>>>>         user = weewx
>>>>         # The password for the user name (quotes guard against parsing 
>>>> errors)
>>>>         password = weewx
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> #   This section configures the internal weewx engine.
>>>>
>>>> [Engine]
>>>>     
>>>>     [[Services]]
>>>>         # This section specifies the services that should be run. They 
>>>> are
>>>>         # grouped by type, and the order of services within each group
>>>>         # determines the order in which the services will be run.
>>>>         prep_services = weewx.engine.StdTimeSynch
>>>>         data_services = user.gw1000.Gw1000Service
>>>>         process_services = weewx.engine.StdConvert, 
>>>> weewx.engine.StdCalibrate, weewx.engine.StdQC, 
>>>> weewx.wxservices.StdWXCalculate
>>>>         archive_services = weewx.engine.StdArchive
>>>>         restful_services = weewx.restx.StdStationRegistry, 
>>>> weewx.restx.StdWunderground, weewx.restx.StdPWSweather, 
>>>> weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
>>>>         report_services = weewx.engine.StdPrint, weewx.engine.StdReport
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> # Options for extension 'GW1000'
>>>> [Accumulator]
>>>>     
>>>>     # Start GW1000 driver extractors
>>>>     [[daymaxwind]]
>>>>         extractor = last
>>>>     [[lightning_distance]]
>>>>         extractor = last
>>>>     [[lightning_strike_count]]
>>>>         extractor = sum
>>>>     [[lightningcount]]
>>>>         extractor = last
>>>>     [[lightning_last_det_time]]
>>>>         extractor = last
>>>>     [[stormRain]]
>>>>         extractor = last
>>>>     [[hourRain]]
>>>>         extractor = last
>>>>     [[dayRain]]
>>>>         extractor = last
>>>>     [[weekRain]]
>>>>         extractor = last
>>>>     [[monthRain]]
>>>>         extractor = last
>>>>     [[yearRain]]
>>>>         extractor = last
>>>>     [[totalRain]]
>>>>         extractor = last
>>>>     [[pm2_51_24h_avg]]
>>>>         extractor = last
>>>>     [[pm2_52_24h_avg]]
>>>>         extractor = last
>>>>     [[pm2_53_24h_avg]]
>>>>         extractor = last
>>>>     [[pm2_54_24h_avg]]
>>>>         extractor = last
>>>>     [[pm2_55_24h_avg]]
>>>>         extractor = last
>>>>     [[pm10_24h_avg]]
>>>>         extractor = last
>>>>     [[co2_24h_avg]]
>>>>         extractor = last
>>>>     [[wh40_batt]]
>>>>         extractor = last
>>>>     [[wh26_batt]]
>>>>         extractor = last
>>>>     [[wh25_batt]]
>>>>         extractor = last
>>>>     [[wh65_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch1_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch2_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch3_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch4_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch5_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch6_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch7_batt]]
>>>>         extractor = last
>>>>     [[wh31_ch8_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch1_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch2_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch3_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch4_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch5_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch6_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch7_batt]]
>>>>         extractor = last
>>>>     [[wh35_ch8_batt]]
>>>>         extractor = last
>>>>     [[wh41_ch1_batt]]
>>>>         extractor = last
>>>>     [[wh41_ch2_batt]]
>>>>         extractor = last
>>>>     [[wh41_ch3_batt]]
>>>>         extractor = last
>>>>     [[wh41_ch4_batt]]
>>>>         extractor = last
>>>>     [[wh45_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch1_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch2_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch3_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch4_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch5_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch6_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch7_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch8_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch9_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch10_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch11_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch12_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch13_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch14_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch15_batt]]
>>>>         extractor = last
>>>>     [[wh51_ch16_batt]]
>>>>         extractor = last
>>>>     [[wh55_ch1_batt]]
>>>>         extractor = last
>>>>     [[wh55_ch2_batt]]
>>>>         extractor = last
>>>>     [[wh55_ch3_batt]]
>>>>         extractor = last
>>>>     [[wh55_ch4_batt]]
>>>>         extractor = last
>>>>     [[wh57_batt]]
>>>>         extractor = last
>>>>     [[wh68_batt]]
>>>>         extractor = last
>>>>     [[ws80_batt]]
>>>>         extractor = last
>>>>     [[wh40_sig]]
>>>>         extractor = last
>>>>     [[wh26_sig]]
>>>>         extractor = last
>>>>     [[wh25_sig]]
>>>>         extractor = last
>>>>     [[wh65_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch1_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch2_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch3_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch4_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch5_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch6_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch7_sig]]
>>>>         extractor = last
>>>>     [[wh31_ch8_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch1_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch2_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch3_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch4_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch5_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch6_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch7_sig]]
>>>>         extractor = last
>>>>     [[wh35_ch8_sig]]
>>>>         extractor = last
>>>>     [[wh41_ch1_sig]]
>>>>         extractor = last
>>>>     [[wh41_ch2_sig]]
>>>>         extractor = last
>>>>     [[wh41_ch3_sig]]
>>>>         extractor = last
>>>>     [[wh41_ch4_sig]]
>>>>         extractor = last
>>>>     [[wh45_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch1_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch2_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch3_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch4_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch5_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch6_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch7_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch8_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch9_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch10_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch11_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch12_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch13_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch14_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch15_sig]]
>>>>         extractor = last
>>>>     [[wh51_ch16_sig]]
>>>>         extractor = last
>>>>     [[wh55_ch1_sig]]
>>>>         extractor = last
>>>>     [[wh55_ch2_sig]]
>>>>         extractor = last
>>>>     [[wh55_ch3_sig]]
>>>>         extractor = last
>>>>     [[wh55_ch4_sig]]
>>>>         extractor = last
>>>>     [[wh57_sig]]
>>>>         extractor = last
>>>>     [[wh68_sig]]
>>>>         extractor = last
>>>>     [[ws80_sig]]
>>>>         extractor = last
>>>>
>>>>
>>>> ##############################################################################
>>>>
>>>> # Options for extension 'GW1000'
>>>> [GW1000]
>>>>     # This section is for the GW1000 API driver.
>>>>     
>>>>     # How often to poll the GW1000 API, default is every 20 seconds:
>>>>     poll_interval = 20
>>>>     
>>>>     # The driver to use:
>>>>     driver = user.gw1000
>>>>     
>>>>
>>>> ##############################################################################
>>>>
>>>> #examples of json    
>>>> #{"time" : "2019-09-13 15:44:52", "brand" : "OS", "model" : "THGR810", 
>>>> "id" : 254, "channel" : 1, "battery" : "OK", "temperature_C" : 27.800, 
>>>> "humidity" : 40}
>>>> #{"time" : "2019-09-13 15:45:01", "brand" : "OS", "model" : "THGR810", 
>>>> "id" : 71, "channel" : 2, "battery" : "OK", "temperature_C" : 27.200, 
>>>> "humidity" : 46}
>>>>
>>>>
>>>>
>>>>
>>>> Il giorno lunedì 24 maggio 2021 alle 21:35:59 UTC+2 
>>>> [email protected] ha scritto:
>>>>
>>>>> The WN30 is just an extra temperature sensor and belongs to the WH31 
>>>>> extra sensor group - only it measures only temperature and not humidity.
>>>>> As it is primarily meant for measuring water temperature, humidity 
>>>>> will be always 100% and therefore measuring it makes little sense.
>>>>>
>>>>> But it works just like other WH31 extra T/H sensors. I have one in my 
>>>>> collection of WH31 sensors and weewx processes it without any problem.
>>>>>
>>>>> Is there a special reason why your weewx configuration file is named 
>>>>> piscina.conf and not weewx.conf ?
>>>>> Has weewx been told to use piscina.conf instead of weewx.conf 
>>>>> (default) in the respective files ?
>>>>>
>>>>> Can you please provide a *complete* syslog starting from the weewx 
>>>>> launch until it either terminates itself or you do so by issuing the stop 
>>>>> command !?
>>>>> Also, your weewx.conf (piscina.conf) would be helpful (you can/should 
>>>>> remove passwords and API-keys if you use any there)
>>>>>
>>>>> If you so far only started the driver, can you just configure weewx as 
>>>>> in the GW1000 driver description in the weewx.conf file 
>>>>> (/etc/weewx/weewx.conf),
>>>>> and start weewx - and provide the logs and the weewx.conf file !?
>>>>>
>>>>> Then we can have a better understanding what going on and what's 
>>>>> potential going wrong here.
>>>>> On 24.05.2021 20:36, [email protected] wrote:
>>>>>
>>>>> Hi everyone, 
>>>>> I am trying to use WeeWX with a GW1000 hardware (this 
>>>>> <https://www.froggit.de/product_info.php?info=p410_dp1500-wi-fi-wetterserver-usb-dongle.html>)
>>>>>  
>>>>> that is receiving data from a WN30 temperature sensor (this 
>>>>> <https://www.froggit.de/product_info.php?language=en&info=p480_dp30-multi-kanal-temperatur-funksensor-mit-wasserfestem-kabelfuehler.html>).
>>>>>  
>>>>> I installed the hardware and connected to the WiFi, and by the smartphone 
>>>>> app everything seems fine: in fact I can see live data from there.
>>>>> Now, I want to use the GW1000 driver 
>>>>> <https://github.com/gjr80/weewx-gw1000>for reading its data with 
>>>>> WeeWX. I correctly followed the instruction and installed the driver on 
>>>>> WeeWX 3.9.2, but I am having some troubles.
>>>>> In particular, I am getting the following error:
>>>>> gw1000: Invalid response to attempt 1 to send command 
>>>>> 'CMD_READ_SENSOR_ID_NEW': Invalid command code in API response. Expected 
>>>>> '60' (0x3C), received '99' (0x63)
>>>>> This is what the test-driver returns:
>>>>> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --test-driver
>>>>> Using configuration file /etc/weewx/piscina.conf
>>>>> debug level is '1'
>>>>>
>>>>> IP address to be obtained by discovery
>>>>> Port number set to default port number
>>>>>
>>>>> Interrogating GW1000 at 192.168.0.25:45000
>>>>>
>>>>> Traceback (most recent call last):
>>>>>   File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
>>>>>     "__main__", fname, loader, pkg_name)
>>>>>   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
>>>>>     exec code in run_globals
>>>>>   File "/home/weewx/bin/user/gw1000.py", line 5906, in <module>
>>>>>     main()
>>>>>   File "/home/weewx/bin/user/gw1000.py", line 5900, in main
>>>>>     direct_gw100.process_options()
>>>>>   File "/home/weewx/bin/user/gw1000.py", line 4833, in process_options
>>>>>     self.test_driver()
>>>>>   File "/home/weewx/bin/user/gw1000.py", line 5647, in test_driver
>>>>>     for pkt in driver.genLoopPackets():
>>>>>   File "/home/weewx/bin/user/gw1000.py", line 2057, in genLoopPackets
>>>>>     raise weewx.WeeWxIOError(e)
>>>>> weewx.WeeWxIOError: Failed to obtain response to command 
>>>>> 'CMD_READ_SENSOR_ID_NEW' after 3 attempts
>>>>>
>>>>> Any ideas??
>>>>> Thank you!
>>>>>
>>>>> -- 
>>>>> 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/2f6e835e-dbcd-4d71-bcee-cf431475ccd4n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/weewx-user/2f6e835e-dbcd-4d71-bcee-cf431475ccd4n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>>

-- 
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/e7d39b92-44a1-4609-b6f4-73704df0f3ban%40googlegroups.com.

Reply via email to