OmniLinkBridge to integrate Home Assistant, SmartThings, Node-RED

Two things concerning MQTT. First, Frenck's fix is in place with the new MQTT broker in Home Assistant, and it works great.
 
Second: after installing the new broker in Home Assistant, I started getting messages that my passwords should be changed. So I did that:
  • in OmniLinkBridge.ini
  • in the Home Assistant MQTT broker configuration
  • in the mqtt_password in my configuration.yaml file
I've completely shut down and rebooted all affected equipment. And I can see, using MQTT Explorer, Omnilink messages being generated. But Omnilink entities in Home Assistant aren't updating. They're showing 'unavailable.'
 
What did I miss?
 
EDIT to include a sample log shown in MQTT broker (below). Logs from OLB are attached as a .txt file.
 

1621522245: Socket error on client , disconnecting.
1621522247: New connection from 162.197.86.227 on port 1883.1621522249: New connection from 192.168.1.65 on port 1883.1621522249: Socket error on client , disconnecting.
1621522250: New connection from 192.168.1.67 on port 1883.1621522250: Socket error on client , disconnecting.
1621522251: New connection from 162.197.86.227 on port 1883.1621522254: New connection from 192.168.1.35 on port 1883.1621522254: Socket error on client , disconnecting.
1621522254: New connection from 192.168.1.65 on port 1883.1621522254: Socket error on client , disconnecting.
1621522255: New connection from 192.168.1.67 on port 1883.1621522255: Socket error on client , disconnecting.
1621522259: New connection from 192.168.1.65 on port 1883.1621522259: Socket error on client , disconnecting.
1621522259: New connection from 162.197.86.227 on port 1883.1621522260: New connection from 192.168.1.67 on port 1883.1621522260: Socket error on client , disconnecting.
1621522264: New connection from 192.168.1.65 on port 1883.1621522264: Socket error on client , disconnecting.
1621522265: New connection from 192.168.1.67 on port 1883.1621522265: Socket error on client , disconnecting.
1621522269: New connection from 192.168.1.35 on port 1883.1621522269: Socket error on client , disconnecting.
1621522269: New connection from 192.168.1.65 on port 1883.1621522269: Socket error on client , disconnecting.
1621522270: New connection from 192.168.1.67 on port 1883.1621522271: Socket error on client , disconnecting.
1621522274: New connection from 192.168.1.65 on port 1883.1621522274: Socket error on client , disconnecting.
1621522275: New connection from 162.197.86.227 on port 1883.1621522276: New connection from 192.168.1.67 on port 1883.1621522276: Socket error on client , disconnecting.
1621522279: New connection from 192.168.1.65 on port 1883.1621522279: Socket error on client , disconnecting.
 
EDIT to say that I put those three passwords back as they were previously and everything's back to normal. I must either be missing a password somewhere, or else an old password is being retained.
 
 

Attachments

  • _omnilink-bridge_logs.txt
    9 KB · Views: 1
Maybe try making a copy of the HA DB and start it from scratch?  
 
Another sticky issue I have seen (for a while now) sometimes things do not work right until I clear the cache on the Chrome browser and switch over to using Firefox.
 
Thanks for the reply, Pete. I'm certain it's not a browser issue. If it were, automations (etc.) would function correctly despite what the browser says. But that wasn't the case. MQTT messages weren't making it from OLB to the broker.
 
I suspected that HA might have something cached somewhere and so tried deleting the Mosquitto broker entirely, shutting down all hardware, rebooting, and then reinstalling the broker. Same problem. But as soon as I put the old password back, everything went back to normal.
 
Odd for sure.
 
 
Are you using the HASSIO OmniLinkBridge plugin?  
 
Maybe do a docker stop on the current configuration and enable the HASSIO plugin?  
 
Here switched to a new computer running HASSIO or HA on Ubuntu Linux and enabled the OmniLinkBridge HA plugin. 
 
It works well now.   The configuration file that was an INI file is now a YAML file.  You configure it in the HA gui now.
 
[sharedmedia=gallery:images:1458]
 

[sharedmedia=gallery:images:1459]
 

 
 
I am totally new to HA. I installed the Omnilink Bridge and the MQTT Broker. I configured the bridge and it appears to have connected to the HAI and sees my devices. How do I now make use of this integration in HA? I am currently using Haiku and it would certainly be nice to repace it with something that is supported.
 
ihf said:
I am totally new to HA. I installed the Omnilink Bridge and the MQTT Broker. I configured the bridge and it appears to have connected to the HAI and sees my devices. How do I now make use of this integration in HA? I am currently using Haiku and it would certainly be nice to repace it with something that is supported.
Hi, IHF. Did you see the information in the link I referred you to?

Long story short: OLB sends MQTT messages from OmniLink to Home Assistant. In order for Home Assistant to understand those messages and send messages back to OLB, it needs an MQTT broker. Although you don't have to use the Mosquitto MQTT broker, that's what that add-on is for. It works well and is the one I'd recommend. So your next step is to get an MQTT broker set up on Home Assistant.

(Editing to fix typos and add more info)

Once your broker is set up, restart Home Assistant and you should see a whole host of new entities coming from OmniLink. You can interact with them in the same way as you would any other entity that Home Assistant has discovered.
 
I have a MQTT Broker and OLB installed and I can see devices and status changes in the OLB log. However I do not see Omnipro devices in HA. I would like to be able to see devices, their status and the ability to modify device parms (e.g. Thermostat settings) from the Dashboard as well as having events that use these devices. FWIW, my OLB config looks like:
```
controller_address: [IP]
controller_port: [port]
controller_key1: [key1]
controller_key2: [key2]
controller_name: OmniLinkBridge
time_sync: false
time_interval: 60
time_drift: 10
verbose_unhandled: true
verbose_event: true
verbose_area: true
verbose_zone: true
verbose_thermostat_timer: true
verbose_thermostat: true
verbose_unit: true
verbose_message: true
webapi_enabled: false
webapi_port: 8000
mqtt_enabled: false
mqtt_server: ''
mqtt_port: 1883
mqtt_username: ''
mqtt_password: ''
mqtt_prefix: omnilink
mqtt_discovery_prefix: homeassistant
mqtt_discovery_name_prefix: ''
mqtt_discovery_ignore_zones: ''
mqtt_discovery_ignore_units: ''
mqtt_discovery_override_zone: ''
notify_area: false
notify_message: false
mail_server: ''
mail_tls: false
mail_port: 25
mail_username: ''
mail_password: ''
mail_from: ''
mail_to: ''
prowl_key: ''
pushover_token: ''
pushover_user: ''

```
 
ihf said:
I have a MQTT Broker and OLB installed and I can see devices and status changes in the OLB log. However I do not see Omnipro devices in HA. I would like to be able to see devices, their status and the ability to modify device parms (e.g. Thermostat settings) from the Dashboard as well as having events that use these devices. FWIW, my OLB config looks like:
```
mqtt_enabled: false
mqtt_server: ''
mqtt_port: 1883
mqtt_username: ''
mqtt_password: ''

```
 
You need to configure the MQTT settings in OLB and setup MQTT in Home Assistant. OLB publishes the device discovery info and state to MQTT. Home Assistant will then see these devices through it's MQTT device discovery.
 
The MQTT server IP address is missing, so it doesn't know WHERE to send the data (you must enter the IP of the server running Mosquitto).
I believe the values in square brackets [] are in your file but you have left them out for security reasons. If not, that's another problem.
 
I'd check that everything is OK with MQTT Explorer, once the info is seen in MQTT Explorer it should show in HA too.
 
ihf said:
I have a MQTT Broker and OLB installed and I can see devices and status changes in the OLB log. However I do not see Omnipro devices in HA. I would like to be able to see devices, their status and the ability to modify device parms (e.g. Thermostat settings) from the Dashboard as well as having events that use these devices. FWIW, my OLB config looks like:
```
controller_address: [IP]
controller_port: [port]
controller_key1: [key1]
controller_key2: [key2]
controller_name: OmniLinkBridge
time_sync: false
time_interval: 60
time_drift: 10
verbose_unhandled: true
verbose_event: true
verbose_area: true
verbose_zone: true
verbose_thermostat_timer: true
verbose_thermostat: true
verbose_unit: true
verbose_message: true
webapi_enabled: false
webapi_port: 8000
mqtt_enabled: false
mqtt_server: ''
mqtt_port: 1883
mqtt_username: ''
mqtt_password: ''
mqtt_prefix: omnilink
mqtt_discovery_prefix: homeassistant
mqtt_discovery_name_prefix: ''
mqtt_discovery_ignore_zones: ''
mqtt_discovery_ignore_units: ''
mqtt_discovery_override_zone: ''
notify_area: false
notify_message: false
mail_server: ''
mail_tls: false
mail_port: 25
mail_username: ''
mail_password: ''
mail_from: ''
mail_to: ''
prowl_key: ''
pushover_token: ''
pushover_user: ''

```
Here's a redacted version of my OmniLinkBridge.ini file that may help: https://www.dropbox.com/s/seegh9dgpq9nw2s/sample_olb.ini?dl=0
 
Thanks. I made a couple of changes to my config for OLB based on that example. I added the HA ip address. The only signficant difference I see is that I have no MQTT username or password as I never set one up (don't know where to do that). But I assumed that since none was set it was not necessary. Here is my modified config (the ip addr and such are left out.
```
controller_address: ip
controller_port: port
controller_key1: ‘key1’
controller_key2: ‘key2’
controller_name: OmniLinkBridge
time_sync: 'yes'
time_interval: 60
time_drift: 10
verbose_unhandled: 'no'
verbose_event: 'no'
verbose_area: 'no'
verbose_zone: 'no'
verbose_thermostat_timer: 'no'
verbose_thermostat: 'no'
verbose_unit: 'no'
verbose_message: 'no'
webapi_enabled: 'yes'
webapi_port: 8000
mqtt_enabled: 'yes'
mqtt_server: ip
mqtt_port: 1883
mqtt_username: ''
mqtt_password: ''
mqtt_prefix: omnilink
mqtt_discovery_prefix: homeassistant
mqtt_discovery_name_prefix: ''
mqtt_discovery_ignore_zones: ''
mqtt_discovery_ignore_units: ''
mqtt_discovery_override_zone: ''
notify_area: 'yes'
notify_message: 'yes'
mail_server: ''
mail_tls: false
mail_port: 25
mail_username: ''
mail_password: ''
mail_from: ''
mail_to: ''
prowl_key: ''
pushover_token: ''
pushover_user: ''


```
 
The MQTT Broker log looks like this:
 
```
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] mosquitto.sh: executing...
[13:37:47] INFO: SSL is not enabled
[cont-init.d] mosquitto.sh: exited 0.
[cont-init.d] nginx.sh: executing...
[cont-init.d] nginx.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:37:47] INFO: Starting NGINX for authentication handling...
[13:37:47] INFO: Starting mosquitto MQTT broker...
1626802667: mosquitto version 1.6.12 starting
1626802667: |-- *** auth-plug: startup
[13:37:48] INFO: Successfully send discovery information to Home Assistant.
[13:37:48] INFO: Successfully send service information to the Supervisor.

 
```
 
You definitely need to set up a username and password for the Mosquitto broker.
 
Click Supervisor in Home Assistant's left menu.
To the right, click Mosquitto broker.
In the top menu of choices, click Configuration.
I believe a template is provided. Alter what's there to create a username and password for OmniLinkBridge.
Then edit your OmniLinkBridge.ini file with that information.
 
I'd then suggest restarting everything at that point for good measure.
 
You're getting close! Hang in there.
 
Back
Top