Heute möchte ich Euch mein neues Projekt vorstellen.
Ziel: Geräte über den Enocean Funk in homee einbinden
Warum: Es gibt leider genügend Geräte die homee nicht unterstütz
Was wird benötigt: Raspberry Pi 3B mit 32Gb SD , Enocean USB300 Stick oder auch Enocean Platine
Installation: Betriebssystem auf die Sd packen und Node Red installieren, der USB Stick wird automatisch erkannt.
Dann muss noch das Node von Holger Will installiert werden node-red-contrib-enocean.
Hier möchte ich mich auch ganz doll bei Holger für die Hilfe und Unterstützung bedanken.
Nun habe ich damit begonnen in Node Red Sensoren nachzubilden.
Dazu ist es wichtig die EEP der unterstützten Geräte zu kennen und deren Eigenschaften.
Hier ein Beispiel für einen Temperatursensor.
Der Inject wird im json format gesendet, mit folgenden Inhalt.
{
"meta": {
"eep": "a5-04-03",
"channel": 5,
"type": "teach-in"
},
"teach-in": {
"type": "4BS"
},
"data": {
"LRN": 1
}
}
Der Stick unterstützt bis zu 126 Channel und für jeden Sensor müsst Ihr einen neuen Channel vergeben
Jetzt könnt Ihr in homee ein Enocean Gerät anlernen ( anderes Gerät ) , wenn Ihr Start gedrückt habt dann den Inject auslösen und schon ist der Sensor in homee angelernt.
Mit dem folgenden json Inject könnt Ihr den Wert ändern.
{"meta": {
"eep": "a5-04-03",
"channel": 5,
"type": "data"
},
"data": {
"TMP": 15,
"HUM": 50
}}
TMP ist die Temperatur und HUM ist die Luftfeuchtigkeit.
Sensoren sind also kein Problem.
Hier der Inject zum anlernen einer Wetterstation
{ "meta": {
"eep": "a5-13-01",
"channel": 2,
"type": "teach-in"
},
"teach-in": {
"type": "4BS"
},
"data": {
"LRN": 0
}
}
Und das ist der Inject zum ändern der Werte.
{ "meta": {
"eep": "a5-13-01",
"channel": 2,
"type": "data",
"status": 1
},
"data": {
"DWS": 5,
"ID": 1,
"TMP": 5,
"WND": 10,
"RAN": 1
}
}
Diese sind die ersten Grundlagen für die Sensorik.
Die Aktorik ist schon aufwendiger aber auch das habe ich hinbekommen.
Folgende Aktoren habe ich testweise mal angelernt , den Permundo WallPlug und den Permundo Rollershutter.
Okay ich dachte einfach nur die EEP ändern und los gehts, aber weit gefehlt.
Ich habe dann mit Holger etwas länger geschrieben in seinem öffentlichen Slack
und er hat dann mehrere Test gemacht und das Node geändert.
Aber es hat alles nichts geholfen. Dann haben wir den Datenverkehr beim Anlernen mitgehört und haben dann diesen Wert kopiert.
Holger hat dann den Node wieder etwas geändert und schon konnte man die Werte an homee senden mit der AbsenderID des USB Sticks.
Was soll ich sagen es hat geklappt, so konnte ich bisher die zwei Geräte anlernen und testen.
Nun ist es möglich die Zustände eines Gerätes von homee an Node Red zu senden und natürlich auch andersherum.
Das Empfangen der Werte muss natürlich nach den Geräten gefiltert werden, dazu gibt es das Aktor Node. hier kann man ein Gerät anlernen und dann reagiert dieses Node nur noch auf den angelernten Aktor oder Sensor
wird später vervollständigt da es aufwendiger ist
Super soweit , mein Ehrgeiz ist nun geweckt und daher wollte ich natürlich auch meine vorhandenen Eltako Tipp 61L anlernen und darüber steuern.
Dazu muss man den Eltako dazu bringen seinen Staus per Telegramm zu senden. (steht in der Anleitung).
Nächster Schritt ist in Node Red einen Rocker Switch zu simulieren und diesen als Richtungstaster an den Eltako anzulernen.
Für die Rocker Simulation gibt es ein separates Rocker Node.
Das hat auch super geklappt.
Als nächstes musste mit der Eltako in den Aktor Node angelernt werden.
Nun habe ich den Status des 61L im Node red und kann diesen an homee weiterleiten.
Das schöne ist das es keine spürbaren Verzögerungen gibt.
Das Ganze Projekt ist sicher nicht das einfachste aber es funzt sehr gut.
Damit konnte ich auch den Stromverbrauch meines Hauses (gemessen vom EM-300) an homee weitergeben . Für jede Phase habe ich einen Enocean Aktor simuliert und die Leistungswerte aus MQTT weiter geleitet. Leider wird der B-Control Energiemanager ja nicht unterstützt.
Egal ob homee oder der Raspi einen Neustart machen die Enocean Geräte funzen sofort wieder.
Das Projekt ist noch nicht am Ende und wird weiter ausgebaut.
So das war ein kurzer Auszug.
Anmerkungen und Verbesserungen sowie Beschreibung können jetzt direkt angehangen werden. Dann lasst uns zusammen das Projekt erweitern und verbessern.
Raspberry richtig aufsetzen:
…
Sensorik Geräte und deren EEP sowie entsprechende Attribute:
…
Aktorik Geräte und deren EEP sowie
entsprechende Attribute:
…
Wie werden Sensoren angelernt:
…
Wie werden Aktoren angelernt:
…