Nach einer Änderung der holiday-Datei wollte ich die Datei mit
get sh today
neu einlesen, um den Status des holiday Device und $we zu aktualisieren und um nicht nicht bis Mitternacht warten zu müssen.
In der Commandref fand ich den Hinweis:
ZitatAuch jeder "get" Befehl liest die Datei neu ein.
Das hat nicht geklappt. Was mache ich falsch?
Im Popup-Fenster wird der geänderte Dateiinhalt richtig angezeigt.
Mit
defmod sh sh
ist der Status und $we aktualisiert worden.
Meine Konfiguration:
attr global holiday2we sh
define sh holiday
Eintrag in der Datei sh.holiday:
1 11-24 test
Das Problem liegt an featurelevel 5.7: holiday2we verwendet das nicht mehr gefuellte $value{}.
Habs geaendert, eingecheckt, ab morgen per update verfuegbar.
Workaround bis morgen: "attr global featurelevel 5.6" setzen.
Leider hat es nach dem Update heute morgen nicht geklappt.
Eintrag in sh.holiday: #1 11-25 test
Update und Restart durchgeführt.
get sh today
liefert "none" im Popup-Fenster
Readings:
2015-11-25 09:57:39 state none
2015-11-25 09:57:39 tomorrow none
2015-11-25 09:57:39 yesterday none
{return "\$we: $we"} liefert $we: 0
soweit ist alles o.k., dann Eintrag in sh.holiday 1 11-25 test
get sh today
liefert "test" im Popup-Fenster.
Die Readings bleiben nach einem Reload unverändert.
Readings:
2015-11-25 09:57:39 state none
2015-11-25 09:57:39 tomorrow none
2015-11-25 09:57:39 yesterday none
{return "\$we: $we"} liefert $we: 0
Auch $we bleibt 0
Ein Aufruf von defmod sh sh führt zur Aktualisierung von sh und $we
Readings:
2015-11-25 10:24:43 state test
2015-11-25 10:24:43 tomorrow none
2015-11-25 10:24:43 yesterday none
{return "\$we: $we"} liefert $we: 1
Die readings werden nach einem "get" nicht aktualisiert. Das Aktualisieren der Readings erfolgt einmal pro Tag, kurz nach Mitternacht.
Mach mal einen fhem-Neustart und schau nach, ob die readings anhand Deiner Testdaten dann korrekt gefüllt sind.
Workaround: modify sh
Danke!
{$value("sh")} liefert unter featurelevel 5.7 immer noch nichts zurück.
Mit attr global featurelevel 5.6 wird der Feiertag angezeigt.
Mein letztes Update ist vom 26.11.2015, 8.49 Uhr.
Zitat{$value("sh")} liefert unter featurelevel 5.7 immer noch nichts zurück.
Dann ist es gut, funktioniert noch wie beabsichtigt.
Siehe Ankuendigung fuer 5.7
Es verdichtet sich die Erkenntnis, dass ich
Zitat...das nicht mehr gefuellte $value{}.
Habs geaendert...
falsch verstanden habe.
Ich hatte es so verstanden, dass $value{} nach dem update doch wieder gefüllt wird.
Danke für die Geduld.
Nein, und es bleibt auch so, weil $value{} sehr ineffizient ist: vor jedem Perl-Ausdruck muss der Status aller Geraete nach $value{} kopiert werden. Nachdem mir bewusst geworden ist, dass Installationen mit mehreren hundert Definitionen keine Seltenheit sind, wollte ich es abloesen, und das ist mit featurelevel mAn sauber moeglich.