Max! Komponenten gesammelt nach Urlaub aufwecken

Begonnen von gotmoon, 05 April 2013, 15:49:50

Vorheriges Thema - Nächstes Thema

gotmoon

Ich habe einen FHEM an einer FritzBox, dazu div. MAX Heizkörperthermostate.
Da meine Wohnung recht klein ist, haben alle Thermostate im Prinzip die gleiche Auto-Einstellung: In der Woche Tagsüber herunterfahren, sonst mollige 22 Grad.
Wenn ich mal außer Haus bin, dann meist für mehrere Tage, weiß aber schon wann ich wieder komme.

Ist es möglich ein EIngabefenster zu setzen, bei dem ich "Alle Max Geräte" wieder zurück auf Auto stelle, wenn ein bestimmtes Datum/Uhrzeit erreicht ist?

Sprich, ich würde ein Fenster haben, bei dem ich Datum/Uhrzeit Eintippe/Eingebe und FHEM würde zu diesem Zeitpunkt alle Heizkörperventile auf "auto" stellen.
Evtl. sogar gekoppelt mit der Funktion "Bin jetzt weg, Heizung kann aus".

Gruß

Puschel74

Hallo,

das klappt mit FHEM einwandfrei.

Du musst es nur als Codeschnipsel in deine Konfig einfügen.
Wobei du das mit der Rückkehr auch als event machen kannst - oder eben im Kalender.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

gotmoon

Super !
Hast du einen Link für mich?

Was meinst du mit Kalender ? Kann ich einen Google Kalender koppeln? Das wäre ja noch toller :-D

Puschel74

Hallo,

jep. Google-Kalender sollte gehen.

Das sind aber Themen die sich hier schon durch das Forum ziehen.
Einfach mal die Unterforen durchschauen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

gotmoon

Ich habs !

Und da ich am Anfang verzweifelt nach einer Anleitung gesucht habe, schreibe ich einfach mal mein Ergebnis hier hinein.

Komponenten: Max Heizungsregler, Google Kalender, FHEM

1. in Google einen neuen Kalender anlegen, wie der heißt ist egal. Freigabe ebenfalls nicht nötig. Allerdings gibt es einen privaten ical-Link, der benötigt wird. Findet sich in den Kalendereinstellungen in Google-Kalender

2. Mit FHEM die zu schaltenden Heizungsregler in ein structure zusammenfassen.

define alle_Heizung structure room MAX_xxxxxx MAX_xxxxxx MAX_xxxxxx MAX_xxxxxx


2. Kalender anlegen

define Heizungskalender Calendar ical url [b][hier den ical-Link[/b]] 60


3. Notify's
-> Einmal für den startbefehl

define Heizung_Temperatur notify Heizungskalender:modeStarted.*googlecom.* {\
my $uid= "%EVTPART1";;\
my $Subject = fhem("get Heizungskalender summary $uid");;\
my $Temperatur = fhem("get Heizungskalender location $uid");;\
if ($Subject =~ m"Heizung") {\
fhem("set alle_Heizung desiredTemperature $Temperatur")\
}\
}


-> Einmal für den Endbefehl

define Heizung_Temperatur_END notify Heizungskalender:modeEnded.*googlecom.* {\
my $uid= "%EVTPART1";;\
my $Subject = fhem("get Heizungskalender summary $uid");;\
if ($Subject =~ m"Heizung") {\
fhem("set alle_Heizung desiredTemperature auto")\
}\
}



Funktionsweise:
Ein Termin im Google-Kalender, welches im Titel das Wörtchen "Heizung" hat, wird erkannt. Dabei wird ebenfalls die gewünschte Temperatur aus dem Ort (location) herausgelesen und zum Startzeitpunkt als "desiredTemperature" an alle MAX-Heizungs-Thermostate übergeben.
Sobald der Termin endet, wird automatisch wieder "auto" für das normale Wochenprogramm übergeben.
Die Werte in der Ortsangabe des Termins können alle Werte sein, die das MAX entgegen nimmt. Also immer "10.0", "22.0", "auto", "eco", etc.
Der Google-Kalender wird in meinem Beispiel alle 60 Sekunden gelesen. Wer das nicht möchte, kann den Wert bei Punkt 2 abändern.

Was nicht funktioniert: Wenn ein aktiver Termin gelöscht wird. Heißt: um 9:00 startet der Termin, setzt alle Heizungen auf 20 Grad. Regulär würde er um 10:00 Uhr enden, wird aber durch Benutzereingriff um 9:30 gelöscht. Da kein "modeEnded" kommt, wird die Heizung nicht wieder auf Auto gestellt. In diesem Fall müsste man den Termin einfach mit einem abgeänderten Ende-Datum versehen, dann funktioniert es.

Nicht getestet: 2 Termine zur gleichen Zeit im gleichen Kalender, auch wenn nur einer "Heizung" heißt. Dürfte aber problematisch werden, da das Calender-Element in FHEM nicht filtert. Mein Tipp wäre einfach 2 Kalender anlegen...

Ich hoffe das hilft dem einen oder anderen. Mit dem Kalender kann man evtl. sogar nun auf eine VPN verzichten, da die Verwaltung am Handy nun total einfach wird.
Ähnlich kann man bestimmt auch Licht/Steckdosen schalten.

dreckbolle

Hi,
hab gerade versucht das auszuprobieren, bis zum Ausführen des Codes keine Probleme - danke schon mal für die Anleitung. Leider bekomme ich einen Syntaxfehler beim Ausführen angezeigt:

Can't modify single ref constructor in scalar assignment at (eval 92) line 1, at EOF
syntax error at (eval 92) line 1, near "\ if"
syntax error at (eval 92) line 1, at EOF
syntax error at (eval 92) line 1, near "}}"


jemand ne Idee was das Problem ist?