172 lines
4.5 KiB
YAML
172 lines
4.5 KiB
YAML
###############################################################################
|
|
# @author : Jeffrey Stone
|
|
# @date : 02/19/2019
|
|
# @package : Zigbee2mqtt
|
|
# @description : Zigbee2mqtt Config
|
|
###############################################################################
|
|
|
|
|
|
|
|
# Group
|
|
group:
|
|
zigbee_group:
|
|
view: false
|
|
control: hidden
|
|
name: Zigbee2mqtt
|
|
entities:
|
|
- input_boolean.zigbee_permit_join
|
|
- timer.zigbee_permit_join
|
|
- sensor.zigbee2mqtt_bridge_state
|
|
- switch.zigbee2mqtt_main_join
|
|
- automation.enable_zigbee_joining
|
|
- automation.disable_zigbee_joining
|
|
- automation.disable_zigbee_joining_by_timer
|
|
- input_select.zigbee2mqtt_log_level
|
|
- automation.zigbee2mqtt_log_level
|
|
|
|
# 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 boolean for enabling/disabling joining
|
|
input_boolean:
|
|
zigbee_permit_join:
|
|
name: Allow devices to join
|
|
initial: off
|
|
icon: mdi:cellphone-wireless
|
|
|
|
# Timer for joining time remaining (120 sec = 2 min)
|
|
timer:
|
|
zigbee_permit_join:
|
|
name: Time remaining
|
|
duration: 120
|
|
|
|
# Sensor for monitoring the bridge state
|
|
sensor:
|
|
- platform: mqtt
|
|
name: Zigbee2mqtt Bridge state
|
|
state_topic: "zigbee2mqtt/bridge/state"
|
|
icon: mdi:router-wireless
|
|
- platform: "mqtt"
|
|
name: "towerlight"
|
|
state_topic: "zigbee2mqtt/tower lamp"
|
|
availability_topic: "zigbee2mqtt/bridge/state"
|
|
unit_of_measurement: "-"
|
|
value_template: "{{ value_json.linkquality }}"
|
|
- platform: "mqtt"
|
|
state_topic: "zigbee2mqtt/rainbow light"
|
|
availability_topic: "zigbee2mqtt/bridge/state"
|
|
unit_of_measurement: "-"
|
|
value_template: "{{ value_json.linkquality }}"
|
|
|
|
# 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"
|
|
- platform: "mqtt"
|
|
name: "rainbowlight"
|
|
state_topic: "zigbee2mqtt/rainbow light"
|
|
availability_topic: "zigbee2mqtt/bridge/state"
|
|
payload_off: "OFF"
|
|
payload_on: "ON"
|
|
value_template: "{{ value_json.state }}"
|
|
command_topic: "zigbee2mqtt/rainbow light/set"
|
|
|
|
# Automations
|
|
automation:
|
|
- alias: Zigbee2mqtt Log Level
|
|
initial_state: 'on'
|
|
trigger:
|
|
- platform: state
|
|
entity_id: input_select.zigbee2mqtt_log_level
|
|
to: debug
|
|
- platform: state
|
|
entity_id: input_select.zigbee2mqtt_log_level
|
|
to: warn
|
|
- platform: state
|
|
entity_id: input_select.zigbee2mqtt_log_level
|
|
to: error
|
|
- platform: state
|
|
entity_id: input_select.zigbee2mqtt_log_level
|
|
to: info
|
|
action:
|
|
- service: mqtt.publish
|
|
data:
|
|
payload_template: '{{ states(''input_select.zigbee2mqtt_log_level'') }}'
|
|
topic: zigbee2mqtt/bridge/config/log_level
|
|
|
|
- id: enable_zigbee_join
|
|
alias: Enable Zigbee joining
|
|
hide_entity: true
|
|
trigger:
|
|
platform: state
|
|
entity_id: input_boolean.zigbee_permit_join
|
|
to: 'on'
|
|
action:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: zigbee2mqtt/bridge/config/permit_join
|
|
payload: 'true'
|
|
- service: timer.start
|
|
data:
|
|
entity_id: timer.zigbee_permit_join
|
|
|
|
- id: disable_zigbee_join
|
|
alias: Disable Zigbee joining
|
|
hide_entity: true
|
|
trigger:
|
|
- entity_id: input_boolean.zigbee_permit_join
|
|
platform: state
|
|
to: 'off'
|
|
action:
|
|
- data:
|
|
payload: 'false'
|
|
topic: zigbee2mqtt/bridge/config/permit_join
|
|
service: mqtt.publish
|
|
- data:
|
|
entity_id: timer.zigbee_permit_join
|
|
service: timer.cancel
|
|
|
|
- id: disable_zigbee_join_timer
|
|
alias: Disable Zigbee joining by timer
|
|
hide_entity: true
|
|
trigger:
|
|
- platform: event
|
|
event_type: timer.finished
|
|
event_data:
|
|
entity_id: timer.zigbee_permit_join
|
|
action:
|
|
- service: mqtt.publish
|
|
data:
|
|
topic: zigbee2mqtt/bridge/config/permit_join
|
|
payload: 'false'
|
|
- service: input_boolean.turn_off
|
|
data:
|
|
entity_id: input_boolean.zigbee_permit_join
|
|
|
|
light:
|
|
- platform: "mqtt"
|
|
name: "towerlamp"
|
|
state_topic: "zigbee2mqtt/tower lamp"
|
|
availability_topic: "zigbee2mqtt/bridge/state"
|
|
brightness: true
|
|
color_temp: true
|
|
xy: true
|
|
schema: "json"
|
|
command_topic: "zigbee2mqtt/tower lamp/set"
|
|
|
|
|
|
|