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/3d8370e3-9e47-4995-bfc7-9df27fc354f9n%40googlegroups.com.