2024-10-18 10:08:04 +00:00
---
2024-10-17 19:45:45 +00:00
zigbee2mqtt :
# Input select for Zigbee2MQTT debug level
input_select :
zigbee2mqtt_log_level :
name : Zigbee2MQTT Log Level
options :
- debug
- info
2024-10-17 21:28:03 +00:00
- warning
2024-10-17 19:45:45 +00:00
- error
2024-10-17 21:28:03 +00:00
initial : warning
2024-10-17 19:45:45 +00:00
icon : mdi:format-list-bulleted
# Input number for joining time remaining (in minutes)
input_number :
zigbee2mqtt_join_minutes :
name : "Zigbee2MQTT join minutes"
initial : 2
min : 1
max : 5
step : 1
mode : slider
# Input text to input Zigbee2MQTT friendly_name for scripts
input_text :
zigbee2mqtt_old_name :
name : Zigbee2MQTT Old Name
initial : ""
zigbee2mqtt_new_name :
name : Zigbee2MQTT New Name
initial : ""
zigbee2mqtt_remove :
name : Zigbee2MQTT Remove
initial : ""
# Input boolean to set the force remove flag for devices
input_boolean :
zigbee2mqtt_force_remove :
name : Zigbee2MQTT Force Remove
2024-10-18 10:08:04 +00:00
initial : False
2024-10-17 19:45:45 +00:00
icon : mdi:alert-remove
# Scripts for renaming & removing devices
script :
zigbee2mqtt_rename :
alias : Zigbee2MQTT Rename
sequence :
service : mqtt.publish
data_template :
topic : zigbee2mqtt/bridge/request/device/rename
2024-10-17 20:25:22 +00:00
payload : >-
2024-10-17 19:45:45 +00:00
{
"from": "{{ states.input_text.zigbee2mqtt_old_name.state | string }}" ,
"to": "{{ states.input_text.zigbee2mqtt_new_name.state | string }}"
}
zigbee2mqtt_remove :
alias : Zigbee2MQTT Remove
sequence :
service : mqtt.publish
data_template :
topic : zigbee2mqtt/bridge/request/device/remove
2024-10-17 20:25:22 +00:00
payload : >-
2024-10-17 19:45:45 +00:00
{
"id": "{{ states.input_text.zigbee2mqtt_remove.state | string }}" ,
"force": {% if states.input_boolean.zigbee2mqtt_force_remove.state == "off" %}false{% else %}true{% endif %}
}
# Timer for joining time remaining (254 sec)
timer :
zigbee_permit_join :
name : Time remaining
duration : 254
mqtt :
sensor :
# Sensor for monitoring the bridge state
- name : Zigbee2MQTT Bridge state
unique_id : zigbee2mqtt_bridge_state_sensor
state_topic : "zigbee2mqtt/bridge/state"
icon : mdi:router-wireless
# Sensor for Showing the Zigbee2MQTT Version
- name : Zigbee2MQTT Version
unique_id : zigbee2mqtt_version_sensor
state_topic : "zigbee2mqtt/bridge/info"
value_template : "{{ value_json.version }}"
icon : mdi:zigbee
# Sensor for Showing the Coordinator Version
- name : Zigbee2MQTT Coordinator Version
unique_id : zigbee2mqtt_coordinator_version_sensor
state_topic : "zigbee2mqtt/bridge/info"
value_template : "{{ value_json.coordinator.meta.revision }}"
icon : mdi:chip
- name : Zigbee2mqtt Networkmap
unique_id : zigbee2mqtt_networkmap_sensor
# 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
# Switch for enabling joining
switch :
- name : "Zigbee2MQTT Main join"
unique_id : zigbee2mqtt_main_join_switch
state_topic : "zigbee2mqtt/bridge/info"
value_template : "{{ value_json.permit_join | lower }}"
command_topic : "zigbee2mqtt/bridge/request/permit_join"
payload_on : "true"
payload_off : "false"
automation :
# Automation for sending MQTT message on input select change
- alias : Zigbee2MQTT Log Level
initial_state : "on"
trigger :
platform : state
entity_id : input_select.zigbee2mqtt_log_level
action :
- service : mqtt.publish
data :
topic : zigbee2mqtt/bridge/request/config/log_level
2024-10-17 20:25:22 +00:00
payload : "{{ states('input_select.zigbee2mqtt_log_level') }}"
2024-10-17 19:45:45 +00:00
# Automation to start timer when enable join is turned on
- id : zigbee_join_enabled
alias : Zigbee Join Enabled
trigger :
platform : state
entity_id : switch.zigbee2mqtt_main_join
to : "on"
action :
service : timer.start
entity_id : timer.zigbee_permit_join
data_template :
duration : "{{ '00:0%i:00' % (states('input_number.zigbee2mqtt_join_minutes') | int ) }}"
# Automation to stop timer when switch turned off and turn off switch when timer finished
- id : zigbee_join_disabled
alias : Zigbee Join Disabled
trigger :
- platform : event
event_type : timer.finished
event_data :
entity_id : timer.zigbee_permit_join
- platform : state
entity_id : switch.zigbee2mqtt_main_join
to : "off"
action :
- service : timer.cancel
data :
entity_id : timer.zigbee_permit_join
- service : switch.turn_off
entity_id : switch.zigbee2mqtt_main_join
- id : "zigbee2mqtt_create_notification_on_successful_interview"
alias : Zigbee Device Joined Notification
trigger :
platform : mqtt
topic : "zigbee2mqtt/bridge/event"
condition :
condition : template
value_template : '{{trigger.payload_json.type == "device_interview" and trigger.payload_json.data.status == "successful" and trigger.payload_json.data.supported}}'
action :
- service : persistent_notification.create
data_template :
title : Device joined the Zigbee2MQTT network
message : "Name: {{trigger.payload_json.data.friendly_name}},
Vendor : {{trigger.payload_json.data.definition.vendor}},
Model : {{trigger.payload_json.data.definition.model}},
Description : {{trigger.payload_json.data.definition.description}}"