Hallo,
habe heute erstmals das SQLIte-Plugin aus dem dev installiert, um das Regelungsverhalten meiner KWL bei bestimmten Temperaturbedingungen nachvollziehen zu können. Anschließend (nach einigen Fehlermeldungen) auch die lib/item.py ausgetauscht, wie hier in einem anderen Thread empfohlen.
Fast alles läuft problemlos und ohne Fehler - nur 4 Items, die über eval berechnet werden, machen Ärger.
Was mich wundert: Sobald ich das SQLite-Plugin abschalte, werden die Items sauber und ohne Fehler berechnet, die evals scheinen also zu stimmen (und haben hier schon mehreren Monaten ohne Fehlermeldung ihre Dienste getan). Schalte ich SQLite an, ist das Log schon in der ersten Minute voll.
Auch haben diese Items gar nichts mit SQLite zu tun - sie werden gar nicht in die Datenbank geschrieben ...
Das beschrieben Verhalten ist hier definitiv reproduzierbar.
Die Fehlermeldung bei aktiviertem SQLite:
Die Items:
Ein äußeres int() löst das Problem leider nicht (gleiche Fehlermeldung), es scheint also eher innerhalb der Formel zu liegen. Hat jemand eine Idee, woran es liegen könnte? Danke im Voraus!
/tom
habe heute erstmals das SQLIte-Plugin aus dem dev installiert, um das Regelungsverhalten meiner KWL bei bestimmten Temperaturbedingungen nachvollziehen zu können. Anschließend (nach einigen Fehlermeldungen) auch die lib/item.py ausgetauscht, wie hier in einem anderen Thread empfohlen.
Fast alles läuft problemlos und ohne Fehler - nur 4 Items, die über eval berechnet werden, machen Ärger.
Was mich wundert: Sobald ich das SQLite-Plugin abschalte, werden die Items sauber und ohne Fehler berechnet, die evals scheinen also zu stimmen (und haben hier schon mehreren Monaten ohne Fehlermeldung ihre Dienste getan). Schalte ich SQLite an, ist das Log schon in der ersten Minute voll.
Auch haben diese Items gar nichts mit SQLite zu tun - sie werden gar nicht in die Datenbank geschrieben ...
Das beschrieben Verhalten ist hier definitiv reproduzierbar.
Die Fehlermeldung bei aktiviertem SQLite:
Code:
2016-01-16 17:12:28 WARNING ventilation.fans.supply.power_consumption Item ventilation.fans.supply.power_consumption: problem evaluating int(sh.ventilation.consumption_per_mode().split()[sh.ventilation.fanspeed()]) / 2: [COLOR=#ff0000]list indices must be integers, not float[/COLOR]
Code:
[ventilation] [[fanspeed]] name = Aktuelle Lüftungsstufe type = num helios_var = fanspeed visu_acl = rw sqlite = yes enforce_updates = yes [[consumption_per_mode]] name = Verbrauch der Ventilatoren je Stufe in W (siehe Anlagendoku) type = str value = "0 20 36 50 72 92 130 160 194" visu_acl = r [[airflow_per_mode]] name = Volumenstrom je Stufe in m³/h (siehe Anlagendoku); F7-Filter = jeweils -10%! type = str value = "0 105 165 195 240 270 305 335 360" visu_acl = r [[fans]] [[[supply]]] # Zuluft [[[[power_consumption]]]] name = Stromverbrauch, siehe Anlagendoku (notwendiges Hilfsitem) type = num visu_acl = r [COLOR=#ff0000]eval = int(sh.ventilation.consumption_per_mode().split()[sh.ventilation.fanspeed()]) / 2[/COLOR] eval_trigger = ventilation.fanspeed | ventilation.fans.supply.is_running | ventilation.fans.supply.percent [[[[airflow]]]] name = Luftdurchsatz in m³ gem. Ventilatorkurve type = num visu_acl = r [COLOR=#ff0000]eval = sh.ventilation.airflow_per_mode().split()[sh.ventilation.fanspeed()][/COLOR] eval_trigger = ventilation.fanspeed | ventilation.fans.supply.is_running | ventilation.fans.supply.percent [[[[exhaust]]] # Fortluft [[[[power_consumption]]]] name = Stromverbrauch, siehe Anlagendoku (notwendiges Hilfsitem) type = num visu_acl = r [COLOR=#ff0000]eval = int(sh.ventilation.consumption_per_mode().split()[sh.ventilation.fanspeed()]) / 2[/COLOR] eval_trigger = ventilation.fanspeed | ventilation.fans.exhaust.is_running | ventilation.fans.exhaust.percent [[[[airflow]]]] name = Luftdurchsatz in m³ gem. Ventilatorkurve type = num visu_acl = r [COLOR=#ff0000]eval = sh.ventilation.airflow_per_mode().split()[sh.ventilation.fanspeed()][/COLOR] eval_trigger = ventilation.fanspeed | ventilation.fans.exhaust.is_running | ventilation.fans.exhaust.percent
/tom
Kommentar