Skip to content

Instantly share code, notes, and snippets.

@saper-2
Created December 9, 2019 21:06
Show Gist options
  • Save saper-2/a985df365fb95931ef49cebe80c618f8 to your computer and use it in GitHub Desktop.
Save saper-2/a985df365fb95931ef49cebe80c618f8 to your computer and use it in GitHub Desktop.
Home Assistant configs
# *********************************************************
# Map sensors from domoticz MQTT:/domoticz/out into:
# MQTT:home/sensor/xxx/sensor : {json_data}
#
# Not advised by MQTT is to use this layout:
# MQTT:home/sensor/xxx/yyyy : value
# Because, many topics generates additional traffic.
#
# xxx - domoticz sensor id ,
# yyyy - sensor value type, e.g.:
# * temp,
# * humi,
# * baro,
# * baro_sea (uncorrected for current altitude pressure)
# * bear - wind bearing (0..359)
# * dir - wind direction (e.g. NE, E, SW,...)
# * speed - wind speed in unit 0.1 m/s
# * gust - wind gust in unit 0.1 m/s
# * twchill - windchill temperature
# * rate - rainfall rate in last hour in 0.01mm units
# * total - total rainfall (since the sensor power on)
# *********************************************************
# Domotoicz sensor type: Temperature
- alias: DCZ_TEMP
trigger:
platform: mqtt
topic: "domoticz/out"
condition:
condition: template
value_template: '{{ trigger.payload_json.dtype == "Temp" }}'
action:
# all in ine JSON - per MQTT guides
- service: mqtt.publish
data_template:
topic: 'home/sensor/{{ trigger.payload_json.idx }}/sensor'
payload_template: '{ "temp":"{{trigger.payload_json.svalue1}}" }'
# splitted
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/temp'
# payload_template: '{{trigger.payload_json.svalue1}}'
# Domotoicz sensor type: Temperature + Humidity
- alias: DCZ_TEMP_HUMI
trigger:
platform: mqtt
topic: "domoticz/out"
condition:
condition: template
value_template: '{{ trigger.payload_json.dtype == "Temp + Humidity" }}'
action:
# all in ine JSON - per MQTT guides
- service: mqtt.publish
data_template:
topic: 'home/sensor/{{ trigger.payload_json.idx }}/sensor'
payload_template: '{ "temp":"{{ trigger.payload_json.svalue1 }}", "humi":"{{ trigger.payload_json.svalue2 }}" }'
# splitted
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/temp'
# payload_template: '{{ trigger.payload_json.svalue1 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/humi'
# payload_template: '{{ trigger.payload_json.svalue2 }}'
# Domotoicz sensor type: Temperature + Baro
- alias: DCZ_TEMP_BARO
trigger:
platform: mqtt
topic: "domoticz/out"
condition:
condition: template
value_template: '{{ trigger.payload_json.dtype == "Temp + Baro" }}'
action:
# all in ine JSON - per MQTT guides
- service: mqtt.publish
data_template:
topic: 'home/sensor/{{ trigger.payload_json.idx }}/sensor'
payload_template: '{ "temp":"{{ trigger.payload_json.svalue1 }}", "baro":"{{ trigger.payload_json.svalue2 }}", "baro_sea":"{{ trigger.payload_json.svalue4 }}" }'
# splitted
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/temp'
# payload_template: '{{ trigger.payload_json.svalue1 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/baro'
# payload_template: '{{ trigger.payload_json.svalue2 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/baro_sea'
# payload_template: '{{ trigger.payload_json.svalue4 }}'
# Domotoicz sensor type: Wind
- alias: DCZ_WIND
trigger:
platform: mqtt
topic: "domoticz/out"
condition:
condition: template
value_template: '{{ trigger.payload_json.dtype == "Wind" }}'
action:
# all in ine JSON - per MQTT guides
- service: mqtt.publish
data_template:
topic: 'home/sensor/{{ trigger.payload_json.idx }}/sensor'
payload_template: '{ "bear":"{{ trigger.payload_json.svalue1 }}", "dir":"{{ trigger.payload_json.svalue2 }}", "speed":"{{ trigger.payload_json.svalue3 }}", "gust":"{{ trigger.payload_json.svalue4 }}", "temp":"{{ trigger.payload_json.svalue5 }}", "twchill":"{{ trigger.payload_json.svalue6 }}" }'
# splitted
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/bear'
# payload_template: '{{ trigger.payload_json.svalue1 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/dir'
# payload_template: '{{ trigger.payload_json.svalue2 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/speed'
# payload_template: '{{ trigger.payload_json.svalue3 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/gust'
# payload_template: '{{ trigger.payload_json.svalue4 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/temp'
# payload_template: '{{ trigger.payload_json.svalue5 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/twchill'
# payload_template: '{{ trigger.payload_json.svalue6 }}'
# Domotoicz sensor type: Wind
- alias: DCZ_RAIN
trigger:
platform: mqtt
topic: "domoticz/out"
condition:
condition: template
value_template: '{{ trigger.payload_json.dtype == "Rain" }}'
action:
# all in ine JSON - per MQTT guides
- service: mqtt.publish
data_template:
topic: 'home/sensor/{{ trigger.payload_json.idx }}/sensor'
payload_template: '{ "rate":"{{ trigger.payload_json.svalue1 }}", "total":"{{ trigger.payload_json.svalue2 }}" }'
# splitted
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/rate'
# payload_template: '{{ trigger.payload_json.svalue1 }}'
#- service: mqtt.publish
# data_template:
# topic: 'home/sensor/{{ trigger.payload_json.idx }}/total'
# payload_template: '{{ trigger.payload_json.svalue2 }}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment