openhab-addons/bundles/org.openhab.binding.mqtt.homie
James Melville 0fcebcde3f
[mqtt.generic] Add UOM to inbound values for MQTT Channels (#10727)
* Add UOM for MQTT Channels

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix dependencies

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify units parsing, remove channelUID from NumberValue constructor

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Simplify pattern

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix tests

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct Units reference

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Correct homeassistant binding changes

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Wrap precision in temperature unit definition

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal for precision

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Use BigDecimal throughout

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Fix SAT

Signed-off-by: James Melville <jamesmelville@gmail.com>

* Inverty equals check

Signed-off-by: James Melville <jamesmelville@gmail.com>
2022-01-09 10:05:53 +01:00
..
src [mqtt.generic] Add UOM to inbound values for MQTT Channels (#10727) 2022-01-09 10:05:53 +01:00
NOTICE Fix links and NOTICE files (#9860) 2021-01-18 21:49:06 +01:00
pom.xml pom update from http to https reference (#11833) 2021-12-23 19:40:44 +01:00
README.md added migrated 2.x add-ons 2020-09-21 03:37:19 +02:00

MQTT Homie Binding

NOTE: This binding is provided by the MQTT binding, and therefore no explicit installation is necessary beyond installing the MQTT binding.

Devices that follow the Homie convention 3.x and better are auto-discovered and represented by this binding and the Homie Thing.

Find the next table to understand the topology mapping from Homie to the Framework:

Homie Framework Example MQTT topic
Device Thing homie/super-car
Node Channel Group homie/super-car/engine
Property Channel homie/super-car/engine/temperature

System trigger channels are supported using non-retained properties, with enum data type and with the following formats:

  • Format: "PRESSED,RELEASED" -> system.rawbutton
  • Format: "SHORT_PRESSED,DOUBLE_PRESSED,LONG_PRESSED" -> system.button
  • Format: "DIR1_PRESSED,DIR1_RELEASED,DIR2_PRESSED,DIR2_RELEASED" -> system.rawrocker