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.