Ich möchte in einer DOIF Anweisung einem Dummy den Status eines Gerätes als einen Wert zuweisen.
Der Anweisungsteil (set HZ_Buero_Test [HZ_Buero:STATE:d]) oder als Perl {fhem("set HZ_Buero_Test [HZ_Buero:STATE:d]");;} funktioniert, wenn man die Anweisung in die Kommandozeile eingibt.
In der DOIF oder Notify Anweisung wird der Teil in eckigen Klammern offenbar nicht verarbeitet.
Die Fehlermeldung ist bei der FHEM Anweisung: error set HZ_Buero_Test : no set value specified
und bei der Perl-Anweisung : error {fhem("set HZ_Buero_Test ");;}: no set value specified .
Kann mir jemand helfen?
Zitat von: Damian am 22 März 2020, 15:47:52
Dann poste hier deine DOIF-Definition, die nicht funktioniert.
Wie kann ich diese am besten posten ohne ein Screencopy zu erstellen und zu verschicken?
Zitat von: Damian am 22 März 2020, 15:47:52
Dann poste hier deine DOIF-Definition, die nicht funktioniert.
Internals:
DEF ([HM_6B5CAD:"open"])
(set HZ_Buero_Test [HZ_Buero:STATE:d])
(set HZ_Buero desiredTemperature 4.5)
DOELSEIF ([HM_6B5CAD:"closed"])
(set HZ_Buero desiredTemperature [HZ_Buero_Test:STATE])
FUUID 5e73c10f-f33f-f21b-22c9-c73856872cbb4af1
MODEL FHEM
NAME HZ_Buero_FK_HzSteu
NOTIFYDEV HM_6B5CAD,global
NR 579
NTFY_ORDER 50-HZ_Buero_FK_HzSteu
STATE initialized
TYPE DOIF
VERSION 21224 2020-02-18 18:45:49
READINGS:
2020-03-22 16:44:51 cmd 0
2020-03-22 16:44:51 mode enabled
2020-03-22 16:44:51 state initialized
Regex:
accu:
cond:
HM_6B5CAD:
0:
&STATE ^HM_6B5CAD$
1:
&STATE ^HM_6B5CAD$
attr:
cmdState:
wait:
waitdel:
condition:
0 ::EventDoIf('HM_6B5CAD',$hash,'open',1)
1 ::EventDoIf('HM_6B5CAD',$hash,'closed',1)
do:
0:
0 set HZ_Buero_Test [HZ_Buero:STATE:d]
1 set HZ_Buero desiredTemperature 4.5
1:
0 set HZ_Buero desiredTemperature [HZ_Buero_Test:STATE]
2:
helper:
DEVFILTER ^global$|^HM_6B5CAD$
NOTIFYDEV global|HM_6B5CAD
globalinit 1
last_timer 0
sleeptimer -1
trigger:
all HM_6B5CAD
uiState:
uiTable:
Attributes:
loglevel 0
room HM_devices,Heizung
Probiere mal [HZ_Buero:state:d], wenn es immer noch nicht klappt, dann bitte list vom HZ_Buero hier posten.
Danke, das ist die Lösung. :)