Skip to content

Commit

Permalink
[DOCS] Modify home assistant configuration changes to reflect MQTT sy…
Browse files Browse the repository at this point in the history
…ntax that is required since HomeAssistant 2022.12.0 (#1511)

The MQTT YAML configuration change was optional in 2022.6, but the new syntax (updated above) is now mandatory, and now matches the already updated documentation provided at the top of the page.  I also added the force_update flag to help with the expire_after to give better graphing of temperature/humidity readings.
  • Loading branch information
YogoGit authored Mar 8, 2023
1 parent 8f47a80 commit 2a8257d
Showing 1 changed file with 121 additions and 123 deletions.
244 changes: 121 additions & 123 deletions docs/integrate/home_assistant.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,143 +81,141 @@ From @123, @finity, @denniz03, @jrockstad, @anarchking, @dkluivingh

### Door sensor
```yaml
binary_sensor:
- platform: mqtt
name: "test"
state_topic: "home/OpenMQTTGateway/433toMQTT"
value_template: >-
{% if value_json.value == '7821834' %}
{{'ON'}}
{% elif value_json.value == '7821838' %}
{{'OFF'}}
{% else %}
{{states('binary_sensor.test') | upper}}
{% endif %}
qos: 0
device_class: opening
mqtt:
binary_sensor:
- name: "test"
state_topic: "home/OpenMQTTGateway/433toMQTT"
value_template: >-
{% if value_json.value == '7821834' %}
{{'ON'}}
{% elif value_json.value == '7821838' %}
{{'OFF'}}
{% else %}
{{states('binary_sensor.test') | upper}}
{% endif %}
qos: 0
device_class: opening
```

```yaml
binary_sensor:
- platform: mqtt
name: doorbell
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
#value_template: "{{ value_json.raw }}"
value_template: >-
{% if value_json.value == '14163857' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.doorbell') | upper}}
{% endif %}
off_delay: 30
device_class: 'sound'
- binary_sensor:
platform: mqtt
name: light_back_sensor
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
#value_template: '{{ value_jason.value }}'
value_template: >-
{% if value_json.value == '1213858' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.light_back_sensor') | upper}}
{% endif %}
off_delay: 5
- binary_sensor:
platform: mqtt
name: rf_outlet_sensor
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
value_template: >-
{% if value_json.value == '16766303' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.rf_outlet_sensor') | upper}}
{% endif %}
mqtt:
binary_sensor:
- name: doorbell
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
#value_template: "{{ value_json.raw }}"
value_template: >-
{% if value_json.value == '14163857' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.doorbell') | upper}}
{% endif %}
off_delay: 30
device_class: 'sound'
- name: light_back_sensor
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
#value_template: '{{ value_jason.value }}'
value_template: >-
{% if value_json.value == '1213858' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.light_back_sensor') | upper}}
{% endif %}
off_delay: 5
- name: rf_outlet_sensor
state_topic: 'home/OpenMQTTGateway/SRFBtoMQTT'
value_template: >-
{% if value_json.value == '16766303' %}
{{'ON'}}
{% else %}
{{states('binary_sensor.rf_outlet_sensor') | upper}}
{% endif %}
```

### Motion sensor
```yaml
binary_sensor:
- platform: mqtt
name: "Bewegung_Schlafzimmer"
#device_class: motion
state_topic: "home/OpenMQTTGateway1/HCSR501toMQTT"
value_template: '{{ value_json["presence"] }}'
payload_on: "true"
payload_off: "false"
mqtt:
binary_sensor:
- name: "Bewegung_Schlafzimmer"
#device_class: motion
state_topic: "home/OpenMQTTGateway1/HCSR501toMQTT"
value_template: '{{ value_json["presence"] }}'
payload_on: "true"
payload_off: "false"
```

### Switches

```yaml
#switches
switch:
- platform: mqtt
name: Plug1
state_topic: "home/OpenMQTTGateway/SRFBtoMQTT"
command_topic: "home/OpenMQTTGateway/commands/MQTTtoSRFB"
value_template: "{{ value_json.value }}"
payload_on: '{"value":4546575}'
payload_off: '{"value":4546572}'
state_on: 4546575
state_off: 4546572
qos: "0"
retain: true
mqtt:
switch:
- name: Plug1
state_topic: "home/OpenMQTTGateway/SRFBtoMQTT"
command_topic: "home/OpenMQTTGateway/commands/MQTTtoSRFB"
value_template: "{{ value_json.value }}"
payload_on: '{"value":4546575}'
payload_off: '{"value":4546572}'
state_on: 4546575
state_off: 4546572
qos: "0"
retain: true
```

### Mijia Thermometer BLE

```yaml
Sensor:
- platform: mqtt
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA' # MQTT topic, check MQTT messages; replace AA... with id (BLE MAC) of your device
name: "mijia_thermometer_temperature"
unit_of_measurement: '°C'
value_template: '{{ value_json.tem | is_defined }}'
expire_after: 21600 # 6 hours
- platform: mqtt
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA'
name: "mijia_thermometer_humidity"
unit_of_measurement: '%'
value_template: '{{ value_json.hum | is_defined }}'
expire_after: 21600 # 6 hours
- platform: mqtt
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA'
name: "mijia_thermometer_battery"
unit_of_measurement: '%'
value_template: '{{ value_json.batt | is_defined }}'
expire_after: 21600 # 6 hours
```
mqtt:
sensor:
- name: "mijia_thermometer_temperature"
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA' # MQTT topic, check MQTT messages; replace AA... with id (BLE MAC) of your device
unit_of_measurement: '°C'
value_template: '{{ value_json.tem | is_defined }}'
expire_after: 21600 # 6 hours
force_update: true
- name: "mijia_thermometer_humidity"
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA'
unit_of_measurement: '%'
value_template: '{{ value_json.hum | is_defined }}'
expire_after: 21600 # 6 hours
force_update: true
- name: "mijia_thermometer_battery"
state_topic: 'home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA'
unit_of_measurement: '%'
value_template: '{{ value_json.batt | is_defined }}'
expire_after: 21600 # 6 hours
force_update: true
```


### Xiaomi Mi Scale V2 BLE (XMTZC05HM)

```yaml
sensor:
- platform: mqtt
name: "Weight"
state_topic: "home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA" # replace your MQTT topic here
value_template: '{{ value_json["weight"] }}'
unit_of_measurement: "kg"
icon: mdi:weight-kilogram
mqtt:
sensor:
- name: "Weight"
state_topic: "home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA" # replace your MQTT topic here
value_template: '{{ value_json["weight"] }}'
unit_of_measurement: "kg"
icon: mdi:weight-kilogram
- platform: mqtt
name: "Impedance"
state_topic: "home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA" # replace your MQTT topic here also
value_template: '{{ value_json["impedance"] }}'
unit_of_measurement: "Ohm"
icon: mdi:omega
- name: "Impedance"
state_topic: "home/OpenMQTTGateway/BTtoMQTT/AAAAAAAAAAAA" # replace your MQTT topic here also
value_template: '{{ value_json["impedance"] }}'
unit_of_measurement: "Ohm"
icon: mdi:omega
- platform: template
sensors:
body_mass_index:
friendly_name: 'Body Mass Index'
value_template: >-
{% set HEIGHT = (1.76)|float %} # replace your height in meters
{% set WEIGHT = states('sensor.xmtzc05hm_weight')|float %}
{{- (WEIGHT/(HEIGHT*HEIGHT))|float|round(1) -}}
icon_template: >
{{ 'mdi:human' }}
template:
sensor:
- name: body_mass_index:
friendly_name: 'Body Mass Index'
value_template: >-
{% set HEIGHT = (1.76)|float %} # replace your height in meters
{% set WEIGHT = states('sensor.xmtzc05hm_weight')|float %}
{{- (WEIGHT/(HEIGHT*HEIGHT))|float|round(1) -}}
icon_template: >
{{ 'mdi:human' }}
```

### MQTT Room Presence
Expand All @@ -237,15 +235,15 @@ sensor:
### Temperature sensor

```yaml
sensor:
- platform: mqtt
name: outdoor temp
state_topic: "home/OpenMQTTGateway/433toMQTT"
unit_of_measurement: '°C'
value_template: >
{% if value_json is defined and value_json.sensor == 125 %}
{{ value_json.tempc }}
{% else %}
{{ states('sensor.outdoor_temp') }}
{% endif %}
mqtt:
sensor:
- name: outdoor temp
state_topic: "home/OpenMQTTGateway/433toMQTT"
unit_of_measurement: '°C'
value_template: >
{% if value_json is defined and value_json.sensor == 125 %}
{{ value_json.tempc }}
{% else %}
{{ states('sensor.outdoor_temp') }}
{% endif %}
```

0 comments on commit 2a8257d

Please sign in to comment.