@ccutrer Thank you for working on the PRs to make the HA Discovery work with openHAB!
Community,
What is the expected behavior for using Home Assistant Discovery with the MQTT Binding and openHAB? Should I expect just a defined “Thing” or a “Thing” and “Channels”, or something else entirely?
Using the Home Assistant Discovery I see this.
For example, I currently see this in the GUI.
[Thing] Tab:
[Channel] Tab:
[Code] Tab:
UID: mqtt:homeassistant_zwavejs2mqtt_5F0xd4082e7e_5Fnode15:8fd56e1f3c:zwavejs2mqtt_5F0xd4082e7e_5Fnode15
label: nodeID_15 (3x Light, 10x Sensor, Switch, 36x number)
thingTypeUID: mqtt:homeassistant_zwavejs2mqtt_5F0xd4082e7e_5Fnode15
configuration:
topics:
- light/nodeID_15/dimmer
- light/nodeID_15/dimmer_1
- light/nodeID_15/dimmer_2
- number/nodeID_15/config_number_1
- number/nodeID_15/config_number_10
- number/nodeID_15/config_number_11
- number/nodeID_15/config_number_12
- number/nodeID_15/config_number_13
- number/nodeID_15/config_number_14
- number/nodeID_15/config_number_15
- number/nodeID_15/config_number_16
- number/nodeID_15/config_number_17
- number/nodeID_15/config_number_18
- number/nodeID_15/config_number_19
- number/nodeID_15/config_number_2
- number/nodeID_15/config_number_20
- number/nodeID_15/config_number_21
- number/nodeID_15/config_number_22
- number/nodeID_15/config_number_23
- number/nodeID_15/config_number_24_16711680
- number/nodeID_15/config_number_24_2130706432
- number/nodeID_15/config_number_24_255
- number/nodeID_15/config_number_24_65280
- number/nodeID_15/config_number_25_16711680
- number/nodeID_15/config_number_25_2130706432
- number/nodeID_15/config_number_25_255
- number/nodeID_15/config_number_25_65280
- number/nodeID_15/config_number_26
- number/nodeID_15/config_number_27
- number/nodeID_15/config_number_28
- number/nodeID_15/config_number_29
- number/nodeID_15/config_number_3
- number/nodeID_15/config_number_30
- number/nodeID_15/config_number_31
- number/nodeID_15/config_number_4
- number/nodeID_15/config_number_5
- number/nodeID_15/config_number_6
- number/nodeID_15/config_number_7
- number/nodeID_15/config_number_8
- sensor/nodeID_15/electric_kwh_value
- sensor/nodeID_15/electric_w_value
- sensor/nodeID_15/scene_state_scene_001
- sensor/nodeID_15/scene_state_scene_002
- sensor/nodeID_15/scene_state_scene_003
- sensor/nodeID_15/scene_state_scene_004
- sensor/nodeID_15/scene_state_scene_005
- sensor/nodeID_15/scene_state_scene_006
- sensor/nodeID_15/scene_state_scene_009
- sensor/nodeID_15/scene_state_slowrefresh
- switch/nodeID_15/config_switch_51
basetopic: homeassistant
bridgeUID: mqtt:broker:8fd56e1f3c
When I manually configure my thing, my thing (incomplete) definition looks like this:
mything.thing
Thing mqtt:topic:zwave01-nodeID_15 "F1_GuestRoom_Wall_Switch" (mqtt:broker:8fd56e1f3c)
{
Channels:
Type dimmer : light_dimmer
[
transformationPattern="JSONPATH:$.value",
stateTopic="zwave01/nodeID_15/switch_multilevel/endpoint_1/currentValue",
commandTopic="zwave01/nodeID_15/switch_multilevel/endpoint_1/targetValue/set",
min=0,
max=100,
step=5
]
Type dimmer : fan_dimmer
[
transformationPattern="JSONPATH:$.value",
stateTopic="zwave01/nodeID_15/switch_multilevel/endpoint_2/currentValue",
commandTopic="zwave01/nodeID_15/switch_multilevel/endpoint_2/targetValue/set",
min=0,
max=100,
step=5
]
Type number : kWh [stateTopic="zwave01/nodeID_15/meter/endpoint_0/value/65537", transformationPattern="JSONPATH:$.value"]
Type number : watts [stateTopic="zwave01/nodeID_15/meter/endpoint_0/value/66049", transformationPattern="JSONPATH:$.value"]
Type string : reset [stateTopic="zwave01/nodeID_15/meter/endpoint_0/reset", transformationPattern="JSONPATH:$.value",commandTopic="zwave01/nodeID_15/meter/endpoint_0/reset/set"]
Type number : light-led-color
[
stateTopic="zwave01/nodeID_15/configuration/endpoint_0/Light_LED_Indicator_Color",
transformationPattern="JSONPATH:$.value",
commandTopic="zwave01/nodeID_15/configuration/endpoint_0/Light_LED_Indicator_Color/set"
]
Type number : fan-led-color
[
stateTopic="zwave01/nodeID_15/configuration/endpoint_0/Fan_LED_Indicator_Color",
transformationPattern="JSONPATH:$.value",
commandTopic="zwave01/nodeID_15/configuration/endpoint_0/Fan_LED_Indicator_Color/set"
]
}
The associated YAML in the GUI looks like this:
UID: mqtt:topic:zwave01-nodeID_15
label: F1_GuestRoom_Wall_Switch
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:8fd56e1f3c
channels:
- id: light_dimmer
channelTypeUID: mqtt:dimmer
label: Dimmer
configuration:
retained: false
postCommand: false
min: 0
formatBeforePublish: "%s"
max: 100
commandTopic: zwave01/nodeID_15/switch_multilevel/endpoint_1/targetValue/set
step: 5
transformationPattern: JSONPATH:$.value
stateTopic: zwave01/nodeID_15/switch_multilevel/endpoint_1/currentValue
off: "0"
on: "1"
- id: fan_dimmer
channelTypeUID: mqtt:dimmer
label: Dimmer
configuration:
retained: false
postCommand: false
min: 0
formatBeforePublish: "%s"
max: 100
commandTopic: zwave01/nodeID_15/switch_multilevel/endpoint_2/targetValue/set
step: 5
transformationPattern: JSONPATH:$.value
stateTopic: zwave01/nodeID_15/switch_multilevel/endpoint_2/currentValue
off: "0"
on: "1"
- id: kWh
channelTypeUID: mqtt:number
label: Number Value
configuration:
retained: false
postCommand: false
step: 1
formatBeforePublish: "%s"
stateTopic: zwave01/nodeID_15/meter/endpoint_0/value/65537
transformationPattern: JSONPATH:$.value
- id: watts
channelTypeUID: mqtt:number
label: Number Value
configuration:
retained: false
postCommand: false
step: 1
formatBeforePublish: "%s"
stateTopic: zwave01/nodeID_15/meter/endpoint_0/value/66049
transformationPattern: JSONPATH:$.value
- id: reset
channelTypeUID: mqtt:string
label: Text Value
configuration:
commandTopic: zwave01/nodeID_15/meter/endpoint_0/reset/set
retained: false
postCommand: false
formatBeforePublish: "%s"
stateTopic: zwave01/nodeID_15/meter/endpoint_0/reset
transformationPattern: JSONPATH:$.value
- id: light-led-color
channelTypeUID: mqtt:number
label: Number Value
configuration:
retained: false
postCommand: false
formatBeforePublish: "%s"
commandTopic: zwave01/nodeID_15/configuration/endpoint_0/Light_LED_Indicator_Color/set
step: 1
stateTopic: zwave01/nodeID_15/configuration/endpoint_0/Light_LED_Indicator_Color
transformationPattern: JSONPATH:$.value
- id: fan-led-color
channelTypeUID: mqtt:number
label: Number Value
configuration:
retained: false
postCommand: false
formatBeforePublish: "%s"
commandTopic: zwave01/nodeID_15/configuration/endpoint_0/Fan_LED_Indicator_Color/set
step: 1
stateTopic: zwave01/nodeID_15/configuration/endpoint_0/Fan_LED_Indicator_Color
transformationPattern: JSONPATH:$.value
In writing this, I suppose my expectation is that the Home Assistant Discovery would create the thing and all of the associated channels, not just the thing.
I did read the documentation page here:
and just recently installed the required transformations plug-ins (it didn’t appear to change anything for me).
Am I misconfiguring something, or are my expectations off, or something else?
Appreciate the help!
Hardware: CWWK Intel N305/Proxmox/VM/Docker
openHAB version: 4.2