Last active
March 25, 2021 15:10
-
-
Save Mezzle/0b734c34788c7966fd0dd5efe306e463 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title: Zigbee2MQTT | |
type: entities | |
show_header_toggle: false | |
entities: | |
- entity: sensor.zigbee2mqtt_bridge_state | |
- entity: sensor.zigbee2mqtt_version | |
- entity: sensor.coordinator_version | |
- entity: input_select.zigbee2mqtt_log_level | |
- type: divider | |
- entity: switch.zigbee2mqtt_main_join | |
- entity: input_number.zigbee2mqtt_join_minutes | |
- entity: timer.zigbee_permit_join | |
- type: divider | |
- entity: input_text.zigbee2mqtt_old_name | |
- entity: input_text.zigbee2mqtt_new_name | |
- entity: script.zigbee2mqtt_rename | |
- type: divider | |
- entity: input_text.zigbee2mqtt_remove | |
- entity: script.zigbee2mqtt_remove |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Input select for Zigbee2MQTT debug level | |
input_select: | |
zigbee2mqtt_log_level: | |
name: Zigbee2MQTT Log Level | |
options: | |
- debug | |
- info | |
- warn | |
- error | |
initial: info | |
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: "" | |
# Scripts for renaming & removing devices | |
script: | |
zigbee2mqtt_rename: | |
alias: Zigbee2MQTT Rename | |
sequence: | |
service: mqtt.publish | |
data_template: | |
topic: zigbee2mqtt/bridge/config/rename | |
payload_template: >- | |
{ | |
"old": "{{ states.input_text.zigbee2mqtt_old_name.state | string }}", | |
"new": "{{ states.input_text.zigbee2mqtt_new_name.state | string }}" | |
} | |
zigbee2mqtt_remove: | |
alias: Zigbee2MQTT Remove | |
sequence: | |
service: mqtt.publish | |
data_template: | |
topic: zigbee2mqtt/bridge/config/remove | |
payload_template: "{{ states.input_text.zigbee2mqtt_remove.state | string }}" | |
# Timer for joining time remaining | |
timer: | |
zigbee_permit_join: | |
name: Time remaining | |
sensor: | |
# Sensor for monitoring the bridge state | |
- platform: mqtt | |
name: Zigbee2MQTT Bridge state | |
state_topic: "zigbee2mqtt/bridge/state" | |
icon: mdi:router-wireless | |
# Sensor for Showing the Zigbee2MQTT Version | |
- platform: mqtt | |
name: Zigbee2MQTT Version | |
state_topic: "zigbee2mqtt/bridge/config" | |
value_template: "{{ value_json.version }}" | |
icon: mdi:zigbee | |
# Sensor for Showing the Coordinator Version | |
- platform: mqtt | |
name: Coordinator Version | |
state_topic: "zigbee2mqtt/bridge/config" | |
value_template: "{{ value_json.coordinator }}" | |
icon: mdi:chip | |
# Switch for enabling joining | |
switch: | |
- platform: mqtt | |
name: "Zigbee2MQTT Main join" | |
state_topic: "zigbee2mqtt/bridge/config/permit_join" | |
command_topic: "zigbee2mqtt/bridge/config/permit_join" | |
payload_on: "true" | |
payload_off: "false" | |
automation: | |
# Automation for sending MQTT message on input select change | |
- id: zigbee2mqtt_log_level | |
alias: Zigbee2MQTT log level | |
initial_state: "on" | |
trigger: | |
platform: state | |
entity_id: input_select.zigbee2mqtt_log_level | |
action: | |
- service: mqtt.publish | |
data: | |
payload_template: "{{ states('input_select.zigbee2mqtt_log_level') }}" | |
topic: zigbee2mqtt/bridge/config/log_level | |
# 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_successfull_interview" | |
alias: Zigbee Device Joined Notification | |
trigger: | |
platform: mqtt | |
topic: "zigbee2mqtt/bridge/log" | |
condition: | |
condition: template | |
value_template: '{{trigger.payload_json.type == "pairing" and trigger.payload_json.message == "interview_successful"}}' | |
action: | |
- service: persistent_notification.create | |
data_template: | |
title: Device joined the Zigbee2MQTT network | |
message: "Name: {{trigger.payload_json.meta.friendly_name}}, | |
Vendor: {{trigger.payload_json.meta.vendor}}, | |
Description: {{trigger.payload_json.meta.description}}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment