Initial zigbee2mqtt config

This commit is contained in:
2020-06-07 21:30:12 +03:00
parent 84777838fe
commit f9e16914d1
7 changed files with 385 additions and 108 deletions
@@ -1,6 +1,6 @@
title: Batteries title: Batteries
path: batteries path: batteries
icon: "mdi:battery-50" icon: "mdi:z-wave"
panel: true panel: true
cards: cards:
- type: custom:mod-card - type: custom:mod-card
@@ -42,21 +42,27 @@ cards:
title: Aqara sensors title: Aqara sensors
entities: entities:
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.front_door_power entity: sensor.front_door_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.living_room_right_window_power entity: sensor.living_room_right_window_power
- type: divider - type: divider
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.bedroom_door_power entity: sensor.bedroom_door_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.bedroom_left_window_power entity: sensor.bedroom_left_window_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.bedroom_right_window_power entity: sensor.bedroom_right_window_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.bedroom_weather_power entity: sensor.bedroom_weather_battery
- type: divider - type: divider
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.kitchen_window_power entity: sensor.kitchen_window_battery
- type: custom:battery-entity
entity: sensor.kitchen_weather_battery
- type: custom:battery-entity
entity: sensor.bathroom_weather_battery
- type: custom:battery-entity
entity: sensor.hallway_weather_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.motion_1_power entity: sensor.motion_1_power
- type: custom:battery-entity - type: custom:battery-entity
@@ -65,12 +71,36 @@ cards:
title: Aqara Devices title: Aqara Devices
entities: entities:
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.desk_switch_power entity: sensor.desk_switch_battery
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.master_bedroom_bedside_switch_power entity: sensor.master_bedroom_bedside_switch_power
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.bathroom_switch_power entity: sensor.bathroom_switch_power
- type: custom:battery-entity - type: custom:battery-entity
entity: sensor.cube_power entity: sensor.cube_power
- type: vertical-stack
cards:
- type: entities
title: Zigbee2MQTT link quality
entities:
- sensor.front_door_lqi
- sensor.desk_switch_lqi
- type: divider
- sensor.bedroom_door_lqi
- sensor.bedroom_left_window_lqi
- sensor.bedroom_right_window_lqi
- sensor.bedroom_weather_lqi
- type: divider
- sensor.kitchen_window_lqi
- sensor.kitchen_weather_lqi
- type: divider
- sensor.bathroom_weather_lqi
- sensor.hallway_weather_lqi
- type: custom:vertical-stack-in-card
cards:
- type: entities
entities:
- sensor.zigbee2mqtt_devices_count
- script.zigbee2mqtt_get_device_count
- type: custom:zigbee2mqtt-networkmap
entity: sensor.zigbee2mqtt_networkmap
+3
View File
@@ -48,6 +48,9 @@
url: /hacsfiles/vertical-stack-in-card/vertical-stack-in-card.js url: /hacsfiles/vertical-stack-in-card/vertical-stack-in-card.js
- type: module - type: module
url: /hacsfiles/weather-card/weather-card.js url: /hacsfiles/weather-card/weather-card.js
- type: module
url: /hacsfiles/zigbee2mqtt-networkmap/zigbee2mqtt-networkmap.js
- type: module - type: module
url: /hacsfiles/lovelace-folder-card/folder-card.js url: /hacsfiles/lovelace-folder-card/folder-card.js
@@ -1,12 +1,46 @@
sensor:
- platform: mqtt
name: "Desk switch click"
state_topic: "zigbee2mqtt/desk_switch"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:toggle-switch"
value_template: "{{ value_json.click }}"
- platform: mqtt
name: "Desk switch battery"
state_topic: "zigbee2mqtt/desk_switch"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Desk switch action"
state_topic: "zigbee2mqtt/desk_switch"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:gesture-double-tap"
value_template: "{{ value_json.action }}"
- platform: mqtt
name: "Desk switch LQI"
state_topic: "zigbee2mqtt/desk_switch"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
automation: automation:
- alias: Lighting · Living Room · Toggle ceiling lights on desk switch single click - alias: Lighting · Living Room · Toggle ceiling lights on desk switch single click
trigger: trigger:
platform: event platform: mqtt
event_type: zha_event topic: "zigbee2mqtt/desk_switch"
event_data: condition:
device_ieee: !secret desk_switch_ieee - condition: state
command: single entity_id: sensor.desk_switch_click
state: 'single'
action: action:
- service: logbook.log
data:
name: "Debug · "
message: "Desk switch single click toggled"
- service: light.toggle - service: light.toggle
data_template: data_template:
entity_id: light.living_room_ceiling entity_id: light.living_room_ceiling
@@ -20,11 +54,12 @@ automation:
- alias: Lighting · Living Room · Toggle ambient lights on desk switch double click - alias: Lighting · Living Room · Toggle ambient lights on desk switch double click
trigger: trigger:
platform: event platform: mqtt
event_type: zha_event topic: "zigbee2mqtt/desk_switch"
event_data: condition:
device_ieee: !secret desk_switch_ieee - condition: state
command: double entity_id: sensor.desk_switch_click
state: 'double'
action: action:
- service: light.toggle - service: light.toggle
data_template: data_template:
@@ -39,11 +74,9 @@ automation:
- alias: Music · Living Room · Play pause on desk switch hold - alias: Music · Living Room · Play pause on desk switch hold
trigger: trigger:
platform: event platform: state
event_type: zha_event entity_id: sensor.desk_switch_action
event_data: to: 'hold'
device_ieee: !secret desk_switch_ieee
command: hold
action: action:
- service: media_player.media_play_pause - service: media_player.media_play_pause
entity_id: media_player.living_room entity_id: media_player.living_room
+145 -13
View File
@@ -21,20 +21,152 @@ sensor:
- sensor.hallway_weather_humidity - sensor.hallway_weather_humidity
- sensor.guest_bedroom_weather_humidity - sensor.guest_bedroom_weather_humidity
#
# ─── CUSTOMIZATION ──────────────────────────────────────────────────────────────
#
homeassistant: sensor:
customize: # Bedroom weather sensor
sensor.bedroom_weather_power: - platform: mqtt
friendly_name: Bedroom weather battery name: "Bedroom weather temperature"
state_topic: "zigbee2mqtt/bedroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "°C"
device_class: "temperature"
value_template: "{{ value_json.temperature }}"
- platform: mqtt
name: "Bedroom weather humidity"
state_topic: "zigbee2mqtt/bedroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "humidity"
value_template: "{{ value_json.humidity }}"
- platform: mqtt
name: "Bedroom weather pressure"
state_topic: "zigbee2mqtt/bedroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "hPa"
device_class: "pressure"
value_template: "{{ value_json.pressure }}"
- platform: mqtt
name: "Bedroom weather battery"
state_topic: "zigbee2mqtt/bedroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Bedroom weather LQI"
state_topic: "zigbee2mqtt/bedroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
sensor.bedroom_weather_temperature: # Kitchen weather sensor
friendly_name: Temperature - platform: mqtt
name: "Kitchen weather temperature"
state_topic: "zigbee2mqtt/kitchen_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "°C"
device_class: "temperature"
value_template: "{{ value_json.temperature }}"
- platform: mqtt
name: "Kitchen weather humidity"
state_topic: "zigbee2mqtt/kitchen_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "humidity"
value_template: "{{ value_json.humidity }}"
- platform: mqtt
name: "Kitchen weather pressure"
state_topic: "zigbee2mqtt/kitchen_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "hPa"
device_class: "pressure"
value_template: "{{ value_json.pressure }}"
- platform: mqtt
name: "Kitchen weather battery"
state_topic: "zigbee2mqtt/kitchen_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Kitchen weather LQI"
state_topic: "zigbee2mqtt/kitchen_weather"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
sensor.bedroom_weather_pressure: # Bathroom weather sensor
friendly_name: Pressure - platform: mqtt
name: "Bathroom weather temperature"
state_topic: "zigbee2mqtt/bathroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "°C"
device_class: "temperature"
value_template: "{{ value_json.temperature }}"
- platform: mqtt
name: "Bathroom weather humidity"
state_topic: "zigbee2mqtt/bathroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "humidity"
value_template: "{{ value_json.humidity }}"
- platform: mqtt
name: "Bathroom weather pressure"
state_topic: "zigbee2mqtt/bathroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "hPa"
device_class: "pressure"
value_template: "{{ value_json.pressure }}"
- platform: mqtt
name: "Bathroom weather battery"
state_topic: "zigbee2mqtt/bathroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Bathroom weather LQI"
state_topic: "zigbee2mqtt/bathroom_weather"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
sensor.bedroom_weather_humidity: # Hallway weather sensor
friendly_name: Humidity - platform: mqtt
name: "Hallway weather temperature"
state_topic: "zigbee2mqtt/hallway_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "°C"
device_class: "temperature"
value_template: "{{ value_json.temperature }}"
- platform: mqtt
name: "Hallway weather humidity"
state_topic: "zigbee2mqtt/hallway_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "humidity"
value_template: "{{ value_json.humidity }}"
- platform: mqtt
name: "Hallway weather pressure"
state_topic: "zigbee2mqtt/hallway_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "hPa"
device_class: "pressure"
value_template: "{{ value_json.pressure }}"
- platform: mqtt
name: "Hallway weather battery"
state_topic: "zigbee2mqtt/hallway_weather"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Hallway weather LQI"
state_topic: "zigbee2mqtt/hallway_weather"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
+76 -37
View File
@@ -8,6 +8,34 @@ group:
- binary_sensor.kitchen_window - binary_sensor.kitchen_window
binary_sensor: binary_sensor:
- platform: mqtt
name: "Bedroom left window"
state_topic: "zigbee2mqtt/bedroom_left_window"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: false
payload_off: true
value_template: "{{ value_json.contact }}"
device_class: "window"
- platform: mqtt
name: "Bedroom right window"
state_topic: "zigbee2mqtt/bedroom_right_window"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: false
payload_off: true
value_template: "{{ value_json.contact }}"
device_class: "window"
- platform: mqtt
name: "Kitchen window"
state_topic: "zigbee2mqtt/kitchen_window"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: false
payload_off: true
value_template: "{{ value_json.contact }}"
device_class: "window"
- platform: template - platform: template
sensors: sensors:
living_room_right_window: living_room_right_window:
@@ -20,38 +48,55 @@ binary_sensor:
{% else %} mdi:window-closed-variant {% else %} mdi:window-closed-variant
{% endif %} {% endif %}
bedroom_right_window:
friendly_name: Bedroom right window
device_class: window
value_template: "{{ is_state('binary_sensor.bedroom_right_window_on_off', 'on') }}"
entity_id: binary_sensor.bedroom_right_window_on_off
icon_template: >
{% if is_state('binary_sensor.bedroom_right_window_on_off', 'on') %} mdi:window-open-variant
{% else %} mdi:window-closed-variant
{% endif %}
bedroom_left_window:
friendly_name: Bedroom left window
device_class: window
value_template: "{{ is_state('binary_sensor.bedroom_left_window_raw', 'on') }}"
entity_id: binary_sensor.bedroom_left_window_raw
icon_template: >
{% if is_state('binary_sensor.bedroom_left_window_raw', 'on') %} mdi:window-open-variant
{% else %} mdi:window-closed-variant
{% endif %}
kitchen_window:
friendly_name: Kitchen window
device_class: window
value_template: "{{ is_state('binary_sensor.kitchen_window_raw', 'on') }}"
entity_id: binary_sensor.kitchen_window_raw
icon_template: >
{% if is_state('binary_sensor.kitchen_window_raw', 'on') %} mdi:window-open-variant
{% else %} mdi:window-closed-variant
{% endif %}
sensor: sensor:
- platform: mqtt
name: "Bedroom left window battery"
state_topic: "zigbee2mqtt/bedroom_left_window"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Bedroom left window LQI"
state_topic: "zigbee2mqtt/bedroom_left_window"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
- platform: mqtt
name: "Bedroom right window battery"
state_topic: "zigbee2mqtt/bedroom_right_window"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Bedroom right window LQI"
state_topic: "zigbee2mqtt/bedroom_right_window"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
- platform: mqtt
name: "Kitchen window battery"
state_topic: "zigbee2mqtt/kitchen_window"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Kitchen window LQI"
state_topic: "zigbee2mqtt/kitchen_window"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
- platform: template - platform: template
sensors: sensors:
open_window_count: open_window_count:
@@ -73,11 +118,5 @@ homeassistant:
sensor.living_room_right_window_power: sensor.living_room_right_window_power:
friendly_name: Living room window battery friendly_name: Living room window battery
sensor.bedroom_left_window_power:
friendly_name: Bedroom left window battery
sensor.bedroom_right_window_power:
friendly_name: Bedroom right window battery
sensor.kitchen_window_power: sensor.kitchen_window_power:
friendly_name: Kitchen window battery friendly_name: Kitchen window battery
+24
View File
@@ -109,6 +109,30 @@ binary_sensor:
payload_off: "disabled" payload_off: "disabled"
value_template: '{{ value_json.status }}' value_template: '{{ value_json.status }}'
sensor:
- platform: mqtt
name: "Zigbee2MQTT Networkmap"
# if you change base_topic of Zigbee2mqtt, change state_topic accordingly
state_topic: "zigbee2mqtt/bridge/networkmap/raw"
value_template: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
# again, if you change base_topic of Zigbee2mqtt, change json_attributes_topic accordingly
json_attributes_topic: zigbee2mqtt/bridge/networkmap/raw
- platform: mqtt
name: "Zigbee2MQTT Devices count"
availability_topic: "zigbee2mqtt/bridge/state"
state_topic: "zigbee2mqtt/bridge/config/devices"
value_template: "{{ value_json | count }}"
icon: "mdi:counter"
script:
zigbee2mqtt_get_device_count:
alias: "Network · Zigbee2MQTT · Get device count"
icon: "mdi:reload"
sequence:
service: mqtt.publish
data:
topic: "zigbee2mqtt/bridge/config/devices/get"
homeassistant: homeassistant:
customize: customize:
switch.pihole_temp_disable: switch.pihole_temp_disable:
+49 -33
View File
@@ -1,34 +1,50 @@
sensor:
- platform: mqtt
name: "Bedroom door battery"
state_topic: "zigbee2mqtt/bedroom_door"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Bedroom door LQI"
state_topic: "zigbee2mqtt/bedroom_door"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
- platform: mqtt
name: "Front door battery"
state_topic: "zigbee2mqtt/front_door"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "%"
device_class: "battery"
value_template: "{{ value_json.battery }}"
- platform: mqtt
name: "Front door LQI"
state_topic: "zigbee2mqtt/front_door"
availability_topic: "zigbee2mqtt/bridge/state"
icon: "mdi:signal"
unit_of_measurement: "lqi"
value_template: "{{ value_json.linkquality }}"
binary_sensor: binary_sensor:
- platform: template - platform: mqtt
sensors: name: "Bedroom door"
front_door: state_topic: "zigbee2mqtt/bedroom_door"
friendly_name: Front door availability_topic: "zigbee2mqtt/bridge/state"
device_class: door payload_on: false
value_template: "{{ is_state('binary_sensor.front_door_on_off', 'on') }}" payload_off: true
entity_id: binary_sensor.front_door_on_off value_template: "{{ value_json.contact }}"
icon_template: > device_class: "door"
{% if is_state('binary_sensor.front_door_on_off', 'on') %} mdi:door-open - platform: mqtt
{% else %} mdi:door-closed name: "Front door"
{% endif %} state_topic: "zigbee2mqtt/front_door"
availability_topic: "zigbee2mqtt/bridge/state"
bedroom_door: payload_on: false
friendly_name: Bedroom door payload_off: true
device_class: door value_template: "{{ value_json.contact }}"
value_template: "{{ is_state('binary_sensor.bedroom_door_raw', 'on') }}" device_class: "door"
entity_id: binary_sensor.bedroom_door_raw
icon_template: >
{% if is_state('binary_sensor.bedroom_door_raw', 'on') %} mdi:door-open
{% else %} mdi:door-closed
{% endif %}
#
# ─── CUSTOMIZATION ──────────────────────────────────────────────────────────────
#
homeassistant:
customize:
sensor.front_door_power:
friendly_name: Front door battery
sensor.bedroom_door_power:
friendly_name: Bedroom door battery