Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder CUL

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder CUL

Beitrag von unimatrix » 27.02.2012, 22:03

Hallo zusammen,

in diesem Thread möchte ich euch über mein kleines Projekt berichten, von der CCU komplett auf FHEM umzusteigen, welches ich dann wahrscheinlich auf meiner Fritzbox 7270, die ich sowieso an habe und über den HM Lan Adapter oder auch per CUL Stick (erstmal egal und noch unklar) laufen lassen möchte.

Der Grund ist nicht primär die KOstenersparnis für mich selbst, da ich die CCU eh schon habe und selbst diese nun zu verkaufen bringt mir nicht so viel als dass sich der Aufwand lohnt. Es ist eher ein Projekt aus INteresse. Mittelfristig sehe ich viel mehr Potential in FHEM und vereinfacht gesagt mag ich die RegaHSS-Weboberfläche und den ganzen Kram irgendwie nicht. Das "Klicken" der Programme ist mir zu kompliziert, die CCU ist teilweise unzuverlässig usw usw.

Ich stehe noch ganz am Anfang, werde aber versuchen, hier meine SChritte zu beschreiben, vll hat der ein oder andere etwas zu kommentieren oder kann daraus für sich sinnvolle Erkenntnisse ziehen.

Ich habe mir inzwischen schonmal FHEM auf der Fritzbox installiert. Da ich sowieso Freetz einsetze, habe ich hier ein ganz aktuelles Image erstellt welches auch USB-Root nutzt, d.h. mein eigentliches Root-FS ist auf einem USB-Stick an der Fritzbox, insoweit umgeht man die Platzprobleme des internen Speichers. Das Microperl welches für Freetz schon paketiert ist, eignet sich leider nicht für FHEM, daher muss ein anderes drauf. Ich habe dies nach folgendem Artikel gemacht:

http://www.wehavemorefun.de/fritzbox/in ... stallieren

Nachteil: Kein Weather::Google aber das wird man notfalls neu schreiben können dieses Weather Plugin ohne das CPAN Modul zu nutzen. Das aber später.

Soweit so einfach: FHEM auf der Fritzbox läuft problemlos. Da ich meinen CUL-Stick (den ich für FS20 nutze) bei genau diesem Test leider zerstört habe (falsches Netzteil an USB HUB...) hab ich im Moment keinen und nutze zum Testen erstmal das HMRPC-Modul von Olli. (denn die CCU ist ja noch da und das ist auch gut so, ich bin hier in einem Produktivsystem, und jeder Ausfall bringt Ärger mit der Chefin)

Da sehr viele meiner HM-Programme mit Tageslicht arbeiten (Twilight.tcl zu finden hier im Forum) versuchte ich heute zuerst, dies zu portieren. Da ich relativ wenig Ahnung von TCL habe und eigentlich auch nicht von PERL und keine Lust hatte, jetzt das komplette Ding nach Perl zu portieren, habe ich mir kurzerhand TCL für die FB kompiliert. Tips dazu habe ich hier abgerufen: http://www.rkeene.org/projects/info/wiki/100

Neben dem Binary muss noch der Library Ordner kopiert werden. Ich habe das bisher erstmal Quick&Dirty auf das Filesystem der FB kopiert. Man könnte daraus sicher auch schnell ein Paket für Freetz basteln.

Nun habe ich das Twilight.tcl genommen und von allen REGA-Aufrufen befreit. Ein ganz kurzer allererster Test funktioniert. Nun ist es spät und ich mache morgen weiter. Anbei das TCL was ich gerade habe. Da muss aber noch was gemacht werden.

VG
Dateianhänge
twilight.rar
(2.12 KiB) 104-mal heruntergeladen

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 28.02.2012, 07:00

so, mein erstes FHEM-ERfolgsrelebnis (sicher trivial, aber für mich ist FHEM total neu) - mit dem TCL als Cron Job um kurz nach Mitternacht (das TCL beendet sich ja erst nach einem Zyklus) führ zu folgendem Log:

2012.02.28 00:01:01 2: dummy set tageslicht 0
2012.02.28 05:12:54 2: dummy set tageslicht 1
2012.02.28 05:49:16 2: dummy set tageslicht 2
2012.02.28 06:25:29 2: dummy set tageslicht 3
2012.02.28 06:57:01 2: dummy set tageslicht 4

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 28.02.2012, 11:26

Weiter gehts.

Nachdem ich heute Nacht davon geträumt habe, habe ich mich wohl dazu entschieden, doch nicht die Fritzbox zu nutzen. Die PERL-Nutzung darauf erscheint mir doch ein wenig eingeschränkt zu sein. Ich habe noch eine Dockstar und ich werde diese im Kinderzimmer meiner Tochter auf dem Schrank platzieren (da ist eine Netzwerkdose). Dies liegt eine ETage tiefer und ich erhoffe mir eine bessere Hausabdeckung mit dem CUL-Stick, den ich auf jeden fall für FS20 Geräte einsetzen werde (und den HMLAN für HM, der kann ja woanders stehen weil LAN). Die Dockstar nutze ich dann gleichzeitig als "Musikanlage" für meine Tochter (mit MPD-Server usw, was ich übrigens in die Hauslogik integrieren werde, aber dazu später)

Insofern ignoriere ich jetzt mal die Einschränkung der fehlenden CPAN Module für das Weather-Modul. Dieses hab ich jetzt mal mit eingerichtet, was ja total trivial ist.

Weiterhin habe ich als "Grundkonfiguration" das Holiday-Modul eingebunden. Dies kann jetzt das Feiertagsscript was ich in TCL auf der CCU habe ersetzen und bietet sogar etwas mehr. Denn ich habe dort jetzt nicht nur alle Feiertage drin, sondern lege mir getrennte Defines an für Feiertage, Schulferien und meinen persönlichen Urlaub. Diese drei Dinge können sich überschneiden, müssen aber nicht. Je nachdem kann man verschiedenartig im Haus darauf reagieren. Z.B. konfiguriere ich nur in den Ferien oder am Wochenende und an Feiertagen die Raumthermostate meiner Kinder so, dass sie morgens den Raum heizen, während ich wenn sie in die Schule gehen, das Thermostat erst mittags aktiviere. (bisher habe ich den Modus jeweils per putParamset umkonfiguriert bzw. die Zeiten geändert, da die Thermostate ansonsten im AUTO Modus und nicht im CENT-Modus laufen.) Aber natürlich hab ich nicht immer Urlaub, wenn meine Kinder Ferien haben, so dass trotzdem morgens das Badezimmer frühzeitig zu erwärmen ist. Weiterhin gibt es auf die Weckersteuerungen Auswirkungen (übrigens wirkt sich auch hier die AUßentemperatur aus, dazu brauche ich das Wetter, denn wenn es friert, muss ich evtl. kratzen und früher aufstehen oder wenn SChnee angesagt war, muss ich Schnee schieben). (Nein, ich habe noch keine Webcam mit Bildverarbeitung die mir sagt, ob ich wirklich Schnee schieben muss)....dann wirkt sich das Zeug auf die Kaffeemaschine aus und alles mögliche halt, dazu aber später...

Hier der individuelle Teil meiner jetzigen Config

define tageslicht dummy
define anwesend dummy

define wetter Weather "<plz>" 1800
define ferien holiday
define feiertage holiday
define urlaub holiday

Für die drei Holiday-Defines habe ich jeweils ein File angelegt mit folgendem Inhalt

Datei "Ferien.holiday"
2 -48 Rosenmontag
2 -47 Faschingsdienstag
2 -46 Faschingsferien
2 -45 Faschingsferien
2 -44 Faschingsferien

2 -3 Osterferien
2 -4 Osterferien
2 -5 Osterferien
2 -6 Osterferien
2 2 Osterferien
2 3 Osterferien
2 4 Osterferien
2 5 Osterferien

2 51 Pfingstferien
2 52 Pfingstferien
2 53 Pfingstferien
2 54 Pfingstferien
2 57 Pfingstferien
2 58 Pfingstferien
2 59 Pfingstferien
2 61 Pfingstferien

4 08-01 09-12 Sommerferien
4 10-29 11-2 Herbstferien
-----
Datei "feiertage.holiday"
1 1-1 Neujahr
1 1-6 Dreikoenige
1 5-1 Maifeiertag
1 8-15 Mariahimmelfahrt
1 10-3 Einheit
1 11-1 Allerheiligen
1 12-24 Heiligabend
1 12-25 Weihnachten1
1 12-26 Weihnachten2
1 12-31 Sylvester

2 -2 Karfreitag
2 0 Ostersonntag
2 1 Ostermontag
2 39 Himmelfahrt
2 49 Pfingstsonntag
2 50 Pfingstmontag
2 60 Fronleichnam
-----

Datei "urlaub.holiday" mit den individuellen Urlaubstagen / Zeiträumen

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 28.02.2012, 13:38

Um einfach abzufragen, ob jetzt gerade heute Ferien sind oder MORGEN (weil das wirkt sich dann auf den Vorabend aus, z.B. wird die oben angesprochene Musikanlage, mit der meine Tochter zum Einschlafe ein Hörspiel hört, erst später zwangsweise abgeschaltet) habe ich noch ein paar Automatismen eingebaut und einfach abzufragende "Systemvariablen".

Was allerdings nciht funktioniert und ich habe meinen Fehler noch nicht gefunden, ist, dass, wenn heute ein Feiertag ist (ich habe das mal in der Datei so eingegeben) dann auch die $we-Variable eine 1 zurückliefert. Ein manuelles Abfragen mit "get feiertage 02-28" stimmt aber.

Ich habe es jetzt so eingebaut, dass immer nachts diese Tagesinfos aktualisiert werden, und dass dies auch einmal beim Starten passiert.

#Helper
define wetter Weather "85368" 1800
define ferien holiday
define feiertage holiday
define urlaub holiday
attr global holiday2we feiertage


#Variablen

define tageslicht dummy
define anwesend dummy

define ferien_heute dummy
define at_ferien at 03:00:00 {fhem "set ferien_heute ".fhem("get ferien ".strftime("%m-%d",localtime()));;}
{fhem "set ferien_heute ".fhem("get ferien ".strftime("%m-%d",localtime()));;}

define ferien_morgen dummy
define at_ferien_morgen at 03:00:00 {fhem "set ferien_morgen ".fhem("get ferien ".strftime("%m-%d",localtime(time+86400)));;}
{fhem "set ferien_morgen ".fhem("get ferien ".strftime("%m-%d",localtime(time+86400)));;}

define urlaub_heute dummy
define at_urlaub at 03:00:00 {fhem "set urlaub_heute ".fhem("get urlaub ".strftime("%m-%d",localtime()));;}
{fhem "set urlaub_heute ".fhem("get urlaub ".strftime("%m-%d",localtime()));;}

define urlaub_morgen dummy
define at_urlaub_morgen at 03:00:00 {fhem "set urlaub_morgen ".fhem("get urlaub ".strftime("%m-%d",localtime(time+86400)));;}
{fhem "set urlaub_morgen ".fhem("get urlaub ".strftime("%m-%d",localtime(time+86400)));;}

define feiertag_morgen dummy
define at_feiertag_morgen at 03:00:00 {fhem "set feiertag_morgen ".fhem("get feiertage ".strftime("%m-%d",localtime(time+86400)));;}
{fhem "set feiertag_morgen ".fhem("get feiertage ".strftime("%m-%d",localtime(time+86400)));;}

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 28.02.2012, 17:01

falls das hier NIEMANDEN interessiert, dann bitte melden. Ansonsten mülle ich den Thread weiter zu. Ich habe mir mal als ersten kleinen Zwischenerfolg meine Ambient-Beleuchtungsautomatik übertragen. Das lange INlinePerl sollte man später sicher auslagern, aber es geht erstmal. Hier der Schnippsel der CFG. Man sieht, wie ich sowohl die Außenhelligkeit, als auch Einflussfaktoren wie Urlaub/Feiertag/Wochenende und die Anwesenheit darauf einwirken

Code: Alles auswählen

# Tageslicht im Bereich 0-6, so wie bei CCU Twilight.tcl
define tageslicht dummy

#anwesend wird genutzt wie ein "enum" -> 0 = Anwesend; 1 = schlaf_vorbereitung; 2 = Schlafmodus; 3=gleich abwesend; 4 = abwesend
define anwesend dummy 

define t_lichtschlauchauto dummy

define at_lichtschlauchauto at *00:02:00 {\
  my $licht=ReadingsVal("tageslicht","state","6");;\
  my $anwesend=ReadingsVal("anwesend","state","4");;\
  my $morgenanfang="06:00:00";;\
  my $abendende="23:00:00";;\
  my $zeitok=0;;\
  my $jetzt = "$hour:$min:$sec";;\  
  if(min($morgenanfang,$jetzt) eq $morgenanfang && max(abstime2rel($abendende),"12:00:00") eq "12:00:00"){$zeitok=1;;}\
  if(ReadingsVal("urlaub_morgen","state","none") ne "none" || ReadingsVal("feiertag_morgen","state","none") ne"none" || strftime("%a",localtime()) eq "Fr" || strftime("%a",localtime()) eq "Sa"){\
    $abendende="00:30:00";;\
  }\
  if($licht eq 6 || $anwesend eq 2 || $anwesend eq 4){\
    fhem "set t_lichtschlauchauto 0.00" ;;\
  }elsif($licht<6 && $licht>4 && $zeitok){\
    fhem "set t_lichtschlauchauto 1.00";;\
  }elsif($licht==3 || $licht==4 && $zeitok){\
    fhem "set t_lichtschlauchauto 0.40";;\
  }elsif($licht<3 && $zeitok){\ 
    fhem "set t_lichtschlauchauto 0.40";;\
  }else{\
    fhem "set t_lichtschlauchauto 0.00";;\
  }\
}

Benutzeravatar
owagner
(verstorben)
Beiträge: 1193
Registriert: 13.05.2008, 19:49
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von owagner » 29.02.2012, 10:08

unimatrix hat geschrieben:falls das hier NIEMANDEN interessiert, dann bitte melden.
Bitte weitermachen!

ph1959de
Beiträge: 26
Registriert: 29.09.2007, 16:53
Wohnort: Aidlingen
Kontaktdaten:

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von ph1959de » 29.02.2012, 11:05

Auch von mir: bitte weitermachen ... und auf jeden Fall später mal im fhemwiki dokumentieren.

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 12.03.2012, 21:37

bin noch dabei, habe aber ein paar Zwischenkleinprojekte einschieben müssen. Alles weitere wird hier noch dokumentiert werden.

VG

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 19.03.2012, 08:46

Hallo,

ein kleines Update: Nach viel Bastelei habe ich es mir erlaubt, das Twilight.tcl von DocZoid nach FHEM zu portieren. Da im Hintergrund per Cron das tcl aufzurufen war ja nicht die sauberste Lösung.

Bei der Gelegenheit habe ich Yahoo Weather eingebaut, denn dort sind alle Condition Codes dokumentiert, und habe abhängig davon den Wetter-Horizont gesetzt.

Wer es testen will, die aktuelle (UNSTABLE!) Version im Anhang...
Dateianhänge
59_Twilight.zip
(2.71 KiB) 142-mal heruntergeladen

unimatrix
Beiträge: 99
Registriert: 28.02.2011, 15:12
Danksagung erhalten: 1 Mal

Re: Umstieg von CCU auf FB7270 FHEM mit HM Lan Adapter oder

Beitrag von unimatrix » 02.04.2012, 20:00

nochmal ein weiteres Update. Das o.g. Twilight Modul welches ich portiert habe ist in FHEM nun stabil und einige User setzen es wohl auch schon durchgehend ein.

Ich habe im FHEM Wiki eine genaue Anwendungsbeschreibung gepostet. Aus der sieht man ganz gut meinen Ist-Stand der Portierung. Ich habe inzwischen schon mehr gemacht, das muss aber noch dokumentiert werden.

Seit ein paar Tagen ist meine CCU abgeschaltet :)

Was ich sehr cool finde, ist, dass man die langen Tastendrücke per FHEM viel besser auswerten kann. Die CCU hat ja schon innerhalb der Logikschicht eine Auswertung, d.h. die RegaHSS bekommt letztlich nur gemeldet, ob ein Taster kurz oder lang gedrückt wurde.

Per Funk kommt aber (und das ist ja auch klar, weil es auch bei Direktverknüpfungen so sein muss) ständig eine Info, dass gerade gedrückt wird und auch eine gesonderte Info, dass dann losgelassen wurde. Ich habe in FHEM die Logik nun so erweitert, dass sozusagen die Zeit gemessen wird, die die Taste gedrückt wird (per Zähler).

So ist es möglich, mit einer Logik 1. schon während des Drückens zu reagieren und 2. unterschiedlich zu reagieren, je nachdem wie lange wirklich gedrückt wurde. Also es geht sowas wie kurz/lang/sehr lang/extrem lang ... außerdem habe ich z.B. vorher in der CCU ein Programm gehabt, dass auf einem meiner Taster beim LANG-Drücken dann alle Lichter aus gemacht hat. Man musste immer drücken, gerade so dass man sicher war, lang gedrückt zu haben, dann loslassen, und dann kam das optische Feedback - die Lichter gingen aus. JETZT ist es so, sobald man einen Moment fest hält, sieht man sofort, es geht aus und man lässt DANN los. Lässt man nicht los, kommt nach ca. 5 Sekunden ein weiteres optisches Feedback (ein bestimmtes licht geht an) und man weiss, man hat jetzt lange genug gedrückt, um das Haus komplett in den Abwesend-Modus zu schalten. Man kann also ganz gut solche Aktionen, die man selten braucht, und die man auch nicht versehentlich auslösen möchte, auf ein langes Drücken von mehreren Sekunden zuordnen.

Weitere Updates folgen...

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“