Homematic und CMI verbinden

Unsere Heizung wird von einer UVR1611 (Universalregelung) von Technische Alternative gesteuert bzw. hängt über ein C.M.I. (Control and Monitoring Interface) im Netzwerk. Mit Hilfe eines Scriptes können die Sensorwerte der Heizungssteuerung in Homematic übernommen & weiterverarbeitet werden:

Als erstes muss eine Seite im Online-Schema der Steuerung erstellt werden, welche die zu übernehmenden Werte beinhaltet:

Schema

Wichtig hierbei ist, dass in den Bezeichnungen keine Umlaute und Sonderzeichen vorkommen. Leerzeichen am Besten durch einen _ ersetzen. Bei mir ist das die Seite 3 des Schemas.
Anschließend werden in der Homematic-CCU die betreffenden Variablen als Zahlenwert angelegt, und zwar genau so wie sie im Online-Schema beschriftet sind:

Variable

Nun zum Script, welches die Werte vom Online-Schema abgreift und in die Variablen speichert. Damit das Script funktioniert muss CUXD und CUXD.exec installiert sein:

var url = „http://USER:PASSWORT@CMI-IP-ADRESSE/schematic_files/3.cgi“;
dom.GetObject(CUxD.CUX2801001:1.CMD_SETS„).State(„wget -q –auth-no-challenge -O – ‚“#url#“‚“); dom.GetObject(CUxD.CUX2801001:1.CMD_QUERY_RET„).State(1); string srueck = dom.GetObject(CUxD.CUX2801001:1.CMD_RETS„).State(); string liste = „Aussentemperatur: \n|Raumtemperatur: \n|Sole-Vorlauf: \n|Solar-VL: \n|Solar-RL: \n|Puffer-VL: \n|Puffer-RL: \n|Strahlungssensor: \n|Aktuelle_Leistung: \n|Waermemenge_kwh: \n|Waermemenge_mwh: \n|Puffer_Oben: \n|Puffer_Oben_Mitte: \n|Puffer_Unten_Mitte: \n|Puffer_Unten: \n|Kollektor_Fassade: \n|Kollektor_Dach: \n|WMZ_Solar_VL: \n|WMZ_Solar_RL: \n|WMZ_Solar_Durchfluss: \n“; string slist =““; string i; foreach(i, liste.Split(„|“)) { var posValueStart = i; var posValueEnd = „°C“; var posValue = srueck.Find(posValueStart) + posValueStart.Length(); var stmp = srueck.Substr(posValue, 6).StrValueByIndex(posValueEnd, 0) ; if (stmp.Find(„- „)== 0 ) { stmp = „-„#stmp.Substr(2, stmp.Length());} integer ikomma = stmp.Find(„,“); string saus1 = stmp.Substr(0, ikomma); string saus2 = saus1 + „.“ + stmp.Substr(ikomma + 1, 5); var zaus = saus2.ToFloat(); var name = i.Substr(0, i.Length()-3); dom.GetObject(„“#name#““).State(zaus); !slist = slist #name #“ = „#zaus #“\n“; } !WriteLine(slist);

Hier muss natürlich der Benutzer, das Login-Passwort sowie die IP-Adresse des CMI eingesetzt werden. Weiters muss die richtige *.cgi-Datei angegeben werden, in meinem Fall 3.cgi da es bei mir die 3. Seite war.

Schlussendlich muss das Script noch in ein Timer-Programm eingebaut werden, welches zb. alle 60 Sekunden ausgeführt wird. Von nun an können die Variablen weiterverwendet werden und zb. Aktoren abhängig von Raumtemperatur oder Sonnenstrahlung geschalten werden!

Mein besonderer Dank gilt dem User alchy von homematic-forum.de, der mir dieses Script erstellt hat.

 

Update 13.12.2016: Ein Fehler im Script hatte dau geführt, dass negative Werte immer als 0 angezeigt wurden. Das habe ich erst jetzt im Winter bemerkt, alchy war so freundlich und hat mir das Script nochmal überarbeitet, jetzt sollte alles funktionieren! Auch habe ich in der Zwischenzeit ein paar Werte hinzugefügt (Puffer-Temperaturen usw…), die Screenshots oben stimmen deshalb nicht mehr mit dem Script überein!

An-/Abwesenheit durch Homematic überprüfen lassen

Um der Homematic-Zentrale mitzuteilen, ob man an- oder abwesend ist muss man eine Systemvariable anlegen und diese entsprechend setzen. Das kann zb. durch Bewegungsmelder automatisiert werden – es gibt aber auch einen eleganteren Weg:

Man kann die CCU regelmäßig prüfen lassen ob ein Netzwerkgerät (unser Smartphone) im Wlan angemeldet ist. Da wir das Smartphone immer dabei haben kann so relativ einfach die Anwesenheit im Haus geschaltet werden.

Als erstes muss dazu dem Smartphone eine feste IP-Adresse zugewiesen werden. Anschließend wird auf der CCU das Programm CUx-Deamon installiert, mit dem man virtuelle Geräte anlegen kann. Wie das funktioniert ist hier sehr gut beschrieben.

Wenn das Programm installiert und eingerichtet wurde muss noch ein Systemprogramm angelegt werden um die Systemvariable An-/Abwesend entsprechend zu schalten. Bei mir sieht das ganze so aus:

homematic_anwesend

Und wozu das ganze? Die Variable kann nun in weiteren Programmen verwendet werden und zb. das Licht bei Anwesenheit eingeschaltet werden.
Einen Haken hat das ganze aber: Sollte der Akku des Smartphones einmal leer sein wird die Variable natürlich auf Abwesend geschaltet…

Raspberry Pi als VPN-Server

Die Technik in unserem Haus ist sehr komplex, neben einer eigenen Heizungssteuerung verrichtet auch noch eine Homematic ihren Dienst.

EDV-Schrank

Die Homematic (zb. zum Öffnen der Raffstores) und die Heizungssteuerung (zum Ablesen der aktuellen Werte) ist in unserem LAN eingebunden, ich wollte das Ganze aber auch über das Internet erreichbar machen. Gelöst wurde das durch einen Raspberry Pi, der von nun an als VPN-Server dient.

Dazu bin ich nach einer wirklich guten Anleitung im Internet vorgegangen, welche auch recht Problemlos geklappt hat. Entgegen der Anleitung muss aber easy-rsa mit „sudo apt-get install easy-rsa“ am Anfang installiert werden, da es nicht mehr automatisch mit openvpn mitinstalliert wird.

Jetzt können wir unsere Heizungswerte weltweit ablesen:

Schema

Das Ende

Nun ist es also so weit – nach 4 Jahren der gemeinsamen Freuden muss ich mich von meinem Audi verabschieden.
Da ich nun mit einem Firmenwagen unterwegs bin und 2 Autos einfach zu viel Platz & Geld verbrauchen trenne ich mich schweren Herzens von ihm. Es war (und ist) ein tolles Auto und ich hoffe dass der neue Besitzer genau soviel Freude damit hat wie ich!

 

2014-03-26 09.34.34 HDR

 

 

Neues Equipment

Bisher nutze ich als Stativ für meine Kamera ein billiges Noname-Teil. Dieses hatte den entscheidenden Nachteil, dass es mehr als wacklig konstruiert war. Vorallem bei Teleaufnamen und Langzeitbelichtungen fiel das negativ auf.

Deswegen habe ich mich nach einem neuen Stativ umgeschaut und bin schließlich fündig geworden:
2013-06-03 18.44.16

Ich habe mich für ein Manfrotto 190xPro entschieden, weil es in diversen Foren und Portalen sehr gute Bewertungen erhält. Als passenden Stativkopf habe ich mir den Triopo B2 ausgesucht. Dieser ist ein Kopf der Mittelklasse, für meine Zwecke aber vollkommen ausreichend und trotzdem sehr gut bewertet.

Natürlich habe ich das ganze gleich getestet, hier mal eine Teleaufname von Tobadill auf der anderen Talseite:
20130603-Dax-002

Beheiztes A6-Lenkrad

Und wieder gibt es ein Upgrade für meinen A4. Leider hatte er nur das Standard 4-Speichen-Kunsstofflenkrad eingebaut. Über’s Internet habe ich mir ein Multifunktionslenkrad eines A6 besorgt. Da die Lenkräder bei den meisten Audi-Modellen identisch sind passt das auch in meinen A4. Ich habe mich wieder für ein 4-Speichen-Lenkrad entschieden, weil hier mein alter Airbag passt.
Als kleine Besonderheit ist das Lenkrad sogar noch beheizt – für mich als Nicht-Garagen-Besitzer natürlich super.

Im Internet habe ich mich vorher genau Informiert, welche Teile benötigt werden:
– Das Lenkrad 4L0 419 091 J (gebraucht von einem Teileverwerter)
– Der passende Schleifring 4E0 953 541 B (konnte ich gebraucht kaufen)
– Das passende Steuergerät 8E0 953 549 R (hatte ich bereits verbaut)
– Der zugehörige Airbag-Leitungssatz 4F0 971 589 A (gibt’s günstig beim Audi-Händler)

20130201-Dax-003

Das Lenkrad machte soweit einen guten Eindruck, hatte aber 2 Mängel: Erstens war das Leder bereits abgegriffen, und zweitens war es schwarz. Mein Innenraum ist aber grau! Nach kurzer Suche bin ich auf die Firma Carsdream in Deutschland gestoßen. Sie hat sich auf das Beziehen von Lenkrädern und diversen Autoteilen spezialisiert. Kurzerhand habe ich mein Lenkrad eingeschickt und das ganze passend in grau (mit Loch- bzw. Glattleder) beziehen lassen.

2013-02-25 21.03.03

Schlussendlich wurde das ganze verbaut – wegen dem Airbag habe ich das von einer Fachwerkstätte erledigen lassen – und von mir codiert. Jetzt kann ich das Radio/Telefon über das Lenkrad bedienen, die Lenkradheizung läuft paralell mit der Sitzheizung mit.

2013-03-26 13.31.15

2013-03-26 17.22.57

Daten, Fakten & Änderungen

Folgende Dinge habe ich bis jetzt umgebaut bzw. nachgerüstet:

– Heckscheibe und hintere Fenster schwarz foliert
– Kofferraumwanne gekauft
– Ambientbeleuchtung nachgerüstet
– RS4-Pedale nachgerüstet
– Neue Sommerfelgen (Hölzel RS4 8×18 ET45)
– Bremssättel orange lackiert
– Audiolink Mp3-Player im Handschuhfach nachgerüstet
– Fahrerinformationssystem („FIS“) und Wischwasser-Sensor nachgerüstet
– Innenbeleuchtung auf LED umgebaut
Kennzeichenbeleuchtung auf LED umgerüstet
Original Kennzeichenbeleuchtung eingebaut, da die Nachrüstlösung immer ausgefallen ist
– Original Audi-LED-Kennzeichenbeleuchtung mit Adapter eingebaut
– ABT Spoilerlippe angebaut
– RS4 Grill für die Standard-Stoßstange umgebaut und verbaut
– Kennzeichenblende besorgt, in Wagenfarbe lackiert und angebaut
– Neue Einstiegsleisten verbaut
– Votex Dachkantenspoiler angebaut
– Funkuhr nachgerüstet
– CH/LH ohne Lichtsensor nachgerüstet
– Standlüftung Codiert
– „Tränenwischen“ und geschwindigkeitsabhängiges Wischen codiert
– Heckwischer vom Q5 verbaut
– beheizte Spiegelgläser nachgerüstet
– Kopfstützenhaken „Snakey“ aus dem VW-Zubehör eingebaut
– S-Line-Diffusor nachgerüstet und in Wagenfarbe lackiert
– Krumme Diesel-Endrohre abgeschnitten und FOX Endrohrblenden angeschweißt
– Typenbezeichnung entfernt
– Navi-Halterung für die Standard-Telefonhalterung gebaut
– Rote Fußraumbeleuchtung eingebaut
– Beheiztes MuFu-Lenkrad vom Audi A6 einbauen
– Leder-Sitzbezüge in OEM-Optik

 

Was noch folgen wird:

– Abgenutzen Lichtschalter austauschen
– Frontscheinwerfer austauschen, da einer undicht ist
– Heckscheinwerfer mit LED-Version austauschen