Vorstellung: hm2mqtt & mqtt-smarthome
Moderator: Co-Administratoren
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Vorstellung: hm2mqtt & mqtt-smarthome
hm2mqtt.js
Da ich eine gewisse Aversion gegen Java habe und mir in hm2mqtt ein paar Features gefehlt haben (Homematic IP bzw. XMLRPC Support, sowie die Möglichkeit beliebige RPC Kommandos via MQTT auszuführen) habe ich mich entschlossen das ganze noch mal neu auf Node.js zu implementieren. Rausgekommen ist bis jetzt das hier: https://github.com/hobbyquaker/hm2mqtt.js
Feedback willkommen, bevorzugt im Github Issue tracker.
Da ich eine gewisse Aversion gegen Java habe und mir in hm2mqtt ein paar Features gefehlt haben (Homematic IP bzw. XMLRPC Support, sowie die Möglichkeit beliebige RPC Kommandos via MQTT auszuführen) habe ich mich entschlossen das ganze noch mal neu auf Node.js zu implementieren. Rausgekommen ist bis jetzt das hier: https://github.com/hobbyquaker/hm2mqtt.js
Feedback willkommen, bevorzugt im Github Issue tracker.
-
- Beiträge: 72
- Registriert: 24.12.2015, 13:13
- Hat sich bedankt: 2 Mal
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Hallo,
uiiii. Ein Sprachwechsel und neue Features .
Nachdem ich gerade vor 2 Wochen auf "mqtt & Node-red" umgestiegen bin gibt es jetzt eine neue/andere mqtt Implementierung für homematic.
Aber schön dass das Thema hm2mqtt weiter gepflegt wird
Werner
uiiii. Ein Sprachwechsel und neue Features .
Nachdem ich gerade vor 2 Wochen auf "mqtt & Node-red" umgestiegen bin gibt es jetzt eine neue/andere mqtt Implementierung für homematic.
Aber schön dass das Thema hm2mqtt weiter gepflegt wird
In wie weit sind denn beide Versionen kompatibel? Hast Du Migrationshilfen/-hinweise?It's kind of the same like the original hm2mqtt, but it supports XMLRPC (hm2mqtt only supports BINRPC), so it can be used with Homematic IP also.
Werner
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Sollte "weitgehend" kompatibel sein. Die Topic-Struktur ist die gleiche, bei den status-payloads gab es kleine Änderungen in der Nomenklatur der zusätzlichen Attribute (hm_unit und hm_addr z.B.). Wenn die bei Dir keine Rolle spielen sollte es 1:1 austauschbar sein.
Die Command-Line parameter sind anders benannt, am besten einfach mal mit --help aufrufen.
Die Command-Line parameter sind anders benannt, am besten einfach mal mit --help aufrufen.
-
- Beiträge: 72
- Registriert: 24.12.2015, 13:13
- Hat sich bedankt: 2 Mal
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Leider scheint es nicht mir der nodejs Version 4.2.6 kompatibel zu sein -der Standardversion von Ubunutu Xenial:
Welche Version von nodejs soll ich denn nehmen?
In der gleiche VM läuft auch node-red. Wäre diese Version kompatibel mir norde-red?
Vielen Dank & freundliche Grüße
Werner
Code: Alles auswählen
nodejs/xenial-updates,now 4.2.6~dfsg-1ubuntu4.1 amd64 [installiert]
evented I/O for V8 javascript
Code: Alles auswählen
# hm2mqtt --help
/usr/local/lib/node_modules/hm2mqtt/index.js:23
let names = {};
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
at node.js:966:3
root@HomeAuto2:/opt/hm2mqtt_js#
In der gleiche VM läuft auch node-red. Wäre diese Version kompatibel mir norde-red?
Vielen Dank & freundliche Grüße
Werner
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Oh ja - gut dass Du mich dran erinnerst, muss die benötigte Node Version noch in die Readme und in die package.json schreiben. Ich nutze die aktuelle LTS (6.10) - damit läuft bei mir auch Node-RED. Sollte aber auch mit der current (7.9) laufen. Um Node zu installieren empfehle ich immer https://github.com/tj/n - damit ist es auch sehr komfortabel möglich mehrere Versionen parallel zu nutzen.
-
- Beiträge: 72
- Registriert: 24.12.2015, 13:13
- Hat sich bedankt: 2 Mal
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Auf anhieb
So, jetzt morgen werde ich mal anfangen zu testen
Code: Alles auswählen
# n use lts /usr/local/bin/hm2mqtt --help
hm2mqtt 0.0.7
Interface between Homematic and MQTT
Usage: /usr/local/bin/hm2mqtt [options]
Optionen:
--rega-poll-interval Interval in seconds to poll variables from
Rega. Set to 0 to disable polling [Standard: 0]
--rega-poll-trigger A virtual button that triggers a variable poll.
Example: BidCoS-RF:50.PRESS_SHORT[Standard: ""]
--version Version anzeigen [boolean]
-d, --disable-rega Don't sync names from ReGa [Standard: false]
-h, --help Hilfe anzeigen [boolean]
-i, --ping-interval Send a Ping if no event occured in the last
interval. Re-Init on next interval
[Standard: 30]
-j, --json-name-table A JSON file that maps device and channel
addresses to names
-m, --mqtt-url mqtt broker url. See
https://github.com/mqttjs/MQTT.js#connect-using
-a-url [Standard: "mqtt://127.0.0.1"]
-n, --name instance name. used as mqtt client id and as
prefix for connected topic [Standard: "hm"]
-p, --mqtt-password mqtt broker password
-u, --mqtt-username mqtt broker username
-v, --verbosity possible values: "error", "warn", "info",
"debug" [Standard: "info"]
-a, --ccu-address [erforderlich]
-r, --listen-address [Standard: "192.168.2.160"]
-l, --listen-port [Standard: 2126]
-b, --binrpc-listen-port [Standard: 2127]
-q, --hmip-reconnect-interval [Standard: 600]
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Vorstellung: hm2mqtt & mqtt-smarthome
Habe ein kleines Howto verfasst um den Einstieg in mqtt-smarthome mit hm2mqtt.js, Node-Red und Node-Red-Dashboard zu erleichtern:
https://github.com/mqtt-smarthome/mqtt- ... mematic.md
https://github.com/mqtt-smarthome/mqtt- ... mematic.md
Re: Vorstellung: hm2mqtt & mqtt-smarthome
hab mich heute mal an den wechsel von hm2mqtt nach hm2mqtt.js gewagt.
zuerst war mir überhaubt nicht klar wo ich das installieren muss, das alte hab ich ja in der CCU2 unter zusatzsoftware installiert und konfiguriert.
das neue hab ich jetz mal auf einem raspian im selben netzwerk wie die CCU2 installiert und kriege es wohl auch zum laufen, zuindest stehem in den logs solche sachen drinn:
ab da passiert aber nix mehr
wie man sehen kann führen meine publish welche unter der alten software funktioniet habe zu fehlern
auch wird von hm2mqtt.js nicht nach mqtt publiziert
was hab ich falsch begriffen/gemacht?
wozu öffnet hm2mqtt port 2127?
werde ich wenn es denn mal läuft "hm/status/Therm Schlafzimmer OG Temp/CONTROL_MODE" umstellen können (das habe ich unetr der alten software nicht hingekriegt)?
liebe Grüsse
Andi
zuerst war mir überhaubt nicht klar wo ich das installieren muss, das alte hab ich ja in der CCU2 unter zusatzsoftware installiert und konfiguriert.
das neue hab ich jetz mal auf einem raspian im selben netzwerk wie die CCU2 installiert und kriege es wohl auch zum laufen, zuindest stehem in den logs solche sachen drinn:
Code: Alles auswählen
0|hm2mqtt | 2017-05-08 17:12:02.609 <info> hm2mqtt 1.0.6 starting
0|hm2mqtt | 2017-05-08 17:12:02.952 <info> mqtt trying to connect mqtt://mqttserver.local:1883
0|hm2mqtt | 2017-05-08 17:12:03.583 <info> loading names_10.1.1.100
0|hm2mqtt | 2017-05-08 17:12:04.478 <info> rpc rfd > init [ 'xmlrpc_bin://10.1.1.101:2127', 'hm2mqtt_rfd' ]
0|hm2mqtt | 2017-05-08 17:12:05.662 <info> mqtt connected mqtt://mqttserver.local:1883
0|hm2mqtt | 2017-05-08 17:12:05.710 <info> mqtt subscribe hm/set/#
0|hm2mqtt | 2017-05-08 17:12:05.748 <info> mqtt subscribe hm/rpc/#
0|hm2mqtt | 2017-05-08 17:12:05.762 <info> mqtt subscribe hm/command/#
0|hm2mqtt | 2017-05-08 17:12:05.888 <error> mqtt < hm/set/Waschkueche/Thermostat/Thermostat/SET_TEMPERATURE 14
0|hm2mqtt | 2017-05-08 17:12:05.905 <error> mqtt < hm/set/Waschkueche/Heizung/Status/STATE 0
0|hm2mqtt | 2017-05-08 17:12:06.051 <info> saving names_10.1.1.100
0|hm2mqtt | 2017-05-08 17:12:12.340 <info> rfd got 90 devices and channels
0|hm2mqtt | 2017-05-08 17:12:12.365 <info> got 28 paramsetDescriptions
wie man sehen kann führen meine publish welche unter der alten software funktioniet habe zu fehlern
auch wird von hm2mqtt.js nicht nach mqtt publiziert
was hab ich falsch begriffen/gemacht?
wozu öffnet hm2mqtt port 2127?
werde ich wenn es denn mal läuft "hm/status/Therm Schlafzimmer OG Temp/CONTROL_MODE" umstellen können (das habe ich unetr der alten software nicht hingekriegt)?
liebe Grüsse
Andi
Re: Vorstellung: hm2mqtt & mqtt-smarthome
hm2mqtt.js läuft nun, nach restarten aller dienste hats dan geklapt.
für das problem
ist ein issue auf github offen, im moment ist es so das Sensornamen mit einem "/" nicht konfiguriert werden können.
nun hab ich in vergangenheit ein "get" auf einen sensornamen machen können um z.b. nach einem neustart von node-red den status eines sensors sofort zu erhalten
z.B.: hm/get/Waschkueche/Heizung/Status/STATE
get scheint es in hm2mqtt.js nicht mehr zu geben, gibt es einen erstz für "get"?
für das problem
Code: Alles auswählen
<error> mqtt < hm/set/Waschkueche/Thermostat/Thermostat/SET_TEMPERATURE 14
nun hab ich in vergangenheit ein "get" auf einen sensornamen machen können um z.b. nach einem neustart von node-red den status eines sensors sofort zu erhalten
z.B.: hm/get/Waschkueche/Heizung/Status/STATE
get scheint es in hm2mqtt.js nicht mehr zu geben, gibt es einen erstz für "get"?
-
- Beiträge: 72
- Registriert: 24.12.2015, 13:13
- Hat sich bedankt: 2 Mal
Re: Vorstellung: hm2mqtt & mqtt-smarthome
?? war das nicht "status"?
Also ich teste das immer wie folgt:
Ich lasse mir alle (Wildcard: '#') hm Geräte vom MQTT Broker geben:
und "grep"e dann auf die Gwünschten:
Also ich teste das immer wie folgt:
Ich lasse mir alle (Wildcard: '#') hm Geräte vom MQTT Broker geben:
Code: Alles auswählen
mosquitto_sub -h localhost -v -t "hm/#"
Code: Alles auswählen
mosquitto_sub -h localhost -v -t "hm/#" | grep Ambi
hm/status/G_AKT_SENS_WohnzimmerAmbientLichtschalter/STATE {"val":1,"ts":"1494355255885","lc":"1494355194301","hm_addr":"NEQ0274265:1"}
hm/status/G_AKT_SENS_WohnzimmerAmbientLichtschalter/WORKING {"val":1,"ts":"1494355255886","lc":"1494355254062","hm_addr":"NEQ0274265:1"}
hm/set/G_AKT_SENS_WohnzimmerAmbientLichtschalter/STATE 1