Vorstellung: hm2mqtt & mqtt-smarthome

diverse Zusatzsoftware

Moderator: Co-Administratoren

Benutzeravatar
19Homer73
Beiträge: 42
Registriert: 31.10.2016, 12:57
Hat sich bedankt: 2 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von 19Homer73 » 02.06.2017, 10:34

DerBastler hat geschrieben:Hallo zusammen,

ich bin nun endlich fündig geworden: Die Sonoff-WLAN-Steckdose für rund 15€ kann mit Hilfe eines Programmiergerätes und einer neuen Firmware zu einem MQTT-fähigem Gerät umgewandelt werden .... Ist ja eigentlich für einen CCU1-Beistzer nicht das Richtige, ABER: die Entwickler waren so nett und haben noch ein Web-Frontend dazu gebastelt (eigentlich nur zu debug-Zwecken) und damit kann ich alles machen was ich damit vorhabe.

Zum Flashen der Firmware braucht man ein paar Kleinigkeiten aber das habe ich mit ein wenig Bastelei soweit voreinander bekommen und das ganze mal in eine Anleitung gepackt. Vielleicht kann's ja jemand brauchen ;-) Die PDF-Datei (garantiert Virenfrei :-D) findet Ihr unter http://www.share-online.biz/dl/3RZLC7HO7U
(kann man hier im Forum auch Dateien posten ???)

Falls irgendwo Fehler sind, oder aber etwas unverständlich ist, dann schickt mir gerne die korrigierte Version ;-) oder sagt einfach Bescheid.

Viele Grüße
Der Bastler

P.S. Die Firma hat viele kleine WLAN-Geräte (https://www.itead.cc/smart-socket-eu.html) für einen unschlagbar günstige Kurse. Und das gute ist, dass die neue Firmware auf alle (?) Produkte anwendbar ist ... Also ein Rundum-Sorglos-Paket.

Hallo,

kannst Du bitte mal nach dem Link zur PDF-Datei schauen und den ggf. korrigieren?
Ich bekomme immer eine Fehlermeldung, dass die Datei nicht existiert :cry:

Danke & Grüße,
Homer

Henk
Beiträge: 115
Registriert: 17.06.2012, 16:07

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von Henk » 02.11.2017, 15:51

Hallo liebe Homematicer,

ich versuche gerade die alte Version von Oliver mit mqtt-smarthome zu ersetzen.
Bei mir läuft das Ganze in einem Docker Container, dank Dockerfile von Hobbyquaker auch alles kein Problem.

Ich bin auch eine ganze Ecke gekommen, Verbindung zum Broker steht und ich empfange auch was.

Den Container starte ich mit

Code: Alles auswählen

docker run -it -p 2126:2126 -p 2127:2127 --name hm2mqtt -e HM2MQTT_MQTT-URL="mqtt://192.168.178.103" -e HM2MQTT_MQTT-USERNAME="mqtt-user-name" -e HM2MQTT_MQTT-PASSWORD="mqtt-user-password" -e HM2MQTT_CCU-ADDRESS="192.168.178.101" -e HM2MQTT_INIT-ADDRESS="192.168.178.101" -e HM2MQTT_VERBOSITY="debug" hm2mqtt /bin/bash
Ausgabe von

Code: Alles auswählen

mosquitto_sub -h 192.168.178.103 -t "hm/#" -v

Code: Alles auswählen

hm/connected 2
hm/connected 1
Nur der Status von Geräten wird nicht übermittelt und wenn ich einen Befehl publishe bekomme ich folgende Fehlermeldung.

Code: Alles auswählen

mosquitto_pub -h 192.168.178.103 -t "hm/set/JEQ0077543:1/STATE" -m "1"

Code: Alles auswählen

2017-11-02 13:58:59.656 <debug> mqtt < hm/set/JEQ0077543:1/STATE 1
2017-11-02 13:58:59.656 <error> unknown device JEQ0077543:1
Sagt das jemanden was?

Code: Alles auswählen

2017-11-02 13:52:35.085 <info>  hm2mqtt 2.2.4 starting
2017-11-02 13:52:35.087 <debug> loading paramsetDescriptions_192.168.178.101
2017-11-02 13:52:35.087 <info>  mqtt trying to connect mqtt://192.168.178.103
2017-11-02 13:52:35.119 <info>  loading names_192.168.178.101
2017-11-02 13:52:35.120 <debug> sending script to http://192.168.178.101:8181/rega.exe
2017-11-02 13:52:35.122 <debug> discover interfaces
2017-11-02 13:52:35.152 <debug> loading devices_192.168.178.101_rfd
2017-11-02 13:52:35.153 <debug> createIface rfd binrpc 2001
2017-11-02 13:52:35.155 <info>  rpc rfd > init [ 'xmlrpc_bin://192.168.178.101:2127', 'hm2mqtt_rfd' ]
2017-11-02 13:52:35.158 <debug> loading devices_192.168.178.101_hmip
2017-11-02 13:52:35.158 <debug> createIface hmip xmlrpc 2010
2017-11-02 13:52:35.159 <info>  rpc hmip > init [ 'http://192.168.178.101:2126', 'hm2mqtt_hmip' ]
2017-11-02 13:52:35.167 <info>  mqtt connected mqtt://192.168.178.103
2017-11-02 13:52:35.167 <info>  mqtt subscribe hm/set/#
2017-11-02 13:52:35.168 <info>  mqtt subscribe hm/paramset/#
2017-11-02 13:52:35.168 <info>  mqtt subscribe hm/rega/#
2017-11-02 13:52:35.168 <info>  mqtt subscribe hm/rpc/#
2017-11-02 13:52:35.168 <info>  mqtt subscribe hm/command/#
2017-11-02 13:52:35.190 <debug> rpc rfd < init ""
2017-11-02 13:52:35.190 <debug> ifaceAllConnected true
2017-11-02 13:52:35.264 <debug> rpc hmip < init ""
2017-11-02 13:52:35.264 <debug> ifaceAllConnected true
2017-11-02 13:52:35.402 <info>  got 212 names from rega. saving names_192.168.178.101

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von hobbyquaker » 02.11.2017, 16:43

Was hier auffällt ist dass HM2MQTT_CCU-ADDRESS und HM2MQTT_INIT-ADDRESS gleich ist, das darf nicht sein. Die Init-Adresse muss die Adresse sein unter der die CCU hm2mqtt erreichen kann, in dem Fall also die Adresse unter der der Docker-Container die Ports 2126/2127 veröffentlicht.

Wenn das korrigiert ist würde ich mal mit mosquitto_sub -t 'hm/status/#' -v prüfen welche Devices einen Status veröffentlichen.

hth

Henk
Beiträge: 115
Registriert: 17.06.2012, 16:07

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von Henk » 02.11.2017, 17:58

Ah, sehr gut!

Hobbyquaker, genau das war es.

Jetzt ergibt sich aber leider eine weitere Frage.
Gibt es eine Möglichkeit im Topic die reine Seriennummer mit Channel anzeigen zu lassen.

Also z.B.

Code: Alles auswählen

hm/status/JEQXXXXXX:1/#
Bei dem Addon von Oliver ging das ja.

Das ist jetzt nicht unbedingt nötig, muss ich nur meine Scripte anpassen. :P

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von hobbyquaker » 02.11.2017, 18:18

ja, Du kannst die Abfrage der Namen aus der Rega deaktivieren, dann sollten nur noch die Seriennummern erscheinen (option heisst glaube ich disable-rega, musst mal im readme schauen). Kann allerdings sein dass ich die Namen persistiere, dann einfach mal Dein Docker Container neu erzeugen.

Henk
Beiträge: 115
Registriert: 17.06.2012, 16:07

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von Henk » 02.11.2017, 18:26

Vielen Dank Hobbyquaker.

Das ist was für morgen, denn jetzt gibt's 'henk/status/HappaHappa' :mrgreen:

Henk
Beiträge: 115
Registriert: 17.06.2012, 16:07

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von Henk » 02.11.2017, 20:44

Mit diesem Docker Command läuft alles wie geschmiert.
Vielleicht ist das für Andere auch interessant.

Code: Alles auswählen

docker run -p 2126:2126 -p 2127:2127 --name hm2mqtt -e HM2MQTT_MQTT-URL='mqtt://xxx.xxx.xxx.xxx:1883' -e HM2MQTT_MQTT-USERNAME='xxx' -e HM2MQTT_MQTT-PASSWORD='xxx' -e HM2MQTT_CCU-ADDRESS='xxx.xxx.xxx.xxx' -e HM2MQTT_INIT-ADDRESS='xxx.xxx.xxx.xxx' -e HM2MQTT_DISABLE-REGA=true hm2mqtt

DerBastler
Beiträge: 27
Registriert: 03.10.2016, 23:02
Hat sich bedankt: 4 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von DerBastler » 06.12.2017, 18:16

Hallo zusammen,
ich habe mich ja schon ein paarmal hier im Thread zu den Sonoff-Steckdosen / WLAN-Schaltern geäußert und dabei auf deren http-Fähigkeiten verwiesen. Eigentlich eine schöne Sache, bis auf die Tatsache, dass ich über die http.Kommandos kein Feedback erhalte ...

Da ich mir mittlerweile ein paar WLAN-Lautsprecher gekauft habe möchte ich diese gerne per Schalter und per App richtig an-/ausschalten können. Die Dinger sind nur so im Raum verteilt, dass ich verschiedene Netzschalter brauche. Die Idee dahinter ist nun, dass wenn ich einen Schalter betätige, dass dann automatisch die anderen mit an- bzw. ausgeschaltet werden .... Soweit die Theorie .... Mögliche Umsetzung wäre eine http-Überwachung per CCU2 (alle 30s ein http-Request mit Auswertung) der Schalter und dann "Nachziehen" der restlichen Schalter. Das halte ich aber für keine gelungene Lösung ... Eine Anfrage im GitHub-Tasmota-Verzeichnis, ob es ein Post-On-COmmand oder ein Post-Off-Command (z. B. ein http-Kommando über die XML an die CCU) verlief - wie eigentlich nicht anders zu erwarten - negativ.

Nun dachte ich, wenn die Sonoff's ja schon mal MQTT sprechen könnte man das ja auch mal nutzen. Leider werde ich aus der ganzen Geschichte hier nicht so ganz schlau ...Vielleicht könnt Ihr mich kurz erleuchten ...

Ich denke, dass das hm2mqtt der Dolmetscher zwischen hm und MQTT ist ... aber mit irgendwem muss ja dieser Dolmetscher sprechen. So wie ich das verstanden habe ist das wohl der sog. broker (quasi die CCU für MQTT)?

Ist es möglich einen "broker" auf der CCU2 laufen zu lassen? (Ich möchte nicht noch einen Server irgendwo rumstehen haben) Wenn ja, könntet Ihr mir velleicht verraten, ob es dazu ein HowTo gibt und wo ich das finden kann?

Ich wäre wirklich sehr dankbar für sachdienliche Hinweise.

Viele Grüße

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von hobbyquaker » 10.12.2017, 14:12

Das mit dem Broker verstehst Du soweit richtig. Der von den meisten genutzte MQTT Broker heisst „Mosquitto“. Vermutlich könnte man den wirklich auf einer CCU2 laufen lassen, ist ein sehr schlankes Teil mit quasi 0 Dependencies (von OpenSSL abgesehen das aber nur notwendig ist wenn man TLS nutzen will) dass sich mit 2MB Ram begnügt und kaum Last erzeugt. Allerdings hat bisher noch niemand ein Binary für die CCU gebaut. Ich würde auch eher davon abraten, früher oder später kommen dann eh noch weiter MQTT Interfaces dazu und die würden die Möglichkeiten der CCU dann sprengen. Da wäre eher piVCCU anzuraten denke ich, da kommt man vmtl am schnellsten/einfachsten ans Ziel wenn man alles auf einer Kiste laufen lassen will. HTH

DerBastler
Beiträge: 27
Registriert: 03.10.2016, 23:02
Hat sich bedankt: 4 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von DerBastler » 10.12.2017, 15:37

Hallo Hobbyquaker,
vielen Dank für Deine Nachricht. Dass es keine Binaries gibt habe ich mir fast schon gedacht und dass die CCU vermutlich n die Knie geht auch .... Aber es hätte ja auch mal etwas schön einfach sein können ...
An der ganzen Geschichte stört mich irgendwie, dass ich für jedes "System" einen eigenen Rechner laufen lassen soll. Ich habe auch schon mal geschaut: Bei Synology gibt es Mosquito auch für die NAS. Die läuft bei mir aber nur bei Bedarf... Leider haben die keine Version für einen Router mit ihrem SRM :-( Der würde eh laufen und wenn es darauf laufen würde, dann wär's perfekt....
Die vermutlich einzige Alternative wäre ein PI. SInd die denn so performant, dass ich die "CCU" und einen MQTT-Server darauf laufen lassen kann?
Viele Grüße
Der Bastler

Antworten

Zurück zu „Sonstige Addons“