Hallo,
jetzt habe ich einiges rumgesucht. Und auch im Wiki gelesen.
Ich möchte mit ein DOIF schreiben in dem ich aus dem Reading meines WeekdayTimer das "set HZ_Schlafen desired-temp" mit dem Wert aus einem reading übernimmt.
Mein Ansatz sieht so aus:
([DW2_Schlafzimmer] eq "closed") (set hz_Schlafzimmer desired-temp value[wd_hz_schlafzimmer:currValue])
Führe ich das DOIF aus, erhalte ich folgende Meldung im Event Monitor:
DOIF hz_FK_Schlafzimmer error: set hz_Schlafzimmer desired-temp value16: desired-temp must be between 7.5 and 28.5
Im Device "wd_hz_schlafzimmer" habe ich das Reading
currValue 21
Wenn ich den Fehler erichtig deute, wird kein korrekter Wert im Set Befehl verwendet....
Was könnte da nicht passen?
Gruß Albi
Es muss verm. sowas sein: 10.0 10.5 11.0 11.5 usw.
Probiere doch mal
set hz_Schlafzimmer desired-temp 21
in fhemWeb...
Geht das?
Gruß, Joachim
Zitat von: MadMax-FHEM am 01 Januar 2021, 21:28:55
Es muss verm. sowas sein: 10.0 10.5 11.0 11.5 usw.
Probiere doch mal
set hz_Schlafzimmer desired-temp 21
in fhemWeb...
Geht das?
Gruß, Joachim
Hallo,
ja klar. das geht. Habe ich im "normalFall" auch bislang so gehabt. Möchte aber eben nun den Wert aus dem Weekdaytimer übernehmen
Albi
Aha.
Warum steht denn überhaupt das value da?
Also:
value[wd_hz_schlafzimmer:currValue]
Wenn der set Befehl wie oben geschrieben geht, dann stört doch das value!?
also einfach so
(set hz_Schlafzimmer desired-temp [wd_hz_schlafzimmer:currValue])
Gruß, Joachim
Lass mal das value weg. Bin mir aber nicht ganz sicher, ob das mit den eckigen Klammern im Ausführungsteil funktioniert. Wenn nicht, dann mit ReadingsVal probieren.
Zitat von: ToKa am 01 Januar 2021, 21:35:47
Lass mal das value weg. Bin mir aber nicht ganz sicher, ob das mit den eckigen Klammern im Ausführungsteil funktioniert. Wenn nicht, dann mit ReadingsVal probieren.
Doch das funktioniert. Aber ohne "value" davorne
Zitat von: CommandRefAb featurelevel 5.7 ersetzt der set und setreading Befehl
[device:name] mit dem Wert des Readings, Internals oder Attributes für device, falls sowohl device, als auch Reading, Internal oder Attribut existiert, und nicht leer ist.
Man kann einen der Präfixe r:, i: oder a: verwenden, um die Suche einzuschränken, genau wie im devspec.
Das Suffix :d extrahiert die erste Zahl.
Das Suffix :i extrahiert die erste Zahl als Ganzzahl.
Das Suffix :r<n> extrahiert die erste Zahl, und rundet sie auf <n> Dezimalstellen. Falls <n> fehlt, dann wird auf eine Dezimalstelle gerundet.
Das Suffix :t liefert den Zeitstempel des Readings
Das Suffix :sec liefert Anzahl der Sekunden seit Änderung des Readings.
Beispiel:
set Lamp blink [blinkDummy:number] [r:blinkDummy:duration:d]
Zitat von: ToKa am 01 Januar 2021, 21:35:47
Lass mal das value weg.
;)
Ist mir nicht gleich aufgefallen ...
Zitat von: ToKa am 01 Januar 2021, 21:35:47
Bin mir aber nicht ganz sicher, ob das mit den eckigen Klammern im Ausführungsteil funktioniert. Wenn nicht, dann mit ReadingsVal probieren.
Sollte gehen. setMagic. Gerade mal nachgeschaut...
...aber wir werden sehen...
Gruß, Joachim
Hallo,
danke...
Der Fehler sitzt wie immer vor dem Bildschirm...
Als ich das DOIF geänder habe. Habe ich doch glatt das Wort "Schlafzimmer" mit großem "S" geschrieben. Deshalb kam beim allerersten mal im Event Monitor, der Hinweis mit dem "Value" was ich dann einfach mal dummerweise mit hingeschrieben habe.
Nachdem ich den Tippfehler weg hatte und das Value entrefnt habe klappt es nun.
([DW2_Schlafzimmer] eq "closed") (set hz_Schlafzimmer desired-temp [wd_hz_schlafzimmer:currValue])
funktioniert
Vielen Dank für die schnelle Hilfe
Albi