Architecture

Arkitektur.drawio

MQTT

Home Assistant does not have a builtin MQTT Broker, so I have a docker for it: Adding Mosquitto (MQTT) to my Home Automation

Java Application as Bridge

Github Source: https://github.com/jobu279/zensehome

Compile the source code or fetch the runtime. Edit config.properties to suit your network and mqtt.

Samples below are referenced from /home/bnp/production/zensehome/zensemqtt

You need to create a "/home/bnp/production/zensehome/zensemqtt/logs" directory; - then execute the application

root@robin:~/production/zensehome/zensemqtt# java -Dfile.encoding=UTF-8 -classpath /home/bnp/production/zensehome:/home/bnp/production/zensehome/zensemqtt/mqtt-client-0.4.0.jar zensemqtt.ZenseMQTTJan 09, 2019 8:14:01 PM zensemqtt.Log loggingINFO: Starting ZenseHome MQTT listener

Setup a light source

My configuration.yaml has these parts:

mqtt:  broker: 10.0.0.150light: !include light.yaml

My lights.yaml looks like this:

- platform: mqtt    name: "Kitchen Light"    state_topic: "zense/execute/18324"    command_topic: "zense/execute/18324"    payload_on: "ON"    payload_off: "OFF"  - platform: mqtt    name: "Office Light"    state_topic: "zense/execute/10604"    command_topic: "zense/execute/10604"    payload_on: "ON"    payload_off: "OFF"  - platform: mqtt    name: "Bedroom Light"    state_topic: "zense/execute/58739"    command_topic: "zense/execute/58739"    payload_on: "ON"    payload_off: "OFF"........

With the Topics according to https://github.com/jobu279/zensehome. The Id can be found in the Zensehome Windows Application:


After restarting Home Assistent, the lights will be entries:


Installing as a service

Follow: https://computingforgeeks.com/how-to-run-java-jar-application-with-systemd-on-linux/

Logging

Watch the Log in /home/bnp/production/zensehome/zensemqtt/logs

root@robin:~/production/zensehome/zensemqtt/logs# cat 2019-1_ZenseLog.logJan 09, 2019 7:44:53 PM zensemqtt.Log loggingINFO: Starting ZenseHome MQTT listenerJan 09, 2019 7:46:35 PM zensemqtt.Log loggingINFO: New message with topic: zense/execute/10604, Message: ONJan 09, 2019 7:46:37 PM zensemqtt.Log loggingINFO: New message with topic: zense/execute/10604, Message: OFFJan 09, 2019 7:46:43 PM zensemqtt.Log loggingINFO: New message with topic: zense/execute/10604, Message: ONJan 09, 2019 7:46:44 PM zensemqtt.Log loggingSEVERE: Error in socket creation: java.net.SocketExceptionJan 09, 2019 7:46:54 PM zensemqtt.Log loggingINFO: New message with topic: zense/execute/10604, Message: OFFJan 09, 2019 7:46:55 PM zensemqtt.Log loggingSEVERE: Error in socket creation: java.net.SocketExceptionJan 09, 2019 7:47:00 PM zensemqtt.Log loggingINFO: New message with topic: zense/execute/10604, Message: ON

Notice the "SEVERE: Error in socket creation: java.net.SocketException" - this means the ZenseHome box is non-responding

Use the MQTT Explorer for examining the topics