Hallo zusammen,
ich setze seit Ende 2014 FHEM u.a. zur Steuerung unserer Rollos ein. Dank des Wikis und des Forums konnte ich bisher alle Anwendungsfälle lösen. Hierfür bedanke ich mich schon mal bei allen eifrigen Schreibern.
Im Normalfall (d.h. außerhalb des Urlaubs) soll das Schlafzimmerrollo in der Woche um 06:30 Uhr hochfahren und um 07:45 Uhr, wenn die ganze Familie aus dem Haus ist, wieder herunterfahren. siehe Code:
*06:30:00 {
if (Value("Urlaub") eq "NEIN") {
if ($we) {
fhem("define szEGRolloWE1 at 08:30:00 set szEGRolloSollDummy 25");
fhem("define szEGRolloWE2 at 09:30:00 set szEGRolloSollDummy 40");
fhem("define szEGRolloWE3 at 10:00:00 set szEGRolloSollDummy 100");
} else {
fhem("set szEGRolloSollDummy 100");
fhem("define szEGRolloArbeit at 07:45:00 set szEGRolloSollDummy 0");
}
} else {
fhem("set szEGRolloSollDummy 0");
}
}
Leider hat sich heute morgen etwas an der gewohnten Routine geändert: das Rollo fuhr nicht nach oben und ich habe ein wenig verschlafen. Das tat mir wahrscheinlich ganz gut, soll aber nicht die Regel werden. Bei der Fehlersuche stieß ich darauf, dass {$we} keinen Wert zurückgibt, sonder dass im Webinterface einfach der Bildschirm neu aufgebaut wird. Die Abfragen von {$hour}, {$mday}, {$wday}, e.t.c. funktionieren dagegen wie gewohnt. Gestern war alles noch in Ordnung. Auch nach strengster Gewissenserforschung ist mir nicht bewusst, dass ich irgendetwas geändert habe.
Telli
Hast du eine Holiday Datei per holiday2we definiert?
Daran lag es bei mir, als die Erkennung mal nicht mehr funktioniert hatte, an die Details kann ich mich allerdings nicht mehr erinnern.
Der Test über das Webinterface funktioniert so:{return 'we='.$we}
Grad ein update über mein Testsystem laufen lassen und $we liefert das was ich erwarte - heute nichts weil Wochentag.
Für weitere Infos warum die Rollos nicht fahren wäre ein Blick ins FHEM-Logfile zur fraglichen Zeit schön aber darum bitte ich auch in meinem angepinnten Beitrag.
Zitat von: mtell650 am 11 August 2015, 18:26:16
Bei der Fehlersuche stieß ich darauf, dass {$we} keinen Wert zurückgibt, sonder dass im Webinterface einfach der Bildschirm neu aufgebaut wird.
QEE würde der Lateiner sagen :)
Wenn der Ausdruck in den {} nichts zurück gibt, reagiert das Webinterface immer so. Probiere
{!$we}
und Du wirst heute ein 1 bekommen.
Gruß Otto
Hallo zusammen,
dieses Verhalten
Zitat
... $we liefert das was ich erwarte - heute nichts weil Wochentag. ...
Zitat
... Wenn der Ausdruck in den {} nichts zurück gibt, reagiert das Webinterface immer so. Probiere
{!$we}
und Du wirst heute ein 1 bekommen. ...
hatte ich nicht erwartet, da bin ich jetzt etwas schlauer geworden. Ich bin gestern nur alle Bedingungen in diesem AT durchgegangen und bin dann bei dem (für mich undefinierten) $we hängengeblieben. Eine Erklärung für die nicht funktionierenden Rollos wäre das aber auch nicht gewesen. Nachdem ich 'global verbose' auf 5 gesetzt und mir für heute einen konventionellen Wecker gestellt habe, funktionierte das Schlafzimmerrollo wieder wie gehabt. Weiß der Deibel...
Telli