über readingList eingestellte Werte verschwinden bei state=disable

Begonnen von Muschelpuster, 14 Januar 2017, 19:21:22

Vorheriges Thema - Nächstes Thema

Muschelpuster

Moin zusammen,

ich wollte mit den neuen schönen Versionen meinem Sohn einen kleinen Biowecker bauen (etwas Licht an, bevor der Wecker los geht). Da mit die Zeiten nicht immer wieder verändert werden müssen, dachte ich baue 2 (1x zur 1. Stunde und 1x zur 2. Stunden) und deaktiviere/aktiviere die Teile nach Bedarf. Doch weit gefehlt: Wenn ich das DOIF disable, dann verliere ich die Zeiten. Ist das so gewollt, ist das so, liegt das in der Struktur von FHEM oder ist das etwas, wo man noch Feintuning machen kann?
defmod di_Junior_Biowecker_1 DOIF ([[$SELF:P_mybegin,"08:00"]]) (set hm_Junior_Dekolicht on) DOELSEIF ([[$SELF:P_myend,"09:00"]]) (set hm_Junior_Dekolicht off)
attr di_Junior_Biowecker_1 alias Biowecker 1
attr di_Junior_Biowecker_1 devStateIcon disabl.*:general_aus_fuer_zeit:enable initi.*|cmd.*:general_an_fuer_zeit:disable
attr di_Junior_Biowecker_1 group Biowecker
attr di_Junior_Biowecker_1 readingList P_mybegin P_myend
attr di_Junior_Biowecker_1 room Junior
attr di_Junior_Biowecker_1 setList P_mybegin:time P_myend:time
attr di_Junior_Biowecker_1 webCmd P_mybegin:P_myend

Natürlich kann ich das mit 1-2 Dummys locker umgehen, aber ich finde die Vereinigung in einem Element ja genial und erlaube mir daher mal die Frage.

sparsame Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Damian

Zitat von: Muschelpuster am 14 Januar 2017, 19:21:22
Moin zusammen,

ich wollte mit den neuen schönen Versionen meinem Sohn einen kleinen Biowecker bauen (etwas Licht an, bevor der Wecker los geht). Da mit die Zeiten nicht immer wieder verändert werden müssen, dachte ich baue 2 (1x zur 1. Stunde und 1x zur 2. Stunden) und deaktiviere/aktiviere die Teile nach Bedarf. Doch weit gefehlt: Wenn ich das DOIF disable, dann verliere ich die Zeiten. Ist das so gewollt, ist das so, liegt das in der Struktur von FHEM oder ist das etwas, wo man noch Feintuning machen kann?
defmod di_Junior_Biowecker_1 DOIF ([[$SELF:P_mybegin,"08:00"]]) (set hm_Junior_Dekolicht on) DOELSEIF ([[$SELF:P_myend,"09:00"]]) (set hm_Junior_Dekolicht off)
attr di_Junior_Biowecker_1 alias Biowecker 1
attr di_Junior_Biowecker_1 devStateIcon disabl.*:general_aus_fuer_zeit:enable initi.*|cmd.*:general_an_fuer_zeit:disable
attr di_Junior_Biowecker_1 group Biowecker
attr di_Junior_Biowecker_1 readingList P_mybegin P_myend
attr di_Junior_Biowecker_1 room Junior
attr di_Junior_Biowecker_1 setList P_mybegin:time P_myend:time
attr di_Junior_Biowecker_1 webCmd P_mybegin:P_myend

Natürlich kann ich das mit 1-2 Dummys locker umgehen, aber ich finde die Vereinigung in einem Element ja genial und erlaube mir daher mal die Frage.

sparsame Grüße
Niels

Wenn ein Modul per diable deaktiviert wird, dann werden auch die internen Timer gelöscht - sie sollen ja nicht unnötig fhem belasten.

Wenn du das Modul aktivierst, dann werden die Timer wieder neu gesetzt.
Sollen die Timer weiter laufen, dann kann man das Modul auch per "set <di_modul> disable" deaktivieren, hierbei laufen die Timer weiter.

Aber wozu brauchst du denn Timer, wenn das Modul vollständig deaktiviert ist?

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Muschelpuster

Hallo Damian,

Vielen Dank für Deine Gedanken.
Zitat von: Damian am 14 Januar 2017, 19:29:33Aber wozu brauchst du denn Timer, wenn das Modul vollständig deaktiviert ist?
Na ja, ich brauche die Timer natürlich nicht - ich will nur die in P_mybegin & P_myend gespeicherten Zeiten nicht jedes mal neu einstellen. Wie oben geschrieben will ich einfach 2 DOIF bauen und nach Bedarf das 1. oder 2. aktivieren/deaktivieren. Also Junior hat zu 1. Stunde, dann aktiviert er DOIF 1, wenn er zur 2. Stunde hat, aktiviert er DOIF 2. Wechselt er von DOIF 1 auf 2 oder umgekehrt, soll er nicht jedes Mal die Weckzeit neu einstellen müssen, ansonsten kann ich ja nur ein DOIF machen und er stellt immer die Zeit um.
Grundsätzlich mache ich doch nichts Anderes als das von Dir vorgeschlagene "set <di_modul> disable", oder?attr di_Junior_Biowecker_1 devStateIcon disabl.*:general_aus_fuer_zeit:enable initi.*|cmd.*:general_an_fuer_zeit:disable

Interessanterweise bleibt jetzt auch die in P_mybegin & P_myend gespeicherte Zeit erhalten. Muss ich hier erst was posten, damit es funktioniert  ;) ?

verwunderte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Damian

Zitat von: Muschelpuster am 14 Januar 2017, 20:27:56
Hallo Damian,

Vielen Dank für Deine Gedanken.Na ja, ich brauche die Timer natürlich nicht - ich will nur die in P_mybegin & P_myend gespeicherten Zeiten nicht jedes mal neu einstellen. Wie oben geschrieben will ich einfach 2 DOIF bauen und nach Bedarf das 1. oder 2. aktivieren/deaktivieren. Also Junior hat zu 1. Stunde, dann aktiviert er DOIF 1, wenn er zur 2. Stunde hat, aktiviert er DOIF 2. Wechselt er von DOIF 1 auf 2 oder umgekehrt, soll er nicht jedes Mal die Weckzeit neu einstellen müssen, ansonsten kann ich ja nur ein DOIF machen und er stellt immer die Zeit um.
Grundsätzlich mache ich doch nichts Anderes als das von Dir vorgeschlagene "set <di_modul> disable", oder?attr di_Junior_Biowecker_1 devStateIcon disabl.*:general_aus_fuer_zeit:enable initi.*|cmd.*:general_an_fuer_zeit:disable

Interessanterweise bleibt jetzt auch die in P_mybegin & P_myend gespeicherte Zeit erhalten. Muss ich hier erst was posten, damit es funktioniert  ;) ?

verwunderte Grüße
Niels

1. Mit der aktuellen Version bleiben eigene Readings erhalten

2. attr disable und set disable sind zwei verschiedene Dinge. Das steht aber genau hier beschrieben: https://fhem.de/commandref_DE.html#DOIF_disable

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Muschelpuster

Ok, Danke - verstanden.
Zitat von: Damian am 14 Januar 2017, 22:24:531. Mit der aktuellen Version bleiben eigene Readings erhalten
Heißt das, dass sich das noch mal ändern könnte, oder ist das Verhalten aktuell für Dich so ok?

zukunftsorientierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Damian

Zitat von: Muschelpuster am 15 Januar 2017, 10:17:45
Ok, Danke - verstanden.Heißt das, dass sich das noch mal ändern könnte, oder ist das Verhalten aktuell für Dich so ok?

zukunftsorientierte Grüße
Niels

Auch dazu steht folgendes in der Commandref:

Zitat<A-Z>_<readingname>
Readings, die mit einem Großbuchstaben und nachfolgendem Unterstrich beginnen, sind für User reserviert und werden auch zukünftig nicht vom Modul selbst benutzt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF