IF ([10:00-19:30|0]) liefert Fehler IF: unknown Device: 10

Begonnen von erdnar, 26 Januar 2025, 11:23:15

Vorheriges Thema - Nächstes Thema

erdnar

Hallo,
im DOIF wollte ich mit IF ([10:00-19:30|0]) den Ausführungsteil verfeinern.
Leider scheint IF die Zeitangabe, die ich immer im DOIF verwende, nicht zu verstehen.
Wie mache ich es richtig?
Danke & schönes Restwochenende
ErdnaR

Ralli

Die Dokumentation von DOIF ist eine der besten, die ich kenne. Daraus ergibt sich: Lass das "IF" halt weg.
Gruß,
Ralli

Proxmox 8.3 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.79.6.20250220) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

erdnar

Danke,
hilft mir jetzt beides nicht wirklich.
Ich hatte vorher zwei DOELSEIF, die sich nur in and
[10:00-19:30|0]
bzw. and
(![10:00-19:30|0])
unterschieden haben.
Das wollte ich mit dem IF ([10:00-19:30|0]) verkürzen.
Und die Zeile im Wiki define n_lamp_off notify sensor IF ($hms gt "20:00" and $hms lt "22:00" and ... hatte ich gefunden, aber eben nicht verstanden.  :-[
Daher die Frage "Wie mache ich es richtig?"

betateilchen

Zitat von: erdnar am 26 Januar 2025, 11:46:36Danke,
hilft mir jetzt beides nicht wirklich.

Dann solltest Du die erhaltenen Antworten nochmal genau lesen und versuchen zu verstehen.

Nochmal: IF ist ein eigener FHEM Befehl, der mit DOIF erstmal nichts zu tun hat und dort auch nicht verwendet wird.

Dein zitiertes Beispiel stellt die Verwendung des Befehls in einem notify-device dar!

Fallunterscheidungen werden in DOIF anders umgesetzt.
Beschäftige Dich nochmal intensiv mit den Beispielen in der commandref zu DOIF.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

erdnar

OK, ich bin offiziell zu doof.
In der Commandref finde ich unter IF kein Beispiel wie ein Zeitraum ausgewertet wird (außer das mit dem notify, was aber ja wohl ein falsches Beispiel war).
Ebenso habe ich in der Commandref unter DOIF nichts gefunden, was den IF Befehl in Verbindung mit einem Zeitraum verwendet.

Kann mich mal bitte jemand mit der Nase draufstoßen oder mein Beispiel IF ([10:00-19:30|0]) im Ausführungsteil eines Fhem_DOIF richtig schreiben?
Danke

Gisbert

Hallo erdnar,

sowohl in der deutschen als auch englischen commandref zu IF gibt es keinerlei Hinweis auf die von dir gewünschte Syntax. Man ist ja geneigt, dass etwas funktioniert, wie man es sich vorstellt, aber das hat dann jemand vorher so programmiert. Offensichtlich ist das hier nicht der Fall.

Das Beispiel, was deinen Vorstellungen am nächsten kommt, sieht so aus, Wochentag fehlt noch:
Time-dependent switch: In the period 20:00 to 22:00 clock the light should go off when it was on and I leave the room:
define n_lamp_off notify sensor IF ($hms gt "20:00" and $hms lt "22:00" and [sensor] eq "absent") (set lamp:FILTER=STATE!=off off)
Also nicht schön, da ist es sicher besser bei DOIF zu bleiben.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

erdnar

Danke,
das notify-Beispiel hatte ich ja schon gefunden.
Da mich betateilchen aber 2x auf die Commandref verweist, gehe ich davon aus, dass da auch was hilfreiches steht. Würde er ja sonst nicht machen.

Gisbert

Hallo erdnar,

dann hast du ja sicher auch ein Motto von betateilchen beherzigt:
ZitatLesen gefährdet die Unwissenheit!

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome