The Hubitat Elevation C8 is a new(er) hub for automation.
I want to integrate new Z-wave devices into my existing Insteon system using this hub. However, I am thrashing between the Hubitat Hub and Indigo server trying to get MQTT to bridge the systems. I am stuck, the systems are just not connecting. Here is what I have now...
Hubitat Hub with one Lightswitch working. I can turn on/off from the iPhone app.
I added code recommended from git to create an App and Driver in developer tools. Then created the App proper in the Apps section.
Here are the following errors:
MQTT: Waiting for MQTT connection: false
MQTT: initialising with App count 0
MQTT: FATAL: No MQTT broker configured
MQTT: Hubitat hub name is : hubitat-mqtt
MQTT: MQTT client failed to create
MQTT: Creating MQTT client child driver
MQTT: FYI your MQTT child devices are []
So, I think I need to get the HE squared away by resolving these issues before tinkering with Indigo.
Bottom line--->> What can I do next to help resolve this?
Note that the IP address 192.168.68.61:1883 points to the Indigo server and not the Hubitat.
Meanwhile, back on the Hubitat, the MQTT broker has the following settings:
Hub Name
hubitat-hub
MQTT Broker Address** prefixed tcp://...*
tcp://192.168.68.61:1883
Publish these HE devices to MQTT, ( this is the one lightswitch so far) Bunker Lights
Here are some questions..
So, am I "Publishing" this lightswitch "Bunker Lights" to the MQTT plugin, which resides on the Indigo server with IP tcp://192.168.68.61:1883 and not the Hubitat?
Or, is the MQTT Broker app "getting" or pulling the data from the Hubitat with the user code for MQTT app and driver?
What is my next step(s) in getting the Hubitat to communicate with Indigo?
You'll have to learn about mqtt topics. Since Hubitat controls the light switch your driver has to listen for the broker to notify it that a message was published to a 'topic'
And the message has to be correctly formatted.
On the Indigo side you also need something that publishes to the broker for the topic that hubitat is listening for. Presumably it is whatever they do to push a button or detect motion or ... Once you know what they are publishing - message and topic then you can get your hubitat driver to listen to that topic.
There is a "Hubitat Bridge" plugin for Indigo.
Check out the Indigo Plugin Store and the Indigo Forum.
3rd Party Plugins -> Autolog's Plugins - Hubitat.
I have installed a Mosquitto Broker on the Indigo Machine and configured it.
I am able to "publish" a device state to the broker to a topic "home/office". ( ie. when the light turns on the broker is updated.)
I can look at the broker using "MQTT Explorer" from a separate laptop, see below:
{"name": "Lights in Office", "address": "70.0A.7E", "deviceId": "1806809252", "deviceTypeId": "", "model": "SwitchLinc Relay", "subModel": "Switch", "protocol": "Insteon", "states": { "onOffState": "False" }, "capabilities": [ "supportsAllOff", "supportsOnState", "supportsStatusRequest" ] }
So back on the Habitat Hub I need to listen for this published message using a template. << I am working on this now >>
Here is a question:
How does the Habitat Hub then keep the remote Mosquito broker updated?
My new switch called "Bunker Lights" should pass some similar formatted message to the broker. Then Indigo is watching for it and can take action.
Should / do I setup a basic rule to fire off and send the data to the broker?
3, Is this where MQTT App and MQTT Driver come into play?
You have PM’d me re access to my MQTT beta (3e) that supports Indigo. This is what Autolog’s Indigo plugin attaches via. I’ll send you a link shortly, just need to change some file names around. Ver beta 3d will not work and fails for some users (hangs on install).
You are making good progress but you did dive into the deep end of the pool with mqtt. Which MQTT App and driver are you using on Hubitat ? - usually their is a message topic on the forum for that app and the developer can help you. I can give general advice.
The payload (aka msg) appears to be json formatted. I hand craft all of my hubitat mqtt drivers rather than dealing with a general purpose be all do all App you are (probably) using. It's just easier for me to debug simple things when something goes wrong. For an example, here is one of mine that reads a json payload (from a UPS)
Hubitat Hub doesn't keep the broker updated - that is the job of the Hubitat mqtt driver. Note that it may not be needed. Many things do not need a reply. If the broker dies the driver will be informed and can attempt to reconnect.
Typically, you do not send a message from a Light Switch. You send a command TO a light switch. Indigo see's a motion sensor trigger or a contact switch close or something like that and tells hubitat via Mqtt to turn on the light switch. Some light switches may not tell hubitat that the button was pushed. Generally speaking. Some do , most don't. Think of it likes It's more of a light fixture or a light bulb.
Normally, The mqtt driver is listening for a message from the broker on the 'home/office' topic and sends message to the light switch driver to turn on.