Ich habe mir weewx-com angesehen. Dort wird das Datenbankschema ganz anders 
beschrieben als in der Standard-Installation. Ich habe mal etwas in 
airq_conf.py ergänzt und hoffe, daß es damit funktioniert. Einige andere 
Korrekturen standen auch noch an:

   - Der Hersteller hat die Umrechnung zwischen Massenkonzentration und 
   Volumenkonzentration mit der Firmwareversion 1.75 geändert. weewx-airQ 
   folgt dem jetzt.
   - Es gab noch einen Fehler, der dazu führte, daß die Geräte-ID und der 
   Geräte-Status nicht übertragen wurden. Dieser Fehler ist jetzt beseitigt. 
   Mit einer neu erzeugten Skin werden beide Werte oben rechts angezeigt.
   - Und ja, den Fehler in install.py habe ich korrigiert. Nochmals vielen 
   Dank für den Hinweis.

English Summary:

This thread is about the weewx-airQ extension. The thread opener 
experienced a problem adding the columns for the device to the database. 
The reason was a bug that only gets into effect if the database schema is 
defined in weewx.conf directly instead of a file in the schema 
sub-directory. I hope to have fixed that bug.

Additionally, the following changes were made to the extension:

   - The manufacturer of the airQ device changed the algorithm to convert 
   from volume to mass (ppm to mg/m^3 or ppb to µg/m^3). The new algorithm is 
   now included in weewx-airQ, too. 
   - There was a bug that caused DeviceID and Status to be always None. 
   This bug is fixed.
   - DeviceID and Status are displayed in the skin created by airq_conf.
   - There was a bug in install.py that caused installation to fail. It is 
   fixed. Thanks to Hartmut, who pointed to the bug.
   

Karen K schrieb am Samstag, 4. September 2021 um 18:54:48 UTC+2:

> Darf ich noch den [DataBindings]-Abschnitt aus der weewx.conf sehen? Ich 
> würde das Problem aus airq_conf.py gern noch beseitigen. 
>
> Karen K schrieb am Samstag, 4. September 2021 um 18:42:45 UTC+2:
>
>> Vielen Dank erst einmal für den Fehlerhinweis in install.py.
>>
>> [email protected] schrieb am Samstag, 4. September 2021 um 16:07:17 
>> UTC+2:
>>
>>> Nach Umstellung auf Mysql
>>> Sep  4 15:40:59 ba001 weewx[24174]: Starting weewx weather system: weewx.
>>> Sep  4 15:40:59 ba001 systemd[1]: Started LSB: weewx weather system.
>>> Sep  4 15:41:00 ba001 weewx[24187] INFO user.airQ: air-Q 0.7 initialize 
>>> units
>>> Sep  4 15:41:00 ba001 weewx[24187] INFO user.airQ: device 
>>> 'first_device': observation group dict {'og_Temp': 'group_temperature', 
>>> 'og_Humidity': 'group_percent', 'og_HumAbs': 'group_concentration', 
>>> 'og_Dewpoint': 'group_temperature', 'og_Pressure': 'group_pressure', 
>>> 'og_Altimeter': 'group_pressure', 'og_Barometer': 'group_pressure', 
>>> 'og_co_m': 'group_concentration', 'og_co': 'group_fraction', 'og_co2': 
>>> 'group_fraction', 'og_h2s': 'group_concentration', 'og_no2_m': 
>>> 'group_concentration', 'og_no2': 'group_fraction', 'og_pm1_0': 
>>> 'group_concentration', 'og_pm2_5': 'group_concentration', 'og_pm10_0': 
>>> 'group_concentration', 'og_o3_m': 'group_concentration', 'og_o3': 
>>> 'group_fraction', 'og_so2_m': 'group_concentration', 'og_so2': 
>>> 'group_fraction', 'og_TVOC': 'group_fraction', 'og_o2': 'group_percent', 
>>> 'og_noise': 'group_db', 'og_PerfIdx': 'group_percent', 'og_HealthIdx': 
>>> 'group_percent', 'og_cnt0_3': 'group_count', 'og_cnt0_5': 'group_count', 
>>> 'og_cnt1_0': 'group_count', 'og_cnt2_5': 'group_count', 'og_cnt5_0': 
>>> 'group_count', 'og_cnt10_0': 'group_count', 'og_Temp_e': 'group_percent'}
>>> Sep  4 15:41:00 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device': observation group dict {'eg_Temp': 'group_temperature', 
>>> 'eg_Humidity': 'group_percent', 'eg_HumAbs': 'group_concentration', 
>>> 'eg_Dewpoint': 'group_temperature', 'eg_Pressure': 'group_pressure', 
>>> 'eg_Altimeter': 'group_pressure', 'eg_Barometer': 'group_pressure', 
>>> 'eg_co_m': 'group_concentration', 'eg_co': 'group_fraction', 'eg_co2': 
>>> 'group_fraction', 'eg_h2s': 'group_concentration', 'eg_no2_m': 
>>> 'group_concentration', 'eg_no2': 'group_fraction', 'eg_pm1_0': 
>>> 'group_concentration', 'eg_pm2_5': 'group_concentration', 'eg_pm10_0': 
>>> 'group_concentration', 'eg_o3_m': 'group_concentration', 'eg_o3': 
>>> 'group_fraction', 'eg_so2_m': 'group_concentration', 'eg_so2': 
>>> 'group_fraction', 'eg_TVOC': 'group_fraction', 'eg_o2': 'group_percent', 
>>> 'eg_noise': 'group_db', 'eg_PerfIdx': 'group_percent', 'eg_HealthIdx': 
>>> 'group_percent', 'eg_cnt0_3': 'group_count', 'eg_cnt0_5': 'group_count', 
>>> 'eg_cnt1_0': 'group_count', 'eg_cnt2_5': 'group_count', 'eg_cnt5_0': 
>>> 'group_count', 'eg_cnt10_0': 'group_count', 'eg_Temp_e': 'group_percent'}
>>> Sep  4 15:41:00 ba001 weewx[24187] INFO user.airQ: air-Q 0.7 service
>>> Sep  4 15:41:00 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> host address '192.168.38.18' prefix 'og' query interval 5.0 s altitude 54 m
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> device id: 99...02a
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> firmware version: 1.20.2.r4_D_1.75
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> sensors: ['co', 'co2', 'no2', 'o3', 'oxygen', 'particulates', 'pressure', 
>>> 'so2', 'sound', 'temperature', 'tvoc', 'humidity', 'humidity_abs', 'dewpt']
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> concentration units config: µg/m^3
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'first_device', host '192.168.38.18': initialized
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 'first_device' 
>>> QFF calculation temperature source: outTemp
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'first_device', host '192.168.38.18': starting
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' host address '192.168.38.19' prefix 'eg' query interval 5.0 
>>> s altitude 54 m
>>> Sep  4 15:41:01 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'first_device', host '192.168.38.18': 200 - OK
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' device id: 21...063
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' firmware version: 1.20.2.r4_D_1.75
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' sensors: ['co', 'co2', 'no2', 'particulates', 'pressure', 
>>> 'sound', 'temperature', 'tvoc', 'humidity', 'humidity_abs', 'dewpt']
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' concentration units config: µg/m^3
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'second_device', host '192.168.38.19': initialized
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: device 
>>> 'second_device' QFF calculation temperature source: outTemp
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'second_device', host '192.168.38.19': starting
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO user.airQ: 2 air-Q devices found
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: StdConvert target 
>>> unit is 0x10
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.wxservices: StdWXCalculate 
>>> will use data binding wx_binding
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: Archive will use 
>>> data binding wx_binding
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: Record generation 
>>> will be attempted in 'hardware'
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: Using archive 
>>> interval of 300 seconds (specified in weewx configuration)
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO __main__: Starting up weewx 
>>> version 4.6.0b1
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: Using binding 
>>> 'wx_binding' to database 'weeAirQxHaus'
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.manager: Starting backfill 
>>> of daily summaries
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.manager: Daily summaries 
>>> up to date
>>> Sep  4 15:41:02 ba001 weewx[24187] INFO weewx.engine: Starting main 
>>> packet loop.
>>> Sep  4 15:41:03 ba001 weewx[24187] INFO user.airQ: thread 
>>> 'second_device', host '192.168.38.19': 200 - OK
>>> Sep  4 15:45:38 ba001 weewx[24187] INFO weewx.manager: Added record 
>>> 2021-09-04 15:45:00 CEST (1630763100) to database 'weeAirQxHaus'
>>> Sep  4 15:45:38 ba001 weewx[24187] INFO weewx.manager: Added record 
>>> 2021-09-04 15:45:00 CEST (1630763100) to daily summary in 'weeAirQxHaus'
>>>
>>> Sep  4 15:45:50 ba001 weewx[24187] INFO weewx.reportengine: Using 
>>> localization file /home/weewx/skins/airQ/lang/de.conf for report 
>>> 'airqReport'
>>> Sep  4 15:45:51 ba001 weewx[24187] INFO weewx.cheetahgenerator: 
>>> Generated 3 files for report airqReport in 1.27 seconds
>>> Sep  4 15:45:55 ba001 weewx[24187] INFO weewx.imagegenerator: Generated 
>>> 27 images for report airqReport in 3.43 seconds
>>> Sep  4 15:45:55 ba001 weewx[24187] INFO weewx.reportengine: Copied 5 
>>> files to /home/weewx/public_html/airQ
>>>
>>> Danke es läuft fast vollständig.
>>>
>>> Eine Anmerkung "Luftdruck" Barometer wird nicht berechnent, ich habe 
>>> keine Daten für "outTemp" in der Datenbank habe.
>>>
>>> Schön wenn auch die Fehlerwerte mit gespeichert werden könnten
>>> "oxygen": [20.123, 0.87],  val[0] = Wert, val[1] = Fehler in %
>>> "dewpt": [13.825, 0.8], val[0] = Wert, val[1] = Fehler in %
>>> "pm10": [14, 11], val[0] = Wert, val[1] = Fehler in %
>>>
>>>  Vielen Dank 
>>> Hartmut
>>>
>>> [email protected] schrieb am Samstag, 4. September 2021 um 15:36:55 
>>> UTC+2:
>>>
>>>> Hallo, 
>>>> nach DB-Löschung und Neustart alles IO bis auf db-Generierung durch 
>>>> airq_conf.py
>>>> Ich habe einfach per Hand eine neue SCHEMA Vorlage erstellt
>>>>           ('og_Temp',        'REAL'),
>>>>           ('og_Humidity',    'REAL'),
>>>>           ('og_HumAbs',      'REAL'),
>>>>           ('og_Dewpoint',    'REAL'),
>>>>           ('og_Pressure',    'REAL'),
>>>>           ('og_Altimeter',   'REAL'),
>>>>           ('og_Barometer',   'REAL'),
>>>>           ('og_co_m',        'REAL'),
>>>>           ('og_co',          'REAL'),
>>>>           ('og_co2',         'REAL'),
>>>>           ('og_h2s',         'REAL'),
>>>>           ('og_no2',         'REAL'),
>>>>           ('og_pm1_0',       'REAL'),
>>>>           ('og_pm2_5',       'REAL'),
>>>> ....
>>>>          ('eg_PerfIdx',     'REAL'),
>>>>           ('eg_HealthIdx',   'REAL'),
>>>>           ('eg_cnt0_3',      'REAL'),
>>>>           ('eg_cnt0_5',      'REAL'),
>>>>           ('eg_cnt1_0',      'REAL'),
>>>>           ('eg_cnt2_5',      'REAL'),
>>>>           ('eg_cnt5_0',      'REAL'),
>>>>           ('eg_cnt10_0',     'REAL'),
>>>>           ('eg_TypPS',       'REAL'),
>>>>           ('eg_Battery',     'REAL'),
>>>>           ('eg_DoorEvent',   'REAL'),
>>>>           ('eg_HumAbsDelta', 'REAL'),
>>>>           ('eg_CO2delta',    'REAL'),
>>>> mit eine SQLITE-Datenbank läuft es mit zwei airQ's einer im 
>>>> Obergeschoss und einer im Erdgeschoss.
>>>> Ich muss eine kleine Änderung eingestehen 
>>>> in install.py  
>>>>
>>>> files=[('bin/user', ['bin/user/airQ_corant.py','bin/user/airq_conf.py'] 
>>>> ) , 
>>>>                        ('bin', ['bin/airq_conf'])]
>>>>
>>>> ein ")" eingefügt.
>>>>
>>>> Hartmut
>>>> [email protected] schrieb am Samstag, 4. September 2021 um 15:12:46 
>>>> UTC+2:
>>>>
>>>>> Ja gibt es!
>>>>>
>>>>> [email protected] schrieb am Samstag, 4. September 2021 um 15:10:11 
>>>>> UTC+2:
>>>>>
>>>>>> Gibt es den Eintrag user.airQ_corant.AirqUnits in der Zeile 
>>>>>> prep_services?
>>>>>>
>>>>>> [email protected] schrieb am Samstag, 4. September 2021 um 12:32:26 
>>>>>> UTC+2:
>>>>>>
>>>>>>> Hallo,
>>>>>>> der Hinweis mit /lang in /Seasons war Gold wert.
>>>>>>> Und hier der Auszug aus weewx.conf
>>>>>>> [airQ]
>>>>>>>
>>>>>>>     [[first_device]]
>>>>>>>         host = 192.168.38.18
>>>>>>>         password = passwd
>>>>>>>         prefix = og
>>>>>>>         #altitude = set_if_not_station_altitude
>>>>>>>
>>>>>>>     [[second_device]]
>>>>>>>         host = 192.168.38.19
>>>>>>>         password = passwd
>>>>>>>         prefix = eg
>>>>>>>         #altitude = set_if_not_station_altitude
>>>>>>>
>>>>>>> Jetzt kommt:
>>>>>>> Sep  4 12:25:44 ba001 weewx[11803] INFO weewx.reportengine: Using 
>>>>>>> localization file /home/weewx/skins/airQ/lang/de.conf for report 
>>>>>>> 'airqReport'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> Generate failed with exception '<class 'NameMapper.NotFound'>'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> **** Ignoring template /home/weewx/skins/airQ/first_device.html.tmpl
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> **** Reason: cannot find 'milligram_per_meter_cubed' while searching 
>>>>>>> for 
>>>>>>> 'current.og_co.milligram_per_meter_cubed'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****  Traceback (most recent call last):
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****    File "/home/weewx/bin/weewx/cheetahgenerator.py", line 332, in 
>>>>>>> generate
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****      unicode_string = compiled_template.respond()
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****    File "_home_weewx_skins_airQ_first_device_html_tmpl.py", line 
>>>>>>> 328, 
>>>>>>> in respond
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****  NameMapper.NotFound: cannot find 'milligram_per_meter_cubed' 
>>>>>>> while 
>>>>>>> searching for 'current.og_co.milligram_per_meter_cubed'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> Generate failed with exception '<class 'NameMapper.NotFound'>'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> **** Ignoring template /home/weewx/skins/airQ/second_device.html.tmpl
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> **** Reason: cannot find 'milligram_per_meter_cubed' while searching 
>>>>>>> for 
>>>>>>> 'current.eg_co.milligram_per_meter_cubed'
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****  Traceback (most recent call last):
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****    File "/home/weewx/bin/weewx/cheetahgenerator.py", line 332, in 
>>>>>>> generate
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****      unicode_string = compiled_template.respond()
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****    File "_home_weewx_skins_airQ_second_device_html_tmpl.py", line 
>>>>>>> 328, 
>>>>>>> in respond
>>>>>>> Sep  4 12:25:45 ba001 weewx[11803] ERROR weewx.cheetahgenerator: 
>>>>>>> ****  NameMapper.NotFound: cannot find 'milligram_per_meter_cubed' 
>>>>>>> while 
>>>>>>> searching for 'current.eg_co.milligram_per_meter_cubed'
>>>>>>>
>>>>>>> Nach Neustart
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: CPU 
>>>>>>> variant: 0x0
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: CPU 
>>>>>>> part: 0xc07
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: CPU 
>>>>>>> revision: 4
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: 
>>>>>>> Hardware: Allwinner sun7i (A20) Family
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: 
>>>>>>> Revision: 0000
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.cmon: cpuinfo: Serial: 
>>>>>>> 1651660f08c142bc
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.airQ: air-Q 0.7 
>>>>>>> initialize units
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device': observation group dict {'og_Temp': 'group_temperature', 
>>>>>>> 'og_Humidity': 'group_percent', 'og_HumAbs': 'group_concentration', 
>>>>>>> 'og_Dewpoint': 'group_temperature', 'og_Pressure': 'group_pressure', 
>>>>>>> 'og_Altimeter': 'group_pressure', 'og_Barometer': 'group_pressure', 
>>>>>>> 'og_co_m': 'group_concentration', 'og_co': 'group_fraction', 'og_co2': 
>>>>>>> 'group_fraction', 'og_h2s': 'group_concentration', 'og_no2_m': 
>>>>>>> 'group_concentration', 'og_no2': 'group_fraction', 'og_pm1_0': 
>>>>>>> 'group_concentration', 'og_pm2_5': 'group_concentration', 'og_pm10_0': 
>>>>>>> 'group_concentration', 'og_o3_m': 'group_concentration', 'og_o3': 
>>>>>>> 'group_fraction', 'og_so2_m': 'group_concentration', 'og_so2': 
>>>>>>> 'group_fraction', 'og_TVOC': 'group_fraction', 'og_o2': 
>>>>>>> 'group_percent', 
>>>>>>> 'og_noise': 'group_db', 'og_PerfIdx': 'group_percent', 'og_HealthIdx': 
>>>>>>> 'group_percent', 'og_cnt0_3': 'group_count', 'og_cnt0_5': 
>>>>>>> 'group_count', 
>>>>>>> 'og_cnt1_0': 'group_count', 'og_cnt2_5': 'group_count', 'og_cnt5_0': 
>>>>>>> 'group_count', 'og_cnt10_0': 'group_count'}
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device': observation group dict {'eg_Temp': 
>>>>>>> 'group_temperature', 
>>>>>>> 'eg_Humidity': 'group_percent', 'eg_HumAbs': 'group_concentration', 
>>>>>>> 'eg_Dewpoint': 'group_temperature', 'eg_Pressure': 'group_pressure', 
>>>>>>> 'eg_Altimeter': 'group_pressure', 'eg_Barometer': 'group_pressure', 
>>>>>>> 'eg_co_m': 'group_concentration', 'eg_co': 'group_fraction', 'eg_co2': 
>>>>>>> 'group_fraction', 'eg_h2s': 'group_concentration', 'eg_no2_m': 
>>>>>>> 'group_concentration', 'eg_no2': 'group_fraction', 'eg_pm1_0': 
>>>>>>> 'group_concentration', 'eg_pm2_5': 'group_concentration', 'eg_pm10_0': 
>>>>>>> 'group_concentration', 'eg_o3_m': 'group_concentration', 'eg_o3': 
>>>>>>> 'group_fraction', 'eg_so2_m': 'group_concentration', 'eg_so2': 
>>>>>>> 'group_fraction', 'eg_TVOC': 'group_fraction', 'eg_o2': 
>>>>>>> 'group_percent', 
>>>>>>> 'eg_noise': 'group_db', 'eg_PerfIdx': 'group_percent', 'eg_HealthIdx': 
>>>>>>> 'group_percent', 'eg_cnt0_3': 'group_count', 'eg_cnt0_5': 
>>>>>>> 'group_count', 
>>>>>>> 'eg_cnt1_0': 'group_count', 'eg_cnt2_5': 'group_count', 'eg_cnt5_0': 
>>>>>>> 'group_count', 'eg_cnt10_0': 'group_count'}
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.airQ: air-Q 0.7 service
>>>>>>> Sep  4 12:29:53 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' host address '192.168.38.18' prefix 'og' query interval 
>>>>>>> 5.0 
>>>>>>> s altitude 54 m
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' device id: 99...2a
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' firmware version: 1.20.2.r4_D_1.75
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' sensors: ['co', 'co2', 'no2', 'o3', 'oxygen', 
>>>>>>> 'particulates', 'pressure', 'so2', 'sound', 'temperature', 'tvoc', 
>>>>>>> 'humidity', 'humidity_abs', 'dewpt']
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' concentration units config: µg/m^3
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'first_device', host '192.168.38.18': initialized
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'first_device' QFF calculation temperature source: outTemp
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'first_device', host '192.168.38.18': starting
>>>>>>> Sep  4 12:29:54 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' host address '192.168.38.19' prefix 'eg' query interval 
>>>>>>> 5.0 
>>>>>>> s altitude 54 m
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'first_device', host '192.168.38.18': 200 - OK
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' device id: 21...63
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' firmware version: 1.20.2.r4_D_1.75
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' sensors: ['co', 'co2', 'no2', 'particulates', 
>>>>>>> 'pressure', 
>>>>>>> 'sound', 'temperature', 'tvoc', 'humidity', 'humidity_abs', 'dewpt']
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' concentration units config: µg/m^3
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'second_device', host '192.168.38.19': initialized
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: device 
>>>>>>> 'second_device' QFF calculation temperature source: outTemp
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'second_device', host '192.168.38.19': starting
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO user.airQ: 2 air-Q devices 
>>>>>>> found
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: StdConvert 
>>>>>>> target unit is 0x10
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.wxservices: 
>>>>>>> StdWXCalculate will use data binding wx_binding
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: Archive will 
>>>>>>> use data binding wx_binding
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: Record 
>>>>>>> generation will be attempted in 'hardware'
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: Using archive 
>>>>>>> interval of 300 seconds (specified in weewx configuration)
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO __main__: Starting up weewx 
>>>>>>> version 4.6.0b1
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: Using binding 
>>>>>>> 'wx_binding' to database 'weeAirQxHaus'
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.manager: Starting 
>>>>>>> backfill of daily summaries
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.manager: Daily 
>>>>>>> summaries up to date
>>>>>>> Sep  4 12:29:55 ba001 weewx[12149] INFO weewx.engine: Starting main 
>>>>>>> packet loop.
>>>>>>> Sep  4 12:29:56 ba001 weewx[12149] INFO user.airQ: thread 
>>>>>>> 'second_device', host '192.168.38.19': 200 - OK
>>>>>>>
>>>>>>> Danke 
>>>>>>> Hartmut
>>>>>>> [email protected] schrieb am Samstag, 4. September 2021 um 10:41:08 
>>>>>>> UTC+2:
>>>>>>>
>>>>>>>> Ich sehe es mir an, bitte aber noch um etwas Geduld.
>>>>>>>>
>>>>>>>> Folgende Punkte vorab:
>>>>>>>>
>>>>>>>>    - Bei WeeWX 4.6 (im Gegensatz zu 4.5) sollte es ein Verzeichnis 
>>>>>>>>    /home/weewx/skins/Seasons/lang geben, das mehrere Dateien mit 
>>>>>>>>    .conf am Ende (darunter de.conf) enthält. Wenn nicht, bitte von 
>>>>>>>>    Github herunterladen und dahin kopieren.
>>>>>>>>    - In /home/weewx/weewx.conf muß es im Abschnitt [[Seasons]] 
>>>>>>>>    einen Eintrag "lang = de" geben. Den gab es früher nicht, also 
>>>>>>>>    muß er ergänzt werden. Dann bitte prüfen, ob die Seasons-Skin noch 
>>>>>>>> richtig 
>>>>>>>>    erzeugt wird.
>>>>>>>>    - Die Abschnitte für die einzelnen airQs können sprechende 
>>>>>>>>    Namen haben. Das muß nicht "first_device" usw. sein. Das kann der 
>>>>>>>>    Aufstellort des Gerätes sein.
>>>>>>>>
>>>>>>>> Hilfreich wäre noch der Abschnitt [airQ] aus /home/weewx/weewx.conf
>>>>>>>> .
>>>>>>>>
>>>>>>>> [email protected] schrieb am Samstag, 4. September 2021 um 
>>>>>>>> 08:32:24 UTC+2:
>>>>>>>>
>>>>>>>>> Guten Morgen,
>>>>>>>>> ich habe versucht zwei airQ's hinzuzufügen.
>>>>>>>>> Ich verwende weewx 4.6.0.b1 
>>>>>>>>> mit Pythin 3.9 
>>>>>>>>> Debian Bullseye auf einem BananaPi
>>>>>>>>>
>>>>>>>>> als Driver habe ich "cmon" eingesetzt sonst wird die Datenbank 
>>>>>>>>> einfach zu groß
>>>>>>>>> cmon.sdb ist eingerichtet dann der Versuch
>>>>>>>>> 1.
>>>>>>>>> root@ba001:/home/weewx/bin# ./airq_conf --device=first_device 
>>>>>>>>> --add-columns 
>>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>>> Adding columns for device 'first_device', prefix 'og'
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>   File "/home/weewx/bin/./airq_conf", line 6, in <module>
>>>>>>>>>     user.airq_conf.main()
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 154, in main
>>>>>>>>>     addDropColumns(config_dict, db_binding, device, action_add, 
>>>>>>>>> action_drop)
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 214, in 
>>>>>>>>> addDropColumns
>>>>>>>>>     schema = manager_dict.get('schema',{}).get('table',{})
>>>>>>>>> AttributeError: 'list' object has no attribute 'get'
>>>>>>>>>
>>>>>>>>> root@ba001:/home/weewx/bin# ./airq_conf --device=second_device 
>>>>>>>>> --add-columns 
>>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>>> Adding columns for device 'second_device', prefix 'eg'
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>   File "/home/weewx/bin/./airq_conf", line 6, in <module>
>>>>>>>>>     user.airq_conf.main()
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 154, in main
>>>>>>>>>     addDropColumns(config_dict, db_binding, device, action_add, 
>>>>>>>>> action_drop)
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 214, in 
>>>>>>>>> addDropColumns
>>>>>>>>>     schema = manager_dict.get('schema',{}).get('table',{})
>>>>>>>>> AttributeError: 'list' object has no attribute 'get'
>>>>>>>>>
>>>>>>>>> 2.
>>>>>>>>> root@ba001:/home/weewx/bin# ./airq_conf --create-skin
>>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>>> device 'first_device':
>>>>>>>>>   sensors ['co', 'co2', 'no2', 'o3', 'oxygen', 'particulates', 
>>>>>>>>> 'pressure', 'so2', 'sound', 'temperature', 'tvoc', 'humidity', 
>>>>>>>>> 'humidity_abs', 'dewpt']
>>>>>>>>>   obstypes in database []
>>>>>>>>> device 'second_device':
>>>>>>>>>   sensors ['co', 'co2', 'no2', 'particulates', 'pressure', 
>>>>>>>>> 'sound', 'temperature', 'tvoc', 'humidity', 'humidity_abs', 'dewpt']
>>>>>>>>>   obstypes in database []
>>>>>>>>> Seasons skin path: /home/weewx/skins/Seasons
>>>>>>>>> airQ skin path:    /home/weewx/skins/airQ
>>>>>>>>> Seasons skin lang: None
>>>>>>>>> '/home/weewx/skins/airQ' already exists, contents will be 
>>>>>>>>> overwritten
>>>>>>>>> copy seasons.css
>>>>>>>>> copy seasons.js
>>>>>>>>> copy favicon.ico
>>>>>>>>> font directory already exists
>>>>>>>>> copy OpenSans-Regular.ttf
>>>>>>>>> copy OpenSans.woff
>>>>>>>>> copy OpenSans-Bold.ttf
>>>>>>>>> copy OpenSans.woff2
>>>>>>>>> copy Kanit-Bold.ttf
>>>>>>>>> copy license.txt
>>>>>>>>> copy OFL.txt
>>>>>>>>> copy Kanit-Regular.ttf
>>>>>>>>> language directory already exists
>>>>>>>>> creating skin file '/home/weewx/skins/airQ/skin.conf'
>>>>>>>>>   writing section [CheetahGenerator]
>>>>>>>>>   writing section [CopyGenerator]
>>>>>>>>>   writing section [ImageGenerator]
>>>>>>>>>   writing section [Generators]
>>>>>>>>>   done.
>>>>>>>>> no language defined
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>   File "/home/weewx/bin/./airq_conf", line 6, in <module>
>>>>>>>>>     user.airq_conf.main()
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 152, in main
>>>>>>>>>     createSkin(config_path,config_dict, db_binding)
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 664, in createSkin
>>>>>>>>>     airqlang = 
>>>>>>>>> SkinLanguage(seasons_skin_path,airq_skin_path,seasons_lang)
>>>>>>>>>   File "/home/weewx/bin/user/airq_conf.py", line 805, in __init__
>>>>>>>>>     if os.path.isfile(self.seasons_lang_path):
>>>>>>>>>   File "/usr/lib/python3.9/genericpath.py", line 30, in isfile
>>>>>>>>>     st = os.stat(path)
>>>>>>>>> TypeError: stat: path should be string, bytes, os.PathLike or 
>>>>>>>>> integer, not NoneType
>>>>>>>>>
>>>>>>>>> 3. jedoch
>>>>>>>>> root@ba001:/home/weewx/bin# ./airq_conf --device=second_device 
>>>>>>>>> --set-location=53.605963,11.341407
>>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>>> device 'second_device' host '192.168.38.19' set {'geopos': {'lat': 
>>>>>>>>> 53.605963, 'long': 11.341407}}
>>>>>>>>> Are you sure you want to proceed (y/n)?y
>>>>>>>>> id: 21...63
>>>>>>>>> content: Success: new setting saved for key 'geopos': {'lat': 
>>>>>>>>> 53.60597, 'long': 11.34141}
>>>>>>>>> und
>>>>>>>>> root@ba001:/home/weewx/bin# ./airq_conf --device=second_device 
>>>>>>>>> --set-ntp=de
>>>>>>>>> Using configuration file /home/weewx/weewx.conf
>>>>>>>>> device 'second_device' host '192.168.38.19' set {'TimeServer': '
>>>>>>>>> ptbtime3.ptb.de'}
>>>>>>>>> Are you sure you want to proceed (y/n)?y
>>>>>>>>> id: 21..63
>>>>>>>>> content: Success: new setting saved for key 'TimeServer': 
>>>>>>>>> ptbtime3.ptb.de
>>>>>>>>> erfolgreich
>>>>>>>>>
>>>>>>>>> Ich bitte um Hilfe
>>>>>>>>>
>>>>>>>>> Hartmut
>>>>>>>>>
>>>>>>>>

-- 
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/273c46c3-118a-482a-922c-1ed5f8d7f93dn%40googlegroups.com.

Reply via email to