Hallo Zusammen,
Ist es möglich die ganz normale Homatic Zentrale mit Pimatic zu verbinden?
Ich würde gerne mein komplettes Haus mit Homematic ausrüsten, dabei aber auf keinen Fall auf Pimatic verzichten… GIbt es da eine Möglichkeit?
-
Homematic mit Pimatic verbinden?!
-
No plugin currently as far as I know.
Why homematic?
-
Hi, ich denke mal du möchtest die 868Mhz nutzen und auch sicher sein, dass ausgeführt wurde was du klickst oder per regel automatisierst (Handshake), korrekt? Falls es nicht unbedingt Homatic sein muss, aber genannte Funktionen vorhanden sein müssen, würde ich dir Z-Wave empfehlen. Bietet min. all das was Homatic hat und es gibt für Pimatic einen Plugin.
-
es gibt zwar das homegear plugin das die HM Thermostate in pimatic einbindet, aber eine verwendung von homematic geräten ist bisher noch nicht machbar.
ich würde hier gerne die @developer mit ins boot holen.
vielleicht hat jemand zeit und knowhow in die richtung zu entwickeln.
mit dem selbstbau cul haben wir ja schonmal die möglichkeit auf 868 mhz RF zu kommen.homematic is not possible yet, except the thermostats via pimatic-homegear.
any idea of the developers is highly appreciated and welcome!!pimatic v0.9 has been released!
Support Pimatic and get some free stickers
Like us on Facebookmake it so !
-
Hallo t1m0,
für homematic gibt es eine API Erweiterung. https://github.com/hobbyquaker/XML-API/blob/master/README.md
Damit ist es möglich Homematicgeräte über pimatic zu steuern. -
@magic-tune Vielen Dank, sowas habe ich gesucht…
Das folgende funktioniert via MQTT ist bestimmt auch nicht schlecht und einfacher zu integrieren
https://homematic-forum.de/forum/viewtopic.php?f=18&t=24109 -
Halle Zusammen,
Erfahrungsbericht Pimatic + Homematic:
Meine Frage lautete vor ein paar Wochen:
Ist es möglich, die Pimatic mit Homematic zu verbinden?!
Meine Antwort nach langem ausprobieren: Ja, und auch noch verdammt gut, praktisch und schnell.
Für einen Hausumbau wollte ich keine selbstgebauten Relais nutzen und suchte nach einer guten Alternative. Kein China, sondern wirklich CE Zertifizierte Relais/Jalousie Schaltungen etc.
Da ich auf keinen Fall auf die Vorteile von Pimatic verzichten wollte, suchte ich nach einer Schnittstelle die genau dies ermöglicht.
Fündig wurde ich bei der Schnittstellen Software „pm2“ und „hm2mqtt.js“. Diese setzt alle Aktivitäten von Homematic in MQTT um. MQTT wird perfekt von der Pimatic unterstützt und ermöglicht eine perfekte Harmonie zwischen Homematic -> MQTT -> Pimatic.
Das einzige Problem war, dass ich einen 2. Raspberry brauchte. Pimatic läuft nicht unter der neusten Node.js, die aber für die anderen Programme gebraucht werden. Ist dieses Problem aber behoben ist die Einrichtung und Verknüpfung kinderleicht! (Siehe Link mit Anleitung unten)
Bei mir läuft das System seit ca. 1.5 Monaten stabil OHNE einen Absturz oder Fehler. Ich steuere Testweise 2 Thermostate und ein Relais.
Die Thermostate habe ich mit einem Dummy Device und ein paar Regeln wunderbar eingebaut. Eventuell stellt der Entwickler von „Pimatic MQTT“ im Laufe der Zeit ein paar mehr Devices zu Verfügung.
Falls Fragen bei der Installation oder sonst noch irgendwas unklar ist, beantworte ich diese gerne!
Gruß
Link zur Installation:github.com/mqtt-smarthome/mqtt-smarthome/blob/master/howtos/homematic.md#software-installation
(NodeRED brauchen wir logischerweise nicht)
-
Hallo t1m0!
Erstmal Danke für Deine Pionierarbeit Homematic mit Pimatic zu verbinden. Genau das suchte ich.
Bevor ich mir irgendwelche Konfigurationen durch Ausprobieren kaputt schieße, frage ich einfach mal…
Ich habe eine RPi2 mit installiertem Pimatic. Auf einem RPi3 läuft Raspberrymatic als CCU2 Derivat. Auf einem weiteren RPi3 werkelt Pi-Hole. Auf letzterem würde ich die zusätzlich erforderlichen Pakete installieren. Ein MQTT-Server läuft bereits auf meinem Synology-NAS.
Was muss ich jetzt wo installieren? Wenn ich das richtig verstanden habe benötige ich aus der Anleitung noch folgende Pakete:
- Node.js
- pm2
- hm2mqtt.js
Müssen alle diese Pakete auf dem zusätzlichen PRi installiert werden?
Was muss auf dem Raspberrymatic-RPi installiert/konfiguriert werden?Danke schon mal vorab.
-
Moin, genau die 3Pakete benötigst du! Am besten gehst du nach der Anleitung im Link.
pm2 und hm2mqtt benötigen eine bestimmte version von Node.js unter dieser aber PI nicht läuft. Deswegen habe ich einen 2. RP genommen.
Welche Version von node.js läuft denn auf dem 1. RP ? -
Auf dem Pimatic-RPi läuft node.js Version 4.6.2. Auf den anderen beiden läuft kein node.js.
Ich installiere jetzt mal auf dem Pi-Hole-RPi die drei Pakete und gehe die Anleitung durch. Aber was muss auf dem Raspberrymatic konfiguriert werden? Da habe ich wohl noch ein Verständnisproblem. Oder müssen die Pakete dort installiert werden?
-
Habe jetzt auf dem Pi-Hole-RPi node.js Version 9.2.0 installiert. Dabei bin ich die Anleitung durchgegangen. Bei folgendem Befehl gibt’s allerdings folgende Fehlermeldung:
sudo -E pm2 startup -u smarthome
[PM2] Init System found: systemd Platform systemd Template [Unit] Description=PM2 process manager Documentation=https://pm2.keymetrics.io/ After=network.target [Service] Type=forking User=smarthome LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity Environment=PATH=/usr/local/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin Environment=PM2_HOME=/home/pi/.pm2 PIDFile=/home/pi/.pm2/pm2.pid ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect ExecReload=/usr/local/lib/node_modules/pm2/bin/pm2 reload all ExecStop=/usr/local/lib/node_modules/pm2/bin/pm2 kill [Install] WantedBy=multi-user.target Target path /etc/systemd/system/pm2-smarthome.service Command list [ 'chmod +x /etc/systemd/system/pm2-smarthome.service', 'systemctl enable pm2-smarthome', 'systemctl start pm2-smarthome', 'systemctl daemon-reload', 'systemctl status pm2-smarthome' ] [PM2] Writing init configuration in /etc/systemd/system/pm2-smarthome.service [PM2] Making script booting at startup... >>> Executing chmod +x /etc/systemd/system/pm2-smarthome.service [DONE] >>> Executing systemctl enable pm2-smarthome [DONE] >>> Executing systemctl start pm2-smarthome Job for pm2-smarthome.service failed. See 'systemctl status pm2-smarthome.service' and 'journalctl -xn' for details. [ERROR] Exit code : 1 [PM2][ERROR] systemctl start pm2-smarthome failed, see error above.
Zur weiteren Fehlersuche:
sudo systemctl status pm2-smarthome.service
● pm2-smarthome.service - PM2 process manager Loaded: loaded (/etc/systemd/system/pm2-smarthome.service; enabled) Active: failed (Result: exit-code) since So 2017-11-19 13:39:56 CET; 2min 0s ago Docs: https://pm2.keymetrics.io/ Process: 1071 ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect (code=exited, status=1/FAILURE) Nov 19 13:39:56 pi-hole pm2[1071]: Error: EACCES: permission denied, open '/home/pi/.pm2/pm2.log' Nov 19 13:39:56 pi-hole pm2[1071]: at Object.fs.openSync (fs.js:663:18) Nov 19 13:39:56 pi-hole pm2[1071]: at module.exports.Client.launchDaemon (/usr/local/lib/node_modules/pm2/lib/Client.js:207:14) Nov 19 13:39:56 pi-hole pm2[1071]: at /usr/local/lib/node_modules/pm2/lib/Client.js:102:10 Nov 19 13:39:56 pi-hole pm2[1071]: at /usr/local/lib/node_modules/pm2/lib/Client.js:294:14 Nov 19 13:39:56 pi-hole pm2[1071]: at _combinedTickCallback (internal/process/next_tick.js:131:7) Nov 19 13:39:56 pi-hole pm2[1071]: at process._tickCallback (internal/process/next_tick.js:180:9) Nov 19 13:39:56 pi-hole systemd[1]: pm2-smarthome.service: control process exited, code=exited status=1 Nov 19 13:39:56 pi-hole systemd[1]: Failed to start PM2 process manager. Nov 19 13:39:56 pi-hole systemd[1]: Unit pm2-smarthome.service entered failed state.
Die Befehle:
sudo pm2 start hm2mqtt -- --ccu-address 192.168.1.100 --mqtt-url mqtt://192.168.1.101 sudo pm2 save sudo pm2 list
mussten mit sudo ausgeführt werden.
Letzterer Befehl gibt folgenden Output:
App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching hm2mqtt │ 0 │ fork │ 1060 │ online │ 0 │ 20m │ 0% │ 50.1 MB │ root │ disabled
Scheint also zu laufen.
Der Befehl “sudo pm2 logs hm2mqtt” gibt folgenden Output:
[TAILING] Tailing last 15 lines for [hm2mqtt] process (change the value with --lines option) /root/.pm2/logs/hm2mqtt-error-0.log last 15 lines: 0|hm2mqtt | at Function.Module._load (module.js:495:3) 0|hm2mqtt | at Object.<anonymous> (/usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js:73:21) 0|hm2mqtt | at Module._compile (module.js:641:30) 0|hm2mqtt | at Object.Module._extensions..js (module.js:652:10) 0|hm2mqtt | Error: Missing protocol 0|hm2mqtt | at Object.connect (/usr/local/lib/node_modules/hm2mqtt/node_modules/mqtt/lib/connect/index.js:63:13) 0|hm2mqtt | at Object.<anonymous> (/usr/local/lib/node_modules/hm2mqtt/index.js:57:19) 0|hm2mqtt | at Module._compile (module.js:641:30) 0|hm2mqtt | at Object.Module._extensions..js (module.js:652:10) 0|hm2mqtt | at Module.load (module.js:560:32) 0|hm2mqtt | at tryModuleLoad (module.js:503:12) 0|hm2mqtt | at Function.Module._load (module.js:495:3) 0|hm2mqtt | at Object.<anonymous> (/usr/local/lib/node_modules/pm2/lib/ProcessContainerFork.js:73:21) 0|hm2mqtt | at Module._compile (module.js:641:30) 0|hm2mqtt | at Object.Module._extensions..js (module.js:652:10) /root/.pm2/logs/hm2mqtt-out-0.log last 15 lines: 0|hm2mqtt | 2017-11-19 13:45:59.100 <info> mqtt trying to connect mqtt://192.168.1.101 0|hm2mqtt | 2017-11-19 13:45:59.274 <info> loading names_192.168.1.100 0|hm2mqtt | 2017-11-19 13:45:59.461 <info> rpc rfd > init [ 'xmlrpc_bin://192.168.1.102:2127', 'hm2mqtt_rfd' ] 0|hm2mqtt | 2017-11-19 13:45:59.484 <info> rpc hmip > init [ 'http://192.168.1.102:2126', 'hm2mqtt_hmip' ] 0|hm2mqtt | 2017-11-19 13:45:59.541 <info> mqtt connected mqtt://192.168.1.101 0|hm2mqtt | 2017-11-19 13:45:59.544 <info> mqtt subscribe hm/set/# 0|hm2mqtt | 2017-11-19 13:45:59.548 <info> mqtt subscribe hm/paramset/# 0|hm2mqtt | 2017-11-19 13:45:59.549 <info> mqtt subscribe hm/rega/# 0|hm2mqtt | 2017-11-19 13:45:59.550 <info> mqtt subscribe hm/rpc/# 0|hm2mqtt | 2017-11-19 13:45:59.551 <info> mqtt subscribe hm/command/# 0|hm2mqtt | 2017-11-19 13:45:59.623 <info> got 232 names from rega. saving names_192.168.1.100 0|hm2mqtt | 2017-11-19 13:46:04.675 <info> rfd got 52 devices and channels 0|hm2mqtt | 2017-11-19 13:46:04.679 <info> got 35 paramsetDescriptions 0|hm2mqtt | 2017-11-19 13:46:06.643 <info> hmip got 180 devices and channels 0|hm2mqtt | 2017-11-19 13:46:06.647 <info> got 35 paramsetDescriptions
Wie bekomme ich die obigen Fehler weg?
Wie binde ich jetzt weiter die Sensoren und Aktoren ein, sodass sie Daten an den MQTT-Server senden?
-
@miss-erfolg Please see https://forum.pimatic.org/topic/1179/how-to-post-code-snippets-and-alike-on-the-forum
"It always takes longer than you expect, even when you take into account Hofstadter's Law.", Hofstadter's Law
-
sudo -E pm2 startup -u smarthome
Heißt dein System smarthome? Da muss dr nutzername rein. Ich nehme an “pi” ??
Also:sudo -E pm2 startup -u pi
-
Ich habe, wie in der Anleitung beschrieben, den User smarthome angelegt. Aber mit dem anderen User Pi kommt die gleiche Fehlermeldung.
Vielleicht setze ich mal ein frisches Raspbian auf und versuche nochmal neu?!?!
Wie füge ich denn die Sensoren hinzu?
-
Es klappt noch immer noch nicht so richtig. In Pimatic bekomme ich keine Werte angezeigt.
Ich gehe davon aus, dass die Werte von den Homematic-Komponenten bereits auf dem MQTT-Server sind, denn mit mqtt-admin bekomme ich alle Daten angezeigt.
Wenn ich das hier
hm/status/Badezimmer DG:1/ACTUAL_TEMPERATURE
schicke, bekomme ich das hier zurück:
{"val":22.6,"ts":xxxxxxxxxxxxx,"lc":xxxxxxxxxxxxx,"hm":{"ADDRESS":"xxxxxxxxxxxxxx:1"}}
Ich vermute, dass meine Konfig in pimatic nicht richtig ist. Denn woher weiß pimatic, dass ich nur den zweiten Wert 22.6 haben möchte?
Kannst Du mir mal eine Beispielkonfiguration von einem Homematic-Sensor in Pimatic geben?
-
Lad dir mal einen lokalen Clienten runter unter gib “#” ein, dann bekommst du alle Meldungen die dein Broker empfängt auch. Dann kannst du dir die entsprechenden Aktoren raussuchen.
Neue Clienten legst du in der CCU an. Die werden dann automatisch mit dem Broker synchronisiert.
Als Beispiel für ein Thermostat:"brokerId": "homematic", "attributes": [ { "name": "val", "topic": "hm/status/HM-CC-RT-DN NEQ1408593:4/ACTUAL_TEMPERATURE", "type": "number", "unit": "°C", "acronym": "Temp", "messageMap": {} } ], "xAttributeOptions": [], "echo": { "additionalNames": [] }, "id": "wohnzimmer-temperatur-thermostat", "name": "Wohnzimmer Temperatur Thermostat", "class": "MqttSensor" },
Zum ändern musst du folgenden Befehl in eine Rule schreiben
{ "id": "wohnzimmer-ubertragen", "name": "Wohnzimmer übertragen", "rule": "when $heizung-wohnzimmer.temperatureSetpoint changes then publish mqtt message \"$heizung-wohnzimmer.temperatureSetpoint\" on topic \"hm/set/NEQ1408593:4/SET_TEMPERATURE\" on broker homematic qos: 1 retain: true", "active": true, "logging": false },
-
Hab’s hin bekommen. Der Knackpunkt war, dass der Name “val” sein muss. Ich hatte irgendeinen beschreibenden Namen gewählt. Kann mir einer erklären, warum der Name “val” sein muss? Habe das nicht verstanden.
Danke für Deine Unterstützung.
-
Ich habe auch lange probiert 😂😂
-
Muss man für jeden Wert, den man in Pimatic anzeigen möchte, ein neues Gerät/Device anlegen? Ich habe z.B. einen Homematic IP Raumtemperaturfühler, der Soll-, Ist-Temperatur und Luftfeuchtigkeit an den MQTT-Broker übermittelt. Da der Name des Attributs immer “val” ist, kann ich innerhalb eines Geräts/Device nur ein Attribut z.B. Luftfeuchtigkeit definieren. Wenn nun noch die Ist-Temperatur im gleichen Gerät konfiguriert werden soll, kann der dieses nicht anzeigen, weil wie oben erwähnt jedes Attribut “val” heißt. Oder hast Du das Problem irgendwie lösen können?
-
Nein, leider nicht… lasse es mich wissen, wenn du es geschafft hast