sek
Laufzeit_Aktuell_s
Temperatur_Aktuell
TempOK
Betriebsvorwahl
Einschaltschwelle_Verbraucher_in_Watt
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
Verbraucher_Schalten
Ausschaltschwelle_Verbraucher_in_Watt
Temperatur_vor_Start_Heizstab
Wolkenerkennung_Eingeschalten
Freigabe_von_Wechselrichter
PV_Lastleistung_Einspeiseleistung
Temperatur_Ende_Heizstab
Betriebsstunden_Gesamt_Sek
Betriebsstunden_Gesamt_Schnitt_Sekunden
Wolken_erkannt
timeout_Einschaltverzögerung
timeout_Erzeugung_zu_niedrig
timeout_Wolkenverzoegerung_einschalten
Start pro tag und Hilfsvariablen Rücksetzen:
{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}
Start pro tag Rücksetzen:
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_pro_Tag
FALSE
0
Hilfsvariablen Rücksetzen:
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
FALSE
Laufzeiten, Starts erfassen / Telegram-Nachrichten:
https://forum.iobroker.net/topic/23336/betriebsstundenz%C3%A4hler-laufzeit-start/5
openknx.0.Keller_Heizung___Tropfwasserpumpe___Schaltaktoren.Keller_Schaltaktoren.KG_AMI_Schaltaktor_mit_Strommessung_Kanal_J_(Heizstab)_Schalten_Status
ne
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Trigger_State
FALSE
state.val
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Trigger_State
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_Gesamt
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_Gesamt
1
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_pro_Tag
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_pro_Tag
1
Nachricht senden:
state.val
FALSE
HTML
FALSE
FALSE
text
<b>Heizung</b>
\n
Heizstab wurde eingeschaltet !!!
\n
Freigabe von Wechselrichter:
Freigabe_von_Wechselrichter
\n
PV-Lastleistung:
PV_Lastleistung_Einspeiseleistung
\n
Temperatur:
val
km200.0.dhwCircuits.dhw1.actualTemp
Quorle
FALSE
HTML
FALSE
FALSE
text
<b>Heizung</b>
\n
Heizstab wurde abgeschaltet !!!
\n
Freigabe von Wechselrichter:
Freigabe_von_Wechselrichter
\n
PV-Lastleistung:
PV_Lastleistung_Einspeiseleistung
\n
Temperatur:
val
km200.0.dhwCircuits.dhw1.actualTemp
\n
Anzahl Tagesstarts:
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_pro_Tag
Quorle
Logik Laufzeiten
ne
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Trigger_State
state.val
log
Timer gestartet
Laufzeit_Aktuell_s
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_s
FALSE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_m
FALSE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_h
FALSE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_h
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_h
FALSE
0
log
Timer gestoppt
RESET Alle Zähler Laufzeiten
any
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Reset
state.val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_h
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_Gesamt
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_pro_Tag
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_h
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_h
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_m
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Letzte_Laufzeit_s
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_h
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_m
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_s
FALSE
0
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Reset
FALSE
FALSE
Func_Timer
Beschreibe diese Funktion …
Laufzeit_Aktuell_s
1
sec
Aktueller Zähler
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
1
GTE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
59
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
1
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_s
FALSE
0
GTE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
59
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_h
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_h
1
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Aktuell_m
FALSE
0
Summe Zähler
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
1
GTE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
59
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
1
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
FALSE
0
GTE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
59
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_h
FALSE
ADD
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_h
1
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
FALSE
0
Durchschnitt errechnen
Betriebsstunden_Gesamt_Sek
0
Betriebsstunden_Gesamt_Sek
MULTIPLY
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_h
3600
Betriebsstunden_Gesamt_Sek
1
MULTIPLY
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
60
Betriebsstunden_Gesamt_Sek
1
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
Betriebsstunden_Gesamt_Schnitt_Sekunden
DIVIDE
1
Betriebsstunden_Gesamt_Sek
3600
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Anzahl_Starts_Gesamt
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_s
FALSE
Betriebsstunden_Gesamt_Schnitt_Sekunden
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_m
FALSE
Betriebsstunden_Gesamt_Schnitt_Sekunden
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_h
FALSE
Betriebsstunden_Gesamt_Schnitt_Sekunden
Temperaturueberwachung_AllesAus
any
default
km200.0.dhwCircuits.dhw1.actualTemp
Temperatur_Aktuell
state.val
LTE
state.val
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Min_Temperaturvorgabe_zur_Einschaltung
TempOK
TRUE
GTE
state.val
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Max_Temperaturvorgabe_zur_Abschaltung
TempOK
FALSE
Gesamtlaufzeiten für Stringausgabe berechnen:
Und Temperaturdifferenz berechnen:
openknx.0.Keller_Heizung___Tropfwasserpumpe___Schaltaktoren.Keller_Schaltaktoren.KG_AMI_Schaltaktor_mit_Strommessung_Kanal_J_(Heizstab)_Schalten_Status
ne
state.val
Temperaturdifferenz wärend Laufzeit berechnen
bei Start Heizstab:
Temperatur_vor_Start_Heizstab
Temperatur_Aktuell
state.val
Gesamtlaufzeiten Summe:
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_String
FALSE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_h
:
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_m
:
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Summe_s
Gesamtlaufzeiten Durchschnitt::
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Laufzeit_Durchschnitt_String
FALSE
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_h
:
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_m
:
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsstunden.Werte.Durchschnitt_s
Temperaturdifferenz wärend Laufzeit berechnen
bei Ende Heizstab:
Temperatur_Ende_Heizstab
Temperatur_Aktuell
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Temperaturdifferenz_Nachheizung
TRUE
1
sec
FALSE
MINUS
1
Temperatur_Ende_Heizstab
1
Temperatur_vor_Start_Heizstab
Verbraucher_1_F
Funktion um Verbraucher zu schalten
Funktion Verbraucher schalten:
warn
Verbraucher 1
Verbraucher 1
EQ
Verbraucher_Schalten
TRUE
zugeschaltet
abgeschaltet
NEQ
val
openknx.0.Keller_Heizung___Tropfwasserpumpe___Schaltaktoren.Keller_Schaltaktoren.KG_AMI_Schaltaktor_mit_Strommessung_Kanal_J_(Heizstab)_Schalten_Status
Verbraucher_Schalten
openknx.0.Keller_Heizung___Tropfwasserpumpe___Schaltaktoren.Keller_Schaltaktoren.KG_AMI_Schaltaktor_mit_Strommessung_Kanal_J_(Heizstab)_Schalten_EIN_AUS
FALSE
Verbraucher_Schalten
create state
LypjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLlBoYXNlXzEnLCB7DQogICBuYW1lOiAnUGhhc2UgMSBlaW5zY2hhbHRlbicsDQogICBkZXNjOiAnUGhhc2UgMSBlaW5zY2hhbHRlbicsDQogICB0eXBlOiAnYm9vbGVhbicsDQogICByb2xlOiAnc3dpdGNoJw0KfSk7DQoNCiovDQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuV29sa2VuZXJrZW5udW5nJywgew0KICAgbmFtZTogJ1dvbGtlbmVya2VubnVuZycsDQogICBkZXNjOiAnV29sa2VuZXJrZW5udW5nJywNCiAgIHR5cGU6ICdib29sZWFuJywNCiAgIHJvbGU6ICdzd2l0Y2gnLA0KICAgInN0YXRlcyI6IHsNCiAgICAgICAiZmFsc2UiOiAiS2VpbmUgV29sa2VuIGVya2FubnQiLA0KICAgICAgICJ0cnVlIjogIldvbGtlbiBlcmthbm50Ig0KICAgfQ0KfSk7DQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuQmV0cmllYnN2b3J3YWhsJywgew0KICAgbmFtZTogJ1BoYXNlIDEgQXVzL0Vpbi9BdXRvJywNCiAgIGRlc2M6ICdQaGFzZSAxIEF1cy9FaW4vQXV0bycsDQogICB0eXBlOiAnbnVtYmVyJywNCiAgIHJvbGU6ICd2YWx1ZScsDQogICAic3RhdGVzIjogew0KICAgICAgIjAiOiAiQXVzIiwNCiAgICAgICIxIjogIk1hbnVlbGwgRWluIiwNCiAgICAgICIyIjogIkF1dG9tYXRpayINCiAgICB9DQp9KTsNCg0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuQWt0dWVsbF9zJywgMCwgeyANCiAgICBuYW1lOiAnQWt0dWVsbF9zJywgDQogICAgZGVzYzogJ0FrdHVlbGxfcycsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAncycsIA0KICAgIG1pbjogJzAnLCANCiAgICBtYXg6ICc2MCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KDQpjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5XZXJ0ZS5Ba3R1ZWxsX20nLCAwLCB7IA0KICAgIG5hbWU6ICdBa3R1ZWxsX20nLCANCiAgICBkZXNjOiAnQWt0dWVsbF9tJywgDQogICAgdHlwZTogJ251bWJlcicsIA0KICAgIHVuaXQ6ICdtJywgDQogICAgbWluOiAnMCcsIA0KICAgIG1heDogJzYwJywNCiAgICByZWFkOiB0cnVlLCANCiAgICB3cml0ZTogdHJ1ZQ0KICAgIH0pOyANCg0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuQWt0dWVsbF9oJywgMCwgeyANCiAgICBuYW1lOiAnQWt0dWVsbF9oJywgDQogICAgZGVzYzogJ0FrdHVlbGxfaCcsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAnaCcsIA0KICAgIG1pbjogJzAnLCANCiAgICBtYXg6ICcxMDAwMDAwJywNCiAgICByZWFkOiB0cnVlLCANCiAgICB3cml0ZTogdHJ1ZSANCiAgICB9KTsgDQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuQmV0cmllYnNzdHVuZGVuLldlcnRlLkxldHp0ZV9MYXVmemVpdF9zJywgMCwgeyANCiAgICBuYW1lOiAnTGV0enRlX0xhdWZ6ZWl0X3MnLCANCiAgICBkZXNjOiAnTGV0enRlX0xhdWZ6ZWl0X3MnLCANCiAgICB0eXBlOiAnbnVtYmVyJywgDQogICAgdW5pdDogJ3MnLCANCiAgICBtaW46ICcwJywgDQogICAgbWF4OiAnNjAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOyANCg0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuTGV0enRlX0xhdWZ6ZWl0X20nLCAwLCB7IA0KICAgIG5hbWU6ICdMZXR6dGVfTGF1ZnplaXRfbScsIA0KICAgIGRlc2M6ICdMZXR6dGVfTGF1ZnplaXRfbScsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAnbScsIA0KICAgIG1pbjogJzAnLCANCiAgICBtYXg6ICc2MCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KDQpjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5XZXJ0ZS5MZXR6dGVfTGF1ZnplaXRfaCcsIDAsIHsgDQogICAgbmFtZTogJ0xldHp0ZV9MYXVmemVpdF9oJywgDQogICAgZGVzYzogJ0xldHp0ZV9MYXVmemVpdF9oJywgDQogICAgdHlwZTogJ251bWJlcicsIA0KICAgIHVuaXQ6ICdoJywgDQogICAgbWluOiAnMCcsIA0KICAgIC8vIG1heDogJzEwMDAwMDAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOyANCg0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuTGF1ZnplaXRfU3VtbWVfcycsIDAsIHsgDQogICAgbmFtZTogJ0xhdWZ6ZWl0X1N1bW1lX3MnLCANCiAgICBkZXNjOiAnU3VtbWVfcycsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAncycsIA0KICAgIG1pbjogJzAnLCANCiAgICBtYXg6ICc2MCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuTGF1ZnplaXRfU3VtbWVfbScsIDAsIHsgDQogICAgbmFtZTogJ0xhdWZ6ZWl0X1N1bW1lX20nLCANCiAgICBkZXNjOiAnU3VtbWVfbScsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAnbScsIA0KICAgIG1pbjogJzAnLCANCiAgICBtYXg6ICc2MCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuTGF1ZnplaXRfU3VtbWVfaCcsIDAsIHsgDQogICAgbmFtZTogJ0xhdWZ6ZWl0X1N1bW1lX2gnLCANCiAgICBkZXNjOiAnU3VtbWVfaCcsIA0KICAgIHR5cGU6ICdudW1iZXInLCANCiAgICB1bml0OiAnaCcsIA0KICAgIG1pbjogJzAnLCANCiAgICAvLyBtYXg6ICcxMDAwMDAwJywNCiAgICByZWFkOiB0cnVlLCANCiAgICB3cml0ZTogdHJ1ZSANCiAgICB9KTsgDQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuQmV0cmllYnNzdHVuZGVuLldlcnRlLkR1cmNoc2Nobml0dF9zJywgMCwgeyANCiAgICBuYW1lOiAnRHVyY2hzY2huaXR0X3MnLCANCiAgICBkZXNjOiAnU2Nobml0dF9zJywgDQogICAgdHlwZTogJ21peGVkJywgDQogICAgdW5pdDogJ3MnLCANCiAgICBtaW46ICcwJywgDQogICAgbWF4OiAnNjAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlDQogICAgIH0pOyANCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuQmV0cmllYnNzdHVuZGVuLldlcnRlLkR1cmNoc2Nobml0dF9tJywgMCwgeyANCiAgICBuYW1lOiAnRHVyY2hzY2huaXR0X20nLCANCiAgICBkZXNjOiAnU2Nobml0dF9tJywgDQogICAgdHlwZTogJ21peGVkJywgDQogICAgdW5pdDogJ20nLCANCiAgICBtaW46ICcwJywgDQogICAgbWF4OiAnNjAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOyANCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuQmV0cmllYnNzdHVuZGVuLldlcnRlLkR1cmNoc2Nobml0dF9oJywgMCwgeyANCiAgICBuYW1lOiAnRHVyY2hzY2huaXR0X2gnLCANCiAgICBkZXNjOiAnU2Nobml0dF9oJywgDQogICAgdHlwZTogJ21peGVkJywgDQogICAgdW5pdDogJ2gnLCANCiAgICAvLyBtaW46ICcwJywgDQogICAgLy8gbWF4OiAnMTAwMDAwMCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KDQpjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5XZXJ0ZS5BbnphaGxfU3RhcnRzX0dlc2FtdCcsIDAsIHsgDQogICAgbmFtZTogJ0FuemFobF9TdGFydHNfR2VzYW10JywgDQogICAgZGVzYzogJ0FuemFobF9TdGFydHNfR2VzYW10JywgDQogICAgdHlwZTogJ251bWJlcicsIA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOw0KDQpjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5XZXJ0ZS5BbnphaGxfU3RhcnRzX3Byb19UYWcnLCAwLCB7IA0KICAgIG5hbWU6ICdBbnphaGxfU3RhcnRzX3Byb19UYWcnLCANCiAgICBkZXNjOiAnQW56YWhsX1N0YXJ0c19wcm9fVGFnJywgDQogICAgdHlwZTogJ251bWJlcicsIA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOw0KDQoNCg0KY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uUmVzZXQnLCAwLCB7IA0KICAgIG5hbWU6ICdSZXNldCcsIA0KICAgIGRlc2M6ICdSZXNldCcsIA0KICAgIHR5cGU6ICdib29sZWFuJywgDQogICAgZGVmOiBmYWxzZSwgDQogICAgcmVhZDogdHJ1ZSwNCiAgICB3cml0ZTogdHJ1ZSANCiAgICB9KTsgDQpjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5UcmlnZ2VyX1N0YXRlJywgMCwgeyANCiAgICBuYW1lOiAnVHJpZ2dlcl9TdGF0ZScsIA0KICAgIGRlc2M6ICdTdGF0ZScsIA0KICAgIHR5cGU6ICdib29sZWFuJywNCiAgICByZWFkOiB0cnVlLCANCiAgICB3cml0ZTogdHJ1ZSANCiAgICB9KTsgDQoNCiAgICBjcmVhdGVTdGF0ZSgnMF91c2VyZGF0YS4wLkhlaXp1bmcuV2FybXdhc3NlcnNwZWljaGVyX1RhdWNoc2llZGVyLjFfUGhhc2lnLkJldHJpZWJzc3R1bmRlbi5XZXJ0ZS5MYXVmemVpdF9TdW1tZV9TdHJpbmcnLCAwLCB7IA0KICAgIG5hbWU6ICdMYXVmemVpdF9TdW1tZV9TdHJpbmcnLCANCiAgICBkZXNjOiAnU3VtbWVfU3RyaW5nJywgDQogICAgdHlwZTogJ21peGVkJywgDQogICAgdW5pdDogJ2gnLCANCiAgICAvLyBtaW46ICcwJywgDQogICAgLy8gbWF4OiAnMTAwMDAwMCcsDQogICAgcmVhZDogdHJ1ZSwgDQogICAgd3JpdGU6IHRydWUgDQogICAgfSk7IA0KDQogICAgY3JlYXRlU3RhdGUoJzBfdXNlcmRhdGEuMC5IZWl6dW5nLldhcm13YXNzZXJzcGVpY2hlcl9UYXVjaHNpZWRlci4xX1BoYXNpZy5CZXRyaWVic3N0dW5kZW4uV2VydGUuTGF1ZnplaXRfRHVyY2hzY2huaXR0X1N0cmluZycsIDAsIHsgDQogICAgbmFtZTogJ0xhdWZ6ZWl0X0R1cmNoc2Nobml0dF9TdHJpbmcnLCANCiAgICBkZXNjOiAnRHVyY2hzY2huaXR0X1N0cmluZycsIA0KICAgIHR5cGU6ICdtaXhlZCcsIA0KICAgIHVuaXQ6ICdoJywgDQogICAgLy8gbWluOiAnMCcsIA0KICAgIC8vIG1heDogJzEwMDAwMDAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KICAgIH0pOw0KDQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuYWt0dWVsbGVyX1N0cm9tdmVyYnJhdWNoX2luX0tXL2gnLCB7DQogICBuYW1lOiAnQWt0dWVsbGVyIFN0cm9tdmVyYnJhdWNoIGluIEtXL2gnLA0KICAgZGVzYzogJ0FrdHVlbGxlciBTdHJvbXZlcmJyYXVjaCBpbiBLVy9oJywNCiAgIHR5cGU6ICdudW1iZXInLA0KICAgdW5pdDogIktXL2giLA0KICAgcm9sZTogJ3N0YXRlJw0KfSk7DQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuTWF4X1RlbXBlcmF0dXJ2b3JnYWJlX3p1cl9BYnNjaGFsdHVuZycsIHsNCiAgIG5hbWU6ICdUZW1wZXJhdHVydm9yZ2FiZSB6dXIgQWJzY2hhbHR1bmcgSGVpenN0YWInLA0KICAgZGVzYzogJ1RlbXBlcmF0dXJ2b3JnYWJlIHp1ciBBYnNjaGFsdHVuZyBIZWl6c3RhYicsDQogICB0eXBlOiAnbnVtYmVyJywNCiAgIHVuaXQ6ICLCsEMiLA0KICAgcm9sZTogJ3N0YXRlJywNCiAgICBtaW46ICcwJywgDQogICAgbWF4OiAnODAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KfSk7DQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuTWluX1RlbXBlcmF0dXJ2b3JnYWJlX3p1cl9FaW5zY2hhbHR1bmcnLCB7DQogICBuYW1lOiAnVGVtcGVyYXR1cnZvcmdhYmUgenVyIEVpbnNjaGFsdHVuZyBIZWl6c3RhYicsDQogICBkZXNjOiAnVGVtcGVyYXR1cnZvcmdhYmUgenVyIEVpbnNjaGFsdHVuZyBIZWl6c3RhYicsDQogICB0eXBlOiAnbnVtYmVyJywNCiAgIHVuaXQ6ICLCsEMiLA0KICAgcm9sZTogJ3N0YXRlJywNCiAgICBtaW46ICcwJywgDQogICAgbWF4OiAnODAnLA0KICAgIHJlYWQ6IHRydWUsIA0KICAgIHdyaXRlOiB0cnVlIA0KfSk7DQoNCmNyZWF0ZVN0YXRlKCcwX3VzZXJkYXRhLjAuSGVpenVuZy5XYXJtd2Fzc2Vyc3BlaWNoZXJfVGF1Y2hzaWVkZXIuMV9QaGFzaWcuVGVtcGVyYXR1cmRpZmZlcmVuel9OYWNoaGVpenVuZycsIHsNCiAgIG5hbWU6ICdUZW1wZXJhdHVyZGlmZmVyZW56IE5hY2hoZWl6dW5nJywNCiAgIGRlc2M6ICdUZW1wZXJhdHVyIGRpZSBpbiBkZXIgTGF1ZnplaXQgZGVzIEhlaXpzdGFiZXMgYXVmZ2VoZWl6dCB3dXJkZScsDQogICB0eXBlOiAnbnVtYmVyJywNCiAgIHVuaXQ6ICLCsEMiLA0KICAgcm9sZTogJ3N0YXRlJywNCiAgICByZWFkOiB0cnVlLCANCiAgICB3cml0ZTogdHJ1ZSANCn0pOw==
Funktion um die ganzen States zu erzeugen
func_gesamt_s_zu_h
ICAgIHZhciBzZWt1bmRlbiA9IHNlayU2MDsNCiAgICB2YXIgcmVzdF9taW4gPSBzZWslMzYwMCAtc2VrdW5kZW47DQogICAgdmFyIG1pbnV0ZW4gPSByZXN0X21pbi82MDsNCiAgICB2YXIgc3R1bmRlbiA9IChzZWsgLSByZXN0X21pbiAtIHNla3VuZGVuKS8zNjAwOw0KDQpyZXR1cm4gc3R1bmRlbjs=
Beschreibe diese Funktion …
func_gesamt_s_zu_m
ICAgIHZhciBzZWt1bmRlbiA9IHNlayU2MDsNCiAgICB2YXIgcmVzdF9taW4gPSBzZWslMzYwMCAtc2VrdW5kZW47DQogICAgdmFyIG1pbnV0ZW4gPSByZXN0X21pbi82MDsNCg0KcmV0dXJuIG1pbnV0ZW47
Beschreibe diese Funktion …
func_gesamt_s_zu_s
ICAgIHZhciBzZWt1bmRlbiA9IHNlayU2MDsNCnJldHVybiBzZWt1bmRlbi50b0ZpeGVkKDApOw==
Beschreibe diese Funktion …
Verbraucher nach Priorität definieren
TempOK
TRUE
Betriebsvorwahl
val
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsvorwahl
Einschaltschwelle_Verbraucher_in_Watt
2100
Ausschaltschwelle_Verbraucher_in_Watt
500
Verbraucher_Schalten
FALSE
Wolkenerkennung_Eingeschalten
FALSE
Freigabe_von_Wechselrichter
val
openknx.0.Kellergeschoss_Binäreingänge.KG_Binäreingänge.KG_Binäreingang_C_Schalter
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
FALSE
Alle Timeouts bei Scriptstart stoppen:
timeout_Erzeugung_zu_niedrig
timeout_Wolkenverzoegerung_einschalten
timeout_Einschaltverzögerung
any
default
modbus.0.inputRegisters.13009_Export_Power
PV_Lastleistung_Einspeiseleistung
state.val
Hauptfreigabe:
AND
AND
Wolken_erkannt
Wolkenerkennung_Eingeschalten
AND
TempOK
EQ
Betriebsvorwahl
2
Startfreigabe Einschalten:
AND
AND
Freigabe_von_Wechselrichter
EQ
Verbraucher_Schalten
FALSE
AND
GT
state.val
Einschaltschwelle_Verbraucher_in_Watt
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
TRUE
warn
Einschaltbedingung (Trigger Lastleistung) Timeout_Einschaltverzögerung aktiviert
timeout_Erzeugung_zu_niedrig
timeout_Einschaltverzögerung
timeout_Einschaltverzögerung
5
min
Hilfsvariable_Einschaltverzoegerung_bereits_aktiv
FALSE
Verbraucher_Schalten
TRUE
warn
Einschaltbedingung (Trigger Lastleistung) Timeout_Einschaltverzögerung abgelaufen
Abschalten Erzeugung zu niedrig:
AND
EQ
Verbraucher_Schalten
TRUE
OR
Freigabe_von_Wechselrichter
LT
state.val
Ausschaltschwelle_Verbraucher_in_Watt
warn
Einschaltbedingung (Trigger Lastleistung) Timeout_Erzeugung_zu_niedrig aktiviert
timeout_Einschaltverzögerung
timeout_Erzeugung_zu_niedrig
5
min
Verbraucher_Schalten
FALSE
warn
Einschaltbedingung (Trigger Lastleistung) Timeout_Erzeugung_zu_niedrig abgelaufen
timeout_Erzeugung_zu_niedrig
warn
Einschaltbedingung (Trigger Lastleistung) Timeout_Erzeugung_zu_niedrig STOP
OR
OR
Wolken_erkannt
Freigabe_von_Wechselrichter
OR
TempOK
EQ
Betriebsvorwahl
0
Verbraucher wird abgeschaltet !!!
timeout_Einschaltverzögerung
Verbraucher_Schalten
FALSE
warn
Einschaltbedingung (Trigger Lastleistung) Alles abschalten. Irgendeine Freigabe fehlt!
Wolkenerkennung:
any
true
default
openknx.0.Wetterdaten.Wetterdaten_Wetterstation.DG_Wetterstation_Helligkeit__Süd
warn
test
Trigger Wolkenerkennung ausgelöst
GT
state.val
10500
Wolkenerkennung aktivieren:
Wolkenerkennung_Eingeschalten
TRUE
AND
GT
PV_Lastleistung_Einspeiseleistung
Einschaltschwelle_Verbraucher_in_Watt
EQ
Betriebsvorwahl
2
AND
AND
LT
state.val
20000
Verbraucher_Schalten
Wolkenerkennung_Eingeschalten
warn
test
Wolken erkannt
timeout_Wolkenverzoegerung_einschalten
timeout_Wolkenverzoegerung_einschalten
10
min
Wolken_erkannt
TRUE
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Wolkenerkennung
FALSE
TRUE
warn
test
Wolken erkannt und Melder eingeschaltet "true" !!!
AND
GT
state.val
22000
Wolkenerkennung_Eingeschalten
warn
test
Keine Wolken mehr erkannt
timeout_Wolkenverzoegerung_einschalten
Wolken_erkannt
FALSE
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Wolkenerkennung
FALSE
FALSE
Wolkenerkennung_Eingeschalten
Wolkenerkennung deaktivieren:
Wolkenerkennung_Eingeschalten
FALSE
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Wolkenerkennung
FALSE
FALSE
warn
test
Wolkenerkennung abgeschaltet !!!
Manuelles Schalten durch
Betriebsvorwahl:
0 = Aus
1 = Manuel Ein
2 = Automatikbetrieb
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.Betriebsvorwahl
ne
Betriebsvorwahl
state.val
EQ
state.val
1
1 = Manuel Ein
Verbraucher_Schalten
TRUE
EQ
state.val
0
0 = Aus
Verbraucher_Schalten
FALSE
Freigabe von Wechselrichter in Variable schreiben:
knx.0.Kellergeschoss_Binäreingänge.KG_Binäreingänge.KG_Binäreingang_C_Wert_für_Umschaltung
ne
Freigabe_von_Wechselrichter
state.val
Umrechnung von A --> KW für Energiediagramm:
openknx.0.Erdgeschoss_Zentralfunktionen.Messwerte.EG_AMI_Kanal_J_Stromwert
ne
0_userdata.0.Heizung.Warmwasserspeicher_Tauchsieder.1_Phasig.aktueller_Stromverbrauch_in_KW/h
FALSE
2
3.1234
DIVIDE
1
MULTIPLY
1
state.val
1
val
sonoff.0.Tasmota Energiezähler.SML_Spannung L1
1
1000