FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stoxx am 24 Januar 2014, 17:39:50

Titel: Steuerung der Bad-Heizung mit Hilfe von Google Kalender - Terminen
Beitrag von: stoxx am 24 Januar 2014, 17:39:50
Hallo Leute!
Ich bin seit einigen Tagen stolzer Besitzer eines Raspberry Pi mit COC und installiertem FHEM. Nun versuche ich als totaler Newbie in Sachen Perl und Fhem meine Badheizung mit Hilfe eines Google Kalenders zu steuern. Der Google-Kalender dient mir bisher als "Wecker", in dem ich meine Weckzeiten hinterlegt habe. Ich möchte nun, dass die Heizung eine halbe Stunde vor der Weckzeit startet und nach 2 Stunden auf "off" geht.
Trotz intensiver Recherche und Lesen der Anleitungen und References bin ich leider bisher nur so weit:
define Wecker Calendar ical url https://www.google.com/calendar/ical/................./basic.ics 14400
Damit habe ich schonmal den Kalender eingebunden und
define Bad_Vorheizung Heating_Control Bad 12345|05:30|28 12345|08:00|off  67|08:00|28 67|10:00|off
Damit starte ich meine Badheizung zu bestimmten Zeiten.

Jetzt müsste ich nur noch hinbekommen, dass statt den konkreten Zeiten die Startzeiten der Termine im Kalender gezogen werden, die "wecken" heissen.
Hat jemand eine ähnliche Steuerung zuhause und kann mir weiterhelfen?  :-[

Titel: Antw:Steuerung der Bad-Heizung mit Hilfe von Google Kalender - Terminen
Beitrag von: Paul am 24 Januar 2014, 18:47:32
Ich kenne heating Control nicht aber wie es aussieht schaltet es zu festgelegten Zeiten. Also entweder kann man mit heating Control zB Wochenende einstellen. Ansonsten würde ich den gleichen Code wie für das Wecken nehmen mit  minus 30 Minuten und set desired.temp

Man weiß leider nicht welche Komponenten du benutzt
Titel: Antw:Steuerung der Bad-Heizung mit Hilfe von Google Kalender - Terminen
Beitrag von: stoxx am 24 Januar 2014, 19:53:34
Ich verwende FHT80B + FHT8V in einer Raspberry-COC-FHEM5.5 Umgebung.

Mittlerweile habe ich  - abgeguckt von divesen anderen Forenbeiträgen  - ein paar weitere Befehle definiert:
define BAD_HEIZEN dummy
define BAD_HEIZEN.notify notify Wecker {  fhem "set BAD_HEIZEN" . (ReadingsVal("Wecker", "modeStart", "") =~ "wecken" ? 1: 0) }


Habe erwartet, dass ich während eines Kalendereintrags namens "wecken" den Dummy-Wert 1 erhalte.. leider Fehlanzeige.
Erscheint immer nur ??, obwohl ich den Kalender vorher mit update neu eingelesen habe  :-\
Titel: Antw:Steuerung der Bad-Heizung mit Hilfe von Google Kalender - Terminen
Beitrag von: Puschel74 am 25 Januar 2014, 11:49:02
Hallo,

Event Monitor öffnen und schauen was beim einlesen des Kalender in FHEM ankommt.
Regexp bzw. die Abfrage darauf anpassen und testen.

grüße
Titel: Antw:Steuerung der Bad-Heizung mit Hilfe von Google Kalender - Terminen
Beitrag von: UliM am 25 Januar 2014, 14:14:01
Hi,
bei mir ist das zweigeteilt:

1. notify, das auslöst sobald ein Termin fällig ist (aus meiner fhem.cfg):
define n_GoogleCalendar notify .*Calendar.modeStarted:.(.*\d.*) {\
my $rdg = fhem("get GoogleCalendar text modeStarted");;\
my @@teile = split(" ", $rdg);;\
if ($teile[2]) {\
  doCalendarTrigger($teile[2]);;\
  }\
}


2. Routine in 99_myUtils.pm :
####### Calendar-Trigger ##################
sub
doCalendarTrigger($) {
my $eventtext = shift;
Log 1, "doCalendarTrigger($eventtext)";
fhem("set ez_FHT desired-temp 21.5") if ($eventtext =~ m"HeizungStart"i);
Log 1, "doCalendarTrigger: Testtermin"  if ($eventtext =~ m"test"i);
}


Geht vielleicht auch einfacher, aber tut :)
Gruß, Uli