OmniLinkBridge to integrate Home Assistant, SmartThings, Node-RED

Thanks Pete. I am currently running HS3 with the Omni plug in one an RPi and using this primarily for Alexa integration. I then run HomeBridge to enable HomeKit and Siri integration on a second RPi.
Given that Home Assistant will provide both of these integrations as well as some other features I'd like to implement, I was hoping to consolidate these two devices into one. So far it's all working well, but the issue I mentioned above with outputs being reported as lights is really holding me back.
 
Do you have any suggestion on how the outputs should be defined in the configuration file?
 
To answer my own question, I think it would look something like this
 
Code:
switch:
  - platform: mqtt
    name: "Rear Lawn"
    state_topic: "omnilink/unit278/state"
    command_topic: "omnilink/unit278/command"
    availability_topic: "omnilink/status"
    payload_on: "ON"
    payload_off: "OFF"
    state_on: "ON"
    state_off: "OFF"
    optimistic: false
    qos: 0
    retain: true
 
Googling the HA forum not sure anymore as I see numerous ways that folks have defined a toggle or button and nothing really specific to the switch template.

Personally have not tried it and still in a learning mode.
 
I am using status in Homeseer for the MQTT garage door button toggle status which is similar to your switch template above.
 
Give it a try and see what happens.
 
You would define the MQTT switch as a HA button or toggle via a script maybe.
 
 
I did something similiar with Smartthings (many hoops though) but I have not done this with HA / OmniLink. 
 
I did do it with a test GDO / Temperature combo button, door sensor temperature SonOff WiFi basic switch connecting to Homeseer and HA.
 
I have not done it yet with the OmniPro relay - GDO button.
 
Thanks Pete, the template above does seem to work, I just need to look at somehow ignoring the auto-discovered light as it of course now appears as both a light and a switch
 
One other thing, does anyone know how the thermostat card unit can be changed? My configuration.yaml is set for metric, the thermostat is reporting a metric celsius temperature, but the thermostat card is showing in Fahrenheit
 
Good news on the button stuff there.
 
My supposition for the HA climate control MQTT stuff leaving the Omni Panel is that it should be the same (C°) as configured in the panel.
 
I do not play with my Omnistat thermostat and see it in Homeseer 3 (and touch) and Omnitouch screens and HA.
 
Googling HA thermostat card everything indicates whatever is used as a base whether it is Centigrade or Fahrenheit you should see it in your Lovelace cards.
 
So you wrote that your configuration.yaml file is set for centigrade
 
Try deleting the database and restarting it from scratch.  Noticed many times variable configurations stick after changes.
 
Maybe too delete the card and let HA recreate it after you have deleted the DB?
 
tt1.jpgtt2.jpgtt3.jpg
 
Still learning as mentioned above have added my 1-wire mqtt sensors / cards to HA stuff.
 
 
 
Does OmniLinkBridge allow me to take a HomeKit device and make it available as a unit for the Omni?  I know I can go the other way and use HomeKit to control existing Omni units that are already configured.
 
Thanks again Pete. I've checked the OPII panel config and it's definitely set to Celsius. HS3 also sees the correct setting.
 
The odd thing is the actual scale used in the Lovelace card says C however the value is certainly F. The actual thermostat temperature reading is showing correctly too.
Screen Shot 2019-05-12 at 1.01.57 pm.png
Screen Shot 2019-05-12 at 1.01.50 pm.png
 
I have deleted the card but am unsure how to force it to be recreated?
 
I have deleted the card but am unsure how to force it to be recreated?
 
Delete the DB file too.  You will be starting from scratch.  The thermostat card should be recreated in the Lovelace GUI.
 
Wierd cuz the top thermostat values should match the Lovelace card thermostat values and descriptions.  You can also create a thermostat card in the lovelace yaml file and it gets its values from the climate py file that Ryan wrote (well using MQTT values).
 
I think too you can create a custom thermostat card...read this:
 
hxxps://developers.home-assistant.io/docs/en/lovelace_custom_card.html
 
It would be two file references.
 
1 - ui-lovelace.yaml
2 - /config/www/thermostat.js
 
I have been doing this relating to a custom alarm card.
 
Not really good at this and have been mostly doing a copy and paste and it is hit or miss.
 
If it recreates it the same then it is a bug with Home Assistant and there I would maybe post on the HA forum.
 
I am positive that there are other users only using Centigrade for their thermostats.

I found where the thermostat card configuration is located.

Look at the file:

/config/.storage/lovelace

and you will see:

{
"entity": "climate.thermostat_1",
"type": "thermostat"
},

There are no references in the lovelace file relating to centigrade or fahrenheit.

Only references to centigrade or fahrenheit here are in my configuration.yaml sensors ...no place else.

BTW also try this under your longitude and latitude in your configuration yaml file.

temperature_unit: C
 
Thanks Pete. I wonder, on Ryan's GitHub site, I see in the climate.py code there is reference to Farenheit. Do you know where that file resides?
In the meantime, i'll try recreating the card as you suggest
 
Yeah it sits under /config/custom_componets/climate/mqtt.py
 
I looked and do not see anything that stands out there.
 
I also tried to change it and it did not do anything to the thermostat card. 
 
I would post on the HA forums as I see other folks with similiar issues relating to F or C on the card.
 
Here my cards have turned in to a splat of sorts as I keep rearranging them and been building new cards mostly relating to using MQTT.
 
The only connections are via MQTT to HA.  That said I was only using the Omni MQTT stuff and now using a bunch of WiFi devices here (modded with Tasmota or ESpurna firmware).

What is working nice here is using a tiny Octocore TVBox which will be mounted inside of the OmniPro 2 can.

It is running Homeseer, Omni Plugin, HSTouch, Home Assistant, OmniLink, Mosquitto Server...in a box way smaller than an RPi and much faster than an RPi... Also using these now for K boxes; no footprint.
 
Thanks Pete. It definitely seems like it's a setting in OmniLinkBridge as the MQTT messages are being sent with the temperature values in F 
 
This is what is being sent from OmniLinkBridge
 

{
"current_temperature_topic": "omnilink/thermostat1/current_temperature",
"temperature_low_state_topic": "omnilink/thermostat1/temperature_heat_state",
"temperature_low_command_topic": "omnilink/thermostat1/temperature_heat_command",
"temperature_high_state_topic": "omnilink/thermostat1/temperature_cool_state",
"temperature_high_command_topic": "omnilink/thermostat1/temperature_cool_command",
"min_temp": "45",
"max_temp": "95",
"mode_state_topic": "omnilink/thermostat1/mode_state",
"mode_command_topic": "omnilink/thermostat1/mode_command",
"modes": [
"auto",
"off",
"cool",
"heat"
],
"fan_mode_state_topic": "omnilink/thermostat1/fan_mode_state",
"fan_mode_command_topic": "omnilink/thermostat1/fan_mode_command",
"fan_modes": [
"auto",
"on",
"cycle"
],
"hold_state_topic": "omnilink/thermostat1/hold_state",
"hold_command_topic": "omnilink/thermostat1/hold_command",
"name": "Thermostat",
"state_topic": null,
"availability_topic": "omnilink/status"
}

 
and on Ryan's GitHub page, under Thermostat is the following:

SUB omnilink/thermostatX/current_operation
string idle, cool, heat

SUB omnilink/thermostatX/current_temperature
int Current temperature in degrees fahrenheit

SUB omnilink/thermostatX/current_humidity
int Current relative humidity

SUB omnilink/thermostatX/temperature_heat_state
SUB omnilink/thermostatX/temperature_cool_state
PUB omnilink/thermostatX/temperature_heat_command
PUB omnilink/thermostatX/temperature_cool_command
int Setpoint in degrees fahrenheit

SUB omnilink/thermostatX/humidify_state
SUB omnilink/thermostatX/dehumidify_state
PUB omnilink/thermostatX/humidify_command
PUB omnilink/thermostatX/dehumidify_command
int Setpoint in relative humidity

SUB omnilink/thermostatX/mode_state
PUB omnilink/thermostatX/mode_command
string auto, off, cool, heat

SUB omnilink/thermostatX/fan_mode_state
PUB omnilink/thermostatX/fan_mode_command
string auto, on, cycle

SUB omnilink/thermostatX/hold_state
PUB omnilink/thermostatX/hold_command
string off, hold

 
Note the variables being saved as integers in Fahrenheit? I'm wondering if this can be changed
 
Yes looking at Homeseer I do not see anything coming from the OmniLink MQTT that mentions fahrenheit
 
I do see things coming from Home Assistant that mentions fahrenheit like that is where the setting is.
 
What are your high low settings (centigrade) on your thermostat?
 
thermostat.jpg
 
 
 
So that tells us that what the Omni panel Homeseer Omni Plugin is sending is correct in your picture.
 
In the MQTT transition it leaves the panel with the correct values via the OmniLinkBridge
 
In my picture...
 
The top values relating to the OmniLinkBridge MQTT is correct.  It does not send an F or C setting; just the temps.
 
The bottom values is what Home Assistant sees and sends out.  Note here the temperature value is configured °F.
 
So something is up with the thermostat card and temperature values and settings.
 
 
 
Back
Top