Ich bin am Verzweifeln. Ich habe das Forum durch, aber immer wenn ich denke, ich habe die Lösung gefunden, kommt eine andere Fehlermeldung.
Ich möchte je Raum ein Kalender (sind nur drei) anlegen. Im Kalender selbst soll nur die Temperatur eingegeben werden - kein Aktor etc., ansonsten bleibt die Temperatur auf 14 Grad.
Hier mein letzter Code:
define KalenderBuero Calendar ical url https://www.google.com/calendar/ical/ xxPlatzhalterxx basic.ics 30
attr KalenderBuero room Heizung
define KalenderBuero_start notify KalenderBuero:modeStarted.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; my $dtemp= fhem("get KalenderBuero summary $uid");; {if ("$dtemp" ne "") { fhem("set Heizkoerper_1_Clima desired-temp $dtemp")} }}
define KalenderBuero_end notify KalenderBuero:modeEnded.* { my $reading="%EVTPART0";; my $uid= "%EVTPART1";; {fhem("set Heizkoerper_1_Clima desired-temp 14") }}
LOG
2014.10.28 14:49:21 3: CUL_HM set Heizkoerper_1_Clima desired-temp 14
2014.10.28 14:49:21 1: PERL WARNING: Use of uninitialized value $dtemp in string at (eval 95) line 1.
2014.10.28 14:49:21 3: eval: { my $reading="modeStarted:"; my $uid= "%EVTPART1"; my $dtemp= fhem("get KalenderBuero summary $uid"); {if ("$dtemp" ne "") { fhem("set Heizkoerper_1_Clima desired-temp $dtemp")} }}
Vermutlich ist irgendwo eine Klammer falsch, oder .. was weiß ich
- Irgendwie sind mir da zumindest viel zu viele Anführungszeichen, wo keine hingehören. Variablennamen muss man nicht in Anführungszeichen setzen.
- ich verstehe nicht, warum Du eine Variable $reading zuweist, die Du nirgends verwendest.
- ich verstehe nicht, warum Du im end-Notify überhaupt Variablen zuweist.
Generell sollte man sowas besser in eigene Funktionen in die 99_myUtils.pm packen, da kann man das Ganze sehr viel übersichtlicher und verständlicher darstellen.