❗ Not yet ready for use!
The prototype can send events and subscribe to commands from a mqtt broker. So I can control all my devices with openHAB. Keep in mind, that a lot comfort feature missing at the moment.
The project enables you to control your Homematic devices with any mqtt compatible system, e.g. openHAB or several apps.
hm2mqtt is a native arm application created from Go. Because Go is statically linked all dependencies are included.
With this you can perfectly integrate your Homematic setup with other systems which tend to use mqtt.
- Route all internal RPC events to a mqtt broker
- Subscribe to commands from a mqtt broker
- Host a website on tte CCU3 for configuration, setup and logging
- Installer for the CCU3 Web Interface for easy setup
- Optional automatic update
This is only for testing purpose, to persist hm2mqtt use the installer.
- Set up a mqtt Broker e.g. eclipse-mosquitto
- Set up openHAB docker
- Copy arm executable to
/tmp/
- Set up configuration
- Run executable in background
Usage of hm2mqtt:
-config string
Overrides the path to the config file
{
"ListenerPort": 8777,
"InterfaceId": 1,
"HomematicUrl": "http://localhost:2001/",
"BrokerUrl": "tcp://192.168.1.100:1883"
}
On Windows go to the Store and download MQTT-Explorer or MQTT Box.
Add to
rc script
soon
/usr/local/etc/config/rc.d/mqtt
or
nohup /tmp/GoHomeMaticMqtt_linux_arm -config config.json > /tmp/mqtt.log &
2020/01/13 22:22:12 OK: topic: hm/KEQ0000000:4/FAULT_REPORTING with value: 0 1.050519ms
2020/01/13 22:22:12 OK: topic: hm/KEQ0000000:4/BATTERY_STATE with value: 2.900000 766.405µs
2020/01/13 22:22:12 OK: topic: hm/KEQ0000000:4/VALVE_STATE with value: 0 835.728µs
2020/01/13 22:22:12 OK: topic: hm/KEQ0000000:4/BOOST_STATE with value: 0 862.655µs
2020/01/13 22:22:12 OK: topic: hm/KEQ0000000:4/ACTUAL_TEMPERATURE with value: 23.700000 843.123µs
- Config
/usr/local/etc/config/mqtt.json - Friendly names mapping for devices
/usr/local/etc/config/devies.yaml - Executable
/usr/local/etc/config/addons/www/mqtt/hm2mqtt
https://github.com/jens-maus/XML-API/blob/master/update_script