Habe heute ein DOIF umbenannt in welchem $SELF benutzt wurde. Scheinbar bekommt $SELF den neune Namen nicht mit. Germerkt habe ich es, weil nicht getriggert wurde und beim manuellen auslösen kam der Fehler:
setreading DI.Waschmaschine Waschmaschine fertig: Please define DI.Waschmaschine first
geändert wurde der Name von DI.Waschmaschine in DI.Waschmaschine.Status Hier noch ein List des device:
Internals:
CFGFN
DEF ([SO_Waschmaschine:POWER] eq "OFF")
(setreading $SELF Waschmaschine off)
DOELSEIF ([?SO_Waschmaschine:Power] < 5 and [SO_Waschmaschine:POWER] eq "ON" and [?$SELF:Waschmaschine] eq "off")
(setreading $SELF Waschmaschine on)
DOELSEIF ([SO_Waschmaschine:Power] > 5 and [?SO_Waschmaschine:POWER] eq "ON" and ([?$SELF:Waschmaschine] eq "on" or [?$SELF:Waschmaschine] eq "laeuft"))
(setreading $SELF Waschmaschine laeuft)
DOELSEIF ([SO_Waschmaschine:Power] < 5 and [?SO_Waschmaschine:POWER] eq "ON" and [?$SELF:Waschmaschine] eq "laeuft")
(setreading $SELF Waschmaschine fertig)
NAME DI.Waschmaschine.Status
NR 378
NTFY_ORDER 50-DI.Waschmaschine
STATE cmd_4
TYPE DOIF
READINGS:
2017-08-28 21:17:16 Device SO_Waschmaschine
2017-08-28 17:43:55 Waschmaschine laeuft
2017-08-28 21:14:37 cmd 4
2017-08-28 21:14:37 cmd_event set_cmd_4
2017-08-28 21:14:37 cmd_nr 4
2017-08-28 21:17:16 e_SO_Waschmaschine_POWER ON
2017-08-28 21:17:16 e_SO_Waschmaschine_Power 0
2017-08-28 21:14:37 error setreading DI.Waschmaschine Waschmaschine fertig: Please define DI.Waschmaschine first
2017-08-28 21:14:37 state cmd_4
condition:
0 ReadingValDoIf($hash,'SO_Waschmaschine','POWER') eq "OFF"
1 ReadingValDoIf($hash,'SO_Waschmaschine','Power') < 5 and ReadingValDoIf($hash,'SO_Waschmaschine','POWER') eq "ON" and ReadingValDoIf($hash,'DI.Waschmaschine','Waschmaschine') eq "off"
2 ReadingValDoIf($hash,'SO_Waschmaschine','Power') > 5 and ReadingValDoIf($hash,'SO_Waschmaschine','POWER') eq "ON" and (ReadingValDoIf($hash,'DI.Waschmaschine','Waschmaschine') eq "on" or ReadingValDoIf($hash,'DI.Waschmaschine','Waschmaschine') eq "laeuft")
3 ReadingValDoIf($hash,'SO_Waschmaschine','Power') < 5 and ReadingValDoIf($hash,'SO_Waschmaschine','POWER') eq "ON" and ReadingValDoIf($hash,'DI.Waschmaschine','Waschmaschine') eq "laeuft"
devices:
0 SO_Waschmaschine
1 SO_Waschmaschine
2 SO_Waschmaschine
3 SO_Waschmaschine
all SO_Waschmaschine
do:
0:
0 setreading DI.Waschmaschine Waschmaschine off
1:
0 setreading DI.Waschmaschine Waschmaschine on
2:
0 setreading DI.Waschmaschine Waschmaschine laeuft
3:
0 setreading DI.Waschmaschine Waschmaschine fertig
4:
helper:
event Power: 0,Voltage: 230,Total: 9.817
globalinit 1
last_timer 0
sleeptimer -1
triggerDev SO_Waschmaschine
triggerEvents:
Power: 0
Voltage: 230
Total: 9.817
triggerEventsState:
Power: 0
Voltage: 230
Total: 9.817
internals:
itimer:
readings:
0 SO_Waschmaschine:POWER
1 SO_Waschmaschine:POWER
2 SO_Waschmaschine:Power
3 SO_Waschmaschine:Power
all SO_Waschmaschine:POWER SO_Waschmaschine:Power
regexp:
0:
1:
2:
3:
all:
state:
STATE:
trigger:
Attributes:
disable 0
group Pushnachricht,Unterstützung
room Z_DOIF,Z_Keller
wait 0:0:300:900,0
Nach dem Umbenennen musst du in dein DOIF, auf DEF klicken und bestätigen. $SELF wird bei der Definition in den Namen des eigenen Moduls übersetzt, siehe list <dein_DOIF>
Hatte es gelöscht und über raw wieder neu Importiert. Über DEF wäre es natürlich cleverer gewesen ;) Somit gehe ich davon aus, dass die bekannt ist, dass es bei einem rename zu einem Problem kommt. Darum ging es mir.