FHEM-Tutorial Part 28.2: Rechnen mit Zeiten

preview_player
Показать описание
⬇ ⬇ Alle Befehle und weitere Informationen im Blog-Beitrag weiter unten in der Infobox ⬇ ⬇

▬ Mehr zum Thema ▬▬▬▬▬▬▬

Tutorials / Online-Kurse:

Podcast (Draht zu smart):

Newsletter:

Zweitkanal:

▬ Social Media ▬▬▬▬▬▬▬

#smarthome #homeautomation #fhem
Рекомендации по теме
Комментарии
Автор

Lust auf FHEM bekommen? Einen Grundlagen-Kurs von A-Z findest Du hier:

haus_automation
Автор

ganz platt gefragt. Ich würde in "meiner" C Welt einfach Die Zeit von jetzt Minus des Einschaltpunkt rechnen und abfragen ob der dann größer X ist. Das geht hier nicht und man muss zwingend über die Unix Sekunden gehen ?

TTime Einschaltpunkt = StrToTime("13:29"); // zum Test hard im Code

if lange an....");


Ich frag nur mal intressehalber...

LukasvandeHaag
Автор

Hallo Matthias,
wenn ich Deinen Code umsetze, bekomme ich eine Benachrichtigung, während die Maschine noch läuft.

Macht ja auch Sinn, denn Du hast zur Bedingung für die Benachrichtigung gesetzt: 1. Maschine steht auf running=on 2. Leistung geringer als 1W. Bei Pausen (wie bei meiner Waschmaschine) führt das zu Problemen.

Ich habe es nun mir einem weiteren Reading >reported< versehen:
{
# Wenn die Waschmaschine eingeschaltet wurde
if (ReadingsNum($NAME, "ENERGY_Power", 0) > 10 && ReadingsVal($NAME, "running", "off") eq "off") {
fhem("setreading $NAME running on");
fhem("setreading $NAME reported no");
}


# Wenn die Waschmaschine keinen Strom mehr zieht
if (ReadingsNum($NAME, "ENERGY_Power", 0) < 10 && ReadingsVal($NAME, "running", "off") eq "on") {
fhem("setreading $NAME running off");
}

# Wenn die Waschmaschine länger als 6 Minuten lief und dann keinen Strom mehr verbraucht -> Notification
if (ReadingsNum($NAME, "ENERGY_Power", 0) < 10 && ReadingsVal($NAME, "running", "off") eq "off") {
if (secondsSinceReadingChange($NAME, "running") > 300 && ReadingsVal($NAME, "reported", "yes") eq "no") {
fhem("set Sonos_Wohnzimmer_RF Speak 30 de Die Waschmaschine ist fertig.");
fhem("setreading $NAME reported yes");
}
}

}

kptkip
Автор

Wenn ich die Heizung steuern will und im DOIF mit 16-17 Uhr steure - die 16 Uhr aber "abgelaufen" sind, setzt er die 16 Uhr auf den morgigen Tag.
Weißt du, wie man das fixen kann, dass er am heutigen Tag die Zeit prüft und auch wenn man im Zeitraum ist, die Heizung schaltet ?

Tardar