Hi,
ich bekomme bei DOIF folgende Fehlermeldung im Logfile:
2014-11-07_15:20:36 di_Heizung_off error: internal does not exist: [presence_Alle_iPhones:STATE]
fhem.cfg:
define presence_Alle_iPhones structure room presence_iPhone1 presence_iPhone2
attr presence_Alle_iPhones alias Alle iPhones
attr presence_Alle_iPhones clientstate_behavior relative
attr presence_Alle_iPhones clientstate_priority 1|present 0|absent
attr presence_Alle_iPhones event-on-change-reading state
define di_Heizung_off DOIF ([presence_Alle_iPhones] = "0")({ Heizung_off_Sub() })
attr di_Heizung_off wait 900
99_myUtils.pm:
sub
Heizung_off_Sub()
{
if ((Value("presence_Alle_iPhones") eq "0"))
{ fhem("set ausser_Haus 1")};
{ fhem("set Heizung_Mode controlManu 15")};
}
Diese Funktion soll die Heizung beim Verlassen der Wohnung nach 15 Minuten abschalten.
Ich hatte das bisher mit einem Watchdog realisiert.
Das läuft aber sehr unzuverlässig. :-\
Zum Einschalten habe ich ein equivalentes Script, das habe ich hier mal weggelassen.
Habe ich da einen Syntaxfehler?
Gruß
Marcel
Zitat von: mcbo am 07 November 2014, 15:56:13
Hi,
ich bekomme bei DOIF folgende Fehlermeldung im Logfile:
2014-11-07_15:20:36 di_Heizung_off error: internal does not exist: [presence_Alle_iPhones:STATE]
fhem.cfg:
define presence_Alle_iPhones structure room presence_iPhone1 presence_iPhone2
attr presence_Alle_iPhones alias Alle iPhones
attr presence_Alle_iPhones clientstate_behavior relative
attr presence_Alle_iPhones clientstate_priority 1|present 0|absent
attr presence_Alle_iPhones event-on-change-reading state
define di_Heizung_off DOIF ([presence_Alle_iPhones] = "0")({ Heizung_off_Sub() })
attr di_Heizung_off wait 900
99_myUtils.pm:
sub
Heizung_off_Sub()
{
if ((Value("presence_Alle_iPhones") eq "0"))
{ fhem("set ausser_Haus 1")};
{ fhem("set Heizung_Mode controlManu 15")};
}
Diese Funktion soll die Heizung beim Verlassen der Wohnung nach 15 Minuten abschalten.
Ich hatte das bisher mit einem Watchdog realisiert.
Das läuft aber sehr unzuverlässig. :-\
Zum Einschalten habe ich ein equivalentes Script, das habe ich hier mal weggelassen.
Habe ich da einen Syntaxfehler?
Gruß
Marcel
Das bedeutet, dass bei presence_Alle_iPhones zu diesem Zeitpunkt kein Status existiert.
Du kannst auch nach dem Reading state abfragen, falls dieser existiert: ...[presence_Alle_iPhones:state]
Gruß
Damian
ZitatDas bedeutet, dass bei presence_Alle_iPhones zu diesem Zeitpunkt kein Status existiert.
Verstehe ich nicht. ::)
presence_Alle_iPhones hat doch immer einen Status "present" oder "absent"
mein watchdog sieht momentan so aus:
define Heizung_off watchdog presence_Alle_iPhones:0 00:15:00 presence_Alle_iPhones:1 { Heizung_off_Sub() };; trigger Heizung_off .
attr Heizung_off regexp1WontReactivate 1
Das funktioniert halt nur 80%ig nicht 100%ig.
Sehr oft bleibt die Heizung einfach an. ???
Gruß
Marcel