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.
