Vorstellung: hm2mqtt & mqtt-smarthome

diverse Zusatzsoftware

Moderator: Co-Administratoren

stephanw
Beiträge: 20
Registriert: 26.12.2010, 22:41
Danksagung erhalten: 1 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von stephanw » 09.02.2018, 22:17

Hallo Hobbyquaker
Vielen herzlichen Dank für die Antwort. 8181 war mein Problem, da ich mit Kanalnamen arbeite.

Nun läufts.
Schönes Weekend.
Stephan

stephanw
Beiträge: 20
Registriert: 26.12.2010, 22:41
Danksagung erhalten: 1 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von stephanw » 11.02.2018, 19:01

Hallo hobbyquaker,
ich habe nun das Script 2x installiert:
Einmal im gleichen Gebäude hm2mqtt <=> Firewall <=> YAHM. Das hat prima funktioniert. Starte ich aber das Script über unsere VPN Verbindung: hm2mqtt <=> Firewall <=> VPN <=> Firewall <=> YAHM, dann scheint es noch ein Timing Problem zu geben. Auf den FW's habe ich auf jeden Fall keine geblockten Packete. Im Log von hm2mqtt sehe ich das:

Code: Alles auswählen

2018-02-11 17:52:19.966 <error> Error: timeout
    at Timeout.<anonymous> (/usr/local/lib/node_modules/hm2mqtt/node_modules/binrpc/lib/client.js:144:34)
    at ontimeout (timers.js:458:11)
    at tryOnTimeout (timers.js:296:5)
    at Timer.listOnTimeout (timers.js:259:5)
Zudem geht das Homematic WEB Interface in die Knie und reagiert nicht mehr auf Eingaben.
Hast Du eine Idee, was das sein könnte? Ist die ganze Kommunikation so zeitkritisch, dass das über Remote gar nicht geht?

Meine Idee ist halt, dass unsere Visualisierung inkl. hm2mqtt Scripte auf einem einzigen Server läuft und die Daten bei den Homematic Zentralen abholt. Sie werden dann auf einem Node-Red Dashboard zusammengestellt. Sollte das nicht gehen, installiere ich halt das hm2mqtt Script jeweils lokal. Gibt ein wenig mehr Verwaltungsaufwand, aber geht auch.

Vielen Dank für Deine Antwort.
Stephan

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 » 11.02.2018, 19:29

Also wenn die VPN Verbindung nicht gerade "superlahm" ist "sollte" das kein Problem sein. Funktioniert es überhaupt nicht oder bricht es nach einer Weile erst zusammen? Wenn es gar nicht geht würde ich erstmal noch mal die Erreichbarkeit prüfen, vielleicht fehlt ja der CCU eine Route um hm2mqtt.js zu erreichen oder sowas ähnliches.
Wenn Du allerdings die Möglichkeit hast die hm2mqtt.js dort laufen zu lassen wo auch die CCU steht würde ich das auf jeden Fall bevorzugen. MQTT hat kein Problem mit wackligen und/oder langsamen Verbindungen und macht vernünftig und schnell Reconnects. Die CCU hingegen reagiert recht zickig wenn Sie Ihre Events nicht per RPC abliefern kann und die Erkennung von abgebrochenen RPC Verbindungen und der Reconnect dauert auch eine ganze Weile...

avolkmer
Beiträge: 47
Registriert: 27.12.2017, 15:57

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von avolkmer » 15.02.2018, 09:50

Einsatz von hm2mqtt zum publishen von Verbrauchswerten zur Auswertung an eine MQTT Broker

Ich habe hobbyquaker/hm2mqtt.js auf einem Raspberry (IP x.x.x.30) installiert und bekomme auch mit --help schön die Optionen angezeigt.
Der Broker (IP x.x.x.6) ist seit geraumer Zeit im Einsatz.
Die CCU2 (RaspberryMatic) läuft auf (IP x.x.x.71).

Was muss ich jetzt wie konfigurieren und starten, damit ich z.B. jede Stunde die Verbrauchswerte (von HM-ES-PMSw1-Pl-DN-R1) an den Broker publishen kann.

So wie ich das verstehe muss erst das Programm hm2mqtt mit Parametern gestartet werden. Welche brauche ich da genau?

Ich muss denke ich, den Zugriff auf die CCU in den Firewall Einstellungen zulassen?

Wo kann ich einstellen was, wann gepublisht wird?
Läuft hm2mqqt auch als Dienst?

Versuch:

Code: Alles auswählen

pi@raspberrypi:~ $ hm2mqtt -a 192.168.100.71 -m "mqtt://192.168.100.6"
2018-02-15 09:47:07.148 <info>  hm2mqtt 2.4.0 starting
2018-02-15 09:47:07.164 <info>  mqtt trying to connect mqtt://192.168.100.6
2018-02-15 09:47:07.543 <info>  loading names_192.168.100.71
2018-02-15 09:47:07.627 <info>  rpc rfd > init [ 'xmlrpc_bin://192.168.100.30:2127', 'hm2mqtt_rfd' ]
2018-02-15 09:47:07.662 <info>  rpc hmip > init [ 'http://192.168.100.30:2126', 'hm2mqtt_hmip' ]
2018-02-15 09:47:07.774 <info>  mqtt connected mqtt://192.168.100.6
2018-02-15 09:47:07.780 <info>  mqtt subscribe hm/set/#
2018-02-15 09:47:07.787 <info>  mqtt subscribe hm/param/#
2018-02-15 09:47:07.789 <info>  mqtt subscribe hm/paramset/#
2018-02-15 09:47:07.790 <info>  mqtt subscribe hm/rega/#
2018-02-15 09:47:07.792 <info>  mqtt subscribe hm/rpc/#
2018-02-15 09:47:07.793 <info>  mqtt subscribe hm/command/#
2018-02-15 09:47:08.101 <info>  got 242 names from rega. saving names_192.168.100.71
2018-02-15 09:47:13.901 <info>  hmip got 20 devices and channels
2018-02-15 09:47:16.531 <info>  rfd got 180 devices and channels
2018-02-15 09:47:21.626 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.629 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.631 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.654 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.656 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.658 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.681 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.683 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.685 <error> missing VALUES in paramsetDescription HMIP-PSM/4/SWITCH_VIRTUAL_RECEIVER
2018-02-15 09:47:21.715 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:21.717 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:21.718 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:21.720 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:21.721 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:21.723 <error> missing VALUES in paramsetDescription HMIP-PSM/4/ENERGIE_METER_TRANSMITTER
2018-02-15 09:47:33.125 <info>  got 38 paramsetDescriptions
2018-02-15 09:47:35.246 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:47:35.284 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:47:35.287 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:47:35.290 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:47:35.292 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:47:35.295 <error> missing VALUES in paramsetDescription HM-ES-PMSw1-Pl-DN-R1/16/POWERMETER
2018-02-15 09:48:06.108 <info>  got 38 paramsetDescriptions
Ich möchte nur Werte auslesen und nicht setzen.
Einmal hat er scheinbar alle Werte an den Broker geschickt, aber wann kommt die nächste Sendung?

Sorry für die vielen Fragen.

Danke für die Hilfe!
Alex
Zuletzt geändert von alchy am 15.02.2018, 13:19, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

avolkmer
Beiträge: 47
Registriert: 27.12.2017, 15:57

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von avolkmer » 15.02.2018, 10:34

Nach Neustart des Raspberry funktioniert das empfangen der mqtt messages von der CCU einwandfrei.
Kann ich die Geräte oder Kanäle eingrenzen die Daten an den Broker senden?

Und wie kann ich das senden an die CCU unterbinden (einschalten und ausschalten von Geräten)?

Wie kann ich das als Dienst einbinden /etc/int.d hm-mqtt start, kommt die Logausgabe und gibt nicht die Kontrolle an die Console zurück?

stephanw
Beiträge: 20
Registriert: 26.12.2010, 22:41
Danksagung erhalten: 1 Mal

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von stephanw » 15.02.2018, 16:18

Hi
schau dir mal pm2 an (http://pm2.keymetrics.io/)

Falls Du Node-Red brauchst: Das beschränken auf x Msg. / Stunde kriegst du am besten mit der Delay Node hin in Node Red. Dort kannst Du in der Action Rate Limit auswählen.

Ansonsten musst Du das mit der "Logik" Deiner Wahl beschränken. Meiner Meinung nach ist dies weder die Aufgabe des hm2mqtt Scripts noch die des Brokers. Beiden sollen stur das abarbeiten, was sie kriegen.

Gruss
Stephan

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 » 15.02.2018, 18:09

avolkmer hat geschrieben:Einsatz von hm2mqtt zum publishen von Verbrauchswerten zur Auswertung an eine MQTT Broker
Was muss ich jetzt wie konfigurieren und starten, damit ich z.B. jede Stunde die Verbrauchswerte (von HM-ES-PMSw1-Pl-DN-R1) an den Broker publishen kann.
hm2mqtt published die Werte stur jedes mal wenn der Schnittstellenprozess einen Event pushed. Wie Stephan schon sagte könntest Du mit Node-RED ein rate limit bauen.
avolkmer hat geschrieben: Ich möchte nur Werte auslesen und nicht setzen.
Das könnte man über den Broker realisieren. Mosquitto bietet ACLs, damit kannst Du für bestimmte User nur bestimmte Topics freigeben. Du könntest z.B. hm2mqtt verbieten +/set/# zu subscriben oder allen anderen verbieten auf +/set/# zu publishen wenn Du 100% sicher gehen willst das niemand etwas setzen kann.

avolkmer
Beiträge: 47
Registriert: 27.12.2017, 15:57

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von avolkmer » 01.03.2018, 11:06

Hallo,

kurze Frage. Kann es sein das die Systemvariablen Änderungen nicht an mqtt weitergegeben werden?

Ich suche eine Möglichkeit Systemstände an einen MQTT Client zu übergeben.

Gruss und Danke für die Hilfe!

Alex

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.03.2018, 17:09

avolkmer hat geschrieben:Kann es sein das die Systemvariablen Änderungen nicht an mqtt weitergegeben werden?
Nicht per default, aber man kann das aktivieren. Systemvariablen und Programme werden auf der CCU von der "Rega" bereitgestellt, diese bietet leider keinen "Push-Mechanismus" um Änderungen an Systemvariablen zu erhalten. Daher müssen diese gepollt werden. hm2mqtt.js bietet zwei Möglichkeiten hierfür, den "rega-poll-interval" der einfach in fixen Abständen die Variablen von der Rega abfragt oder den "rega-poll-trigger" mit dem man sich einen "Pseudo-Push-Mechanismus" bauen kann. Siehe Readme auf https://github.com/hobbyquaker/hm2mqtt.js, Überschrift "ReGa (Homematic variables and programs)"

avolkmer
Beiträge: 47
Registriert: 27.12.2017, 15:57

Re: Vorstellung: hm2mqtt & mqtt-smarthome

Beitrag von avolkmer » 04.03.2018, 18:03

Hallo, danke für die Info.

Ich bekomme aber eine Fehlermeldung:
2018-03-04 17:57:20.616 <info> got 255 names from rega. saving names_192.168.100.71
in JSON at position 744<error> SyntaxError: Unexpected token
at JSON.parse (<anonymous>)
at rega (/usr/lib/node_modules/hm2mqtt/index.js:480:37)
at Request.request [as _callback] (/usr/lib/node_modules/hm2mqtt/index.js:465:13)
at Request.self.callback (/usr/lib/node_modules/hm2mqtt/node_modules/request/request.js:186:22)
at Request.emit (events.js:127:13)
at Request.<anonymous> (/usr/lib/node_modules/hm2mqtt/node_modules/request/request.js:1163:10)
at Request.emit (events.js:127:13)
at IncomingMessage.<anonymous> (/usr/lib/node_modules/hm2mqtt/node_modules/request/request.js:1085:12)
at Object.onceWrapper (events.js:219:13)
at IncomingMessage.emit (events.js:132:15)

Und bekomme als mqtt nur Programme mit true;
hm/status/Temperatur Elektro Min Max
{"val":true,"ts":1520182275000,"hm":{"id":12006}}

aber keine Variablen wie "Temperatur Elektro Max Heute"

EDIT: Erledigt, es dürfen keine Leerzeichen in den Variablennamen sein. Dann geht es.
Zuletzt geändert von avolkmer am 04.03.2018, 18:59, insgesamt 2-mal geändert.

Antworten

Zurück zu „Sonstige Addons“