Advertisement
Guest User

Untitled

a guest
Jun 21st, 2022
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.20 KB | None | 0 0
  1. automation: #Mqtt trigger on keypads
  2. - alias: Alarm MQTT Triggers
  3. description: ""
  4. trigger:
  5. - platform: mqtt
  6. topic: zigbee2mqtt/Keypad_Backdoor
  7. payload: arm_all_zones
  8. value_template: "{{ value_json.action }}"
  9. id: keypad_bd_arm
  10. - platform: mqtt
  11. topic: zigbee2mqtt/Keypad_Backdoor
  12. payload: disarm
  13. value_template: "{{ value_json.action }}"
  14. id: keypad_bd_disarm
  15. - platform: mqtt
  16. topic: zigbee2mqtt/Keypad_Frontdoor
  17. payload: arm_all_zones
  18. value_template: "{{ value_json.action }}"
  19. id: keypad_fd_arm
  20. - platform: mqtt
  21. topic: zigbee2mqtt/Keypad_Frontdoor
  22. payload: disarm
  23. value_template: "{{ value_json.action }}"
  24. id: keypad_fd_disarm
  25. condition: []
  26. action:
  27. - choose:
  28. - conditions:
  29. - condition: template
  30. value_template: '{{ trigger.id == "keypad_bd_arm" }}'
  31. sequence:
  32. - service: input_text.set_value
  33. data_template:
  34. entity_id: input_text.keypad_selector
  35. value: "Backdoor"
  36. - service: alarmo.arm
  37. data:
  38. entity_id: alarm_control_panel.alarm_vbg
  39. code: "{{trigger.payload_json.action_code}}"
  40. mode: away
  41. - service: input_text.set_value
  42. data_template:
  43. entity_id: input_text.mqtt_transaction
  44. value: "{{ trigger.payload_json.action_transaction | string }}"
  45. - conditions:
  46. - condition: template
  47. value_template: '{{ trigger.id == "keypad_fd_arm" }}'
  48. sequence:
  49. - service: input_text.set_value
  50. data_template:
  51. entity_id: input_text.keypad_selector
  52. value: "Frontdoor"
  53. - service: alarmo.arm
  54. data:
  55. entity_id: alarm_control_panel.alarm_vbg
  56. code: "{{ trigger.payload_json.action_code}}"
  57. mode: away
  58. - service: input_text.set_value
  59. data_template:
  60. entity_id: input_text.mqtt_transaction
  61. value: "{{ trigger.payload_json.action_transaction | string }}"
  62. - conditions:
  63. - condition: template
  64. value_template: '{{ trigger.id == "keypad_bd_disarm" }}'
  65. sequence:
  66. - service: input_text.set_value
  67. data_template:
  68. entity_id: input_text.keypad_selector
  69. value: "Backdoor"
  70. - service: alarmo.disarm
  71. data:
  72. entity_id: alarm_control_panel.alarm_vbg
  73. code: "{{trigger.payload_json.action_code}}"
  74. - service: input_text.set_value
  75. data_template:
  76. entity_id: input_text.mqtt_transaction
  77. value: "{{ trigger.payload_json.action_transaction | string }}"
  78. - conditions:
  79. - condition: template
  80. value_template: '{{ trigger.id == "keypad_fd_disarm" }}'
  81. sequence:
  82. - service: input_text.set_value
  83. data_template:
  84. entity_id: input_text.keypad_selector
  85. value: "Frontdoor"
  86. - service: alarmo.disarm
  87. data:
  88. entity_id: alarm_control_panel.alarm_vbg
  89. code: "{{trigger.payload_json.action_code}}"
  90. - service: input_text.set_value
  91. data_template:
  92. entity_id: input_text.mqtt_transaction
  93. value: "{{ trigger.payload_json.action_transaction | string }}"
  94. default: []
  95. mode: single
  96.  
  97.  
  98.  
  99. #Automation to arm/disarm alarmo
  100. - alias: Alarm Arm/Disarm Alarmo
  101. description: ""
  102. trigger:
  103. - platform: state
  104. entity_id: alarm_control_panel.alarm_vbg
  105. to: arming
  106. id: arming
  107. - platform: state
  108. entity_id: alarm_control_panel.alarm_vbg
  109. to: disarmed
  110. id: disarmed
  111. - platform: state
  112. entity_id: alarm_control_panel.alarm_vbg
  113. to: armed_away
  114. id: armed_away
  115. - platform: event
  116. event_type: "alarmo_failed_to_arm"
  117. id: wrong_code
  118. condition: []
  119. action:
  120. - choose:
  121. - conditions:
  122. - condition: template
  123. value_template: '{{ trigger.id == "wrong_code" }}'
  124. sequence:
  125. - service: mqtt.publish
  126. data:
  127. topic: zigbee2mqtt/Keypad_Frontdoor/set
  128. payload: >-
  129. {"arm_mode":{"mode":"invalid_code","transaction":"{{
  130. states('input_text.mqtt_transaction') }}"}}
  131. - service: mqtt.publish
  132. data:
  133. topic: zigbee2mqtt/Keypad_Backdoor/set
  134. payload: >-
  135. {"arm_mode":{"mode":"invalid_code","transaction":"{{
  136. states('input_text.mqtt_transaction') }}"}}
  137. - conditions:
  138. - condition: template
  139. value_template: '{{ trigger.id == "arming" }}'
  140. sequence:
  141. - choose:
  142. - conditions:
  143. - condition: template
  144. value_template: "{{ is_state('input_text.keypad_selector', 'Frontdoor') }}"
  145. sequence:
  146. - service: mqtt.publish
  147. data:
  148. topic: zigbee2mqtt/Keypad_Frontdoor/set
  149. payload: '{"arm_mode":{"mode":"exit_delay"}}'
  150. - conditions:
  151. - condition: template
  152. value_template: "{{ is_state('input_text.keypad_selector', 'Backdoor') }}"
  153. sequence:
  154. - service: mqtt.publish
  155. data:
  156. topic: zigbee2mqtt/Keypad_Backdoor/set
  157. payload: '{"arm_mode":{"mode":"exit_delay"}}'
  158. - conditions:
  159. - condition: template
  160. value_template: '{{ trigger.id == "armed_away" }}'
  161. sequence:
  162. - service: mqtt.publish
  163. data:
  164. topic: zigbee2mqtt/Keypad_Backdoor/set
  165. payload: '{"arm_mode":{"mode":"arm_all_zones"}}'
  166. - service: mqtt.publish
  167. data:
  168. topic: zigbee2mqtt/Keypad_Frontdoor/set
  169. payload: '{"arm_mode":{"mode":"arm_all_zones"}}'
  170. - conditions:
  171. - condition: template
  172. value_template: '{{ trigger.id == "disarmed" }}'
  173. sequence:
  174. - service: mqtt.publish
  175. data:
  176. topic: zigbee2mqtt/Keypad_Frontdoor/set
  177. payload: '{"arm_mode":{"mode":"disarm"}}'
  178. - service: mqtt.publish
  179. data:
  180. topic: zigbee2mqtt/Keypad_Backdoor/set
  181. payload: '{"arm_mode":{"mode":"disarm"}}'
  182. default: []
  183. mode: single
  184.  
  185.  
  186.  
  187.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement