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
path: batteries
icon: "mdi:battery-50"
icon: "mdi:z-wave"
panel: true
cards:
- type: custom:mod-card
@@ -42,21 +42,27 @@ cards:
title: Aqara sensors
entities:
- type: custom:battery-entity
entity: sensor.front_door_power
entity: sensor.front_door_battery
- type: custom:battery-entity
entity: sensor.living_room_right_window_power
- type: divider
- type: custom:battery-entity
entity: sensor.bedroom_door_power
entity: sensor.bedroom_door_battery
- type: custom:battery-entity
entity: sensor.bedroom_left_window_power
entity: sensor.bedroom_left_window_battery
- type: custom:battery-entity
entity: sensor.bedroom_right_window_power
entity: sensor.bedroom_right_window_battery
- type: custom:battery-entity
entity: sensor.bedroom_weather_power
entity: sensor.bedroom_weather_battery
- type: divider
- 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
entity: sensor.motion_1_power
- type: custom:battery-entity
@@ -65,12 +71,36 @@ cards:
title: Aqara Devices
entities:
- type: custom:battery-entity
entity: sensor.desk_switch_power
entity: sensor.desk_switch_battery
- type: custom:battery-entity
entity: sensor.master_bedroom_bedside_switch_power
- type: custom:battery-entity
entity: sensor.bathroom_switch_power
- type: custom:battery-entity
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
- type: module
url: /hacsfiles/weather-card/weather-card.js
- type: module
url: /hacsfiles/zigbee2mqtt-networkmap/zigbee2mqtt-networkmap.js
- type: module
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:
- alias: Lighting · Living Room · Toggle ceiling lights on desk switch single click
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret desk_switch_ieee
command: single
platform: mqtt
topic: "zigbee2mqtt/desk_switch"
condition:
- condition: state
entity_id: sensor.desk_switch_click
state: 'single'
action:
- service: logbook.log
data:
name: "Debug · "
message: "Desk switch single click toggled"
- service: light.toggle
data_template:
entity_id: light.living_room_ceiling
@@ -20,11 +54,12 @@ automation:
- alias: Lighting · Living Room · Toggle ambient lights on desk switch double click
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret desk_switch_ieee
command: double
platform: mqtt
topic: "zigbee2mqtt/desk_switch"
condition:
- condition: state
entity_id: sensor.desk_switch_click
state: 'double'
action:
- service: light.toggle
data_template:
@@ -39,11 +74,9 @@ automation:
- alias: Music · Living Room · Play pause on desk switch hold
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: !secret desk_switch_ieee
command: hold
platform: state
entity_id: sensor.desk_switch_action
to: 'hold'
action:
- service: media_player.media_play_pause
entity_id: media_player.living_room
+145 -13
View File
@@ -21,20 +21,152 @@ sensor:
- sensor.hallway_weather_humidity
- sensor.guest_bedroom_weather_humidity
#
# ─── CUSTOMIZATION ──────────────────────────────────────────────────────────────
#
homeassistant:
customize:
sensor.bedroom_weather_power:
friendly_name: Bedroom weather battery
sensor:
# Bedroom weather sensor
- platform: mqtt
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:
friendly_name: Temperature
# Kitchen weather sensor
- 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:
friendly_name: Pressure
# Bathroom weather sensor
- 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:
friendly_name: Humidity
# Hallway weather sensor
- 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:
- 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
sensors:
living_room_right_window:
@@ -20,38 +48,55 @@ binary_sensor:
{% else %} mdi:window-closed-variant
{% 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:
- 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
sensors:
open_window_count:
@@ -73,11 +118,5 @@ homeassistant:
sensor.living_room_right_window_power:
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:
friendly_name: Kitchen window battery
+24
View File
@@ -109,6 +109,30 @@ binary_sensor:
payload_off: "disabled"
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:
customize:
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:
- platform: template
sensors:
front_door:
friendly_name: Front door
device_class: door
value_template: "{{ is_state('binary_sensor.front_door_on_off', 'on') }}"
entity_id: binary_sensor.front_door_on_off
icon_template: >
{% if is_state('binary_sensor.front_door_on_off', 'on') %} mdi:door-open
{% else %} mdi:door-closed
{% endif %}
bedroom_door:
friendly_name: Bedroom door
device_class: door
value_template: "{{ is_state('binary_sensor.bedroom_door_raw', 'on') }}"
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
- platform: mqtt
name: "Bedroom door"
state_topic: "zigbee2mqtt/bedroom_door"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: false
payload_off: true
value_template: "{{ value_json.contact }}"
device_class: "door"
- platform: mqtt
name: "Front door"
state_topic: "zigbee2mqtt/front_door"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: false
payload_off: true
value_template: "{{ value_json.contact }}"
device_class: "door"