Caldin-Maldin

Фригат

Feb 21st, 2026
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.03 KB | None | 0 0
  1. triggers:
  2. - topic: frigate/reviews
  3. payload: new
  4. value_template: "{{ value_json.type }}"
  5. id: new
  6. trigger: mqtt
  7. - topic: frigate/reviews
  8. payload: end
  9. value_template: "{{ value_json.type }}"
  10. id: end
  11. trigger: mqtt
  12. - event_type: telegram_callback
  13. event_data:
  14. command: /get_video
  15. id: video
  16. trigger: event
  17. conditions: []
  18. actions:
  19. - choose:
  20. - conditions:
  21. - condition: trigger
  22. id:
  23. - new
  24. - condition: template
  25. value_template: |-
  26. {{ ((trigger.payload_json["after"]["camera"]) == "street") or
  27. ((trigger.payload_json["after"]["camera"]) == "yard_above") or
  28. ((trigger.payload_json["after"]["camera"]) == "yard_side") }}
  29. - condition: template
  30. value_template: |-
  31. {{ states("binary_sensor.vladimir_not_home") == "on" and
  32. states("person.vladimir") != "home" }}
  33. enabled: false
  34. - condition: or
  35. conditions:
  36. - condition: template
  37. value_template: |-
  38. {{ states("binary_sensor.vladimir_not_home") == "on" and
  39. states("person.vladimir") != "home" and
  40. (trigger.payload_json["after"]["camera"]) == "street" }}
  41. - condition: template
  42. value_template: |-
  43. {{ states("binary_sensor.vladimir_not_home") == "on" and
  44. states("binary_sensor.all_out_home") == "on" }}
  45.  
  46.  
  47. sequence:
  48. - variables:
  49. id: "{{ trigger.payload_json['after']['data']['detections'] | min }}"
  50. label: "{{ trigger.payload_json['after']['data']['objects'][0] }}"
  51. start_time: "{{ trigger.payload_json[\"after\"][\"start_time\"] }}"
  52. camera: "{{ trigger.payload_json[\"after\"][\"camera\"] }}"
  53. enabled: true
  54. - parallel:
  55. - sequence:
  56. - data:
  57. target: 123
  58. url: >-
  59. http://192.168.1.13:5000/api/events/{{id}}/snapshot.jpg?bbox=1&crop=1&timestamp=1
  60. caption: >
  61. {% if ((label == "car") or (label == "car-verified"))
  62. and (camera == "street")%} 🚗 Машина на улице. {% elif
  63. (label == "person") and (camera == "street")%} 🙍‍♂️
  64. Кто-то на улице. {% elif (label == "cat") and (camera
  65. == "street")%} 🐱 Кот на улице. {% elif (label == "dog")
  66. and (camera == "street")%} 🐶 Собака на улице. {% elif
  67. (label == "person") and ((camera == "yard_above") or
  68. (camera == "yard_side"))%} 🙍‍♂️ Кто-то во дворе. {%
  69. elif (label == "cat") and ((camera == "yard_above") or
  70. (camera == "yard_side"))%} 🐱 Кот во дворе. {% elif
  71. (label == "dog") and ((camera == "yard_above") or
  72. (camera == "yard_side"))%} 🐶 Собака во дворе. {% endif
  73. %} Время фиксации {{start_time |
  74. timestamp_custom("%H-%M") }} часов.
  75. message_tag: frigate_tag
  76. action: telegram_bot.send_photo
  77. - data:
  78. target: 123
  79. url: http://192.168.1.13:5000/api/{{camera}}/latest.jpg
  80. caption: >-
  81. Текущие фото с камеры{% if (camera == "street")%} на
  82. улице.{% elif (camera == "yard_above")%} во дворе
  83. сверху.{% elif (camera == "yard_side")%} во дворе
  84. сбоку.{% endif %}
  85. action: telegram_bot.send_photo
  86. - sequence:
  87. - wait_for_trigger:
  88. - trigger: event
  89. event_type: telegram_sent
  90. event_data:
  91. message_tag: frigate_tag
  92. continue_on_timeout: true
  93. timeout:
  94. hours: 0
  95. minutes: 0
  96. seconds: 30
  97. milliseconds: 0
  98. - condition: template
  99. value_template: |
  100. {{label == "car" or
  101. label == "car-verified"}}
  102. - action: input_number.set_value
  103. data_template:
  104. entity_id: input_number.chat_id
  105. value: "{{ wait.trigger.event.data.chat_id }}"
  106. - action: input_number.set_value
  107. data_template:
  108. entity_id: input_number.message_id
  109. value: "{{ wait.trigger.event.data.message_id }}"
  110. - wait_for_trigger:
  111. - trigger: state
  112. entity_id:
  113. - sensor.license_plate
  114. timeout:
  115. hours: 0
  116. minutes: 5
  117. seconds: 0
  118. milliseconds: 0
  119. continue_on_timeout: false
  120. - delay:
  121. hours: 0
  122. minutes: 0
  123. seconds: 10
  124. milliseconds: 0
  125. - action: telegram_bot.edit_caption
  126. data:
  127. message_id: "{{ states('input_number.message_id')}}"
  128. chat_id: "{{ states('input_number.chat_id')}}"
  129. caption: >
  130. {% if (label == "car") and (camera == "street")%} 🚗
  131. Машина с номером {{states("sensor.license_plate") |
  132. regex_replace('^([A-Za-z]{1})([A-Za-z\d]+?)(\d{2,3})$',
  133. '\\1\\2 \\3') | replace('Y', 'У')}}rus обнаружена на
  134. улице. {% elif (label == "person") and (camera ==
  135. "street")%} 🙍‍♂️ Кто-то на улице. {% elif (label ==
  136. "cat") and (camera == "street")%} 🐱 Кот на улице. {%
  137. elif (label == "dog") and (camera == "street")%} 🐶
  138. Собака на улице. {% elif (label == "person") and
  139. ((camera == "yard_above") or (camera == "yard_side"))%}
  140. 🙍‍♂️ Кто-то во дворе. {% elif (label == "cat") and
  141. ((camera == "yard_above") or (camera == "yard_side"))%}
  142. 🐱 Кот во дворе. {% elif (label == "dog") and ((camera
  143. == "yard_above") or (camera == "yard_side"))%} 🐶 Собака
  144. во дворе. {% endif %} Время фиксации {{start_time |
  145. timestamp_custom("%H-%M") }} часов.
  146. - delay:
  147. hours: 0
  148. minutes: 0
  149. seconds: 15
  150. milliseconds: 0
  151. - action: telegram_bot.edit_caption
  152. data:
  153. message_id: "{{ states('input_number.message_id')}}"
  154. chat_id: "{{ states('input_number.chat_id')}}"
  155. caption: >
  156. {% if (label == "car") and (camera == "street")%} 🚗
  157. Машина с номером {{states("sensor.license_plate") |
  158. regex_replace('^([A-Za-z]{1})([A-Za-z\d]+?)(\d{2,3})$',
  159. '\\1\\2 \\3') | replace('Y', 'У')}}rus обнаружена на
  160. улице. {% elif (label == "person") and (camera ==
  161. "street")%} 🙍‍♂️ Кто-то на улице. {% elif (label ==
  162. "cat") and (camera == "street")%} 🐱 Кот на улице. {%
  163. elif (label == "dog") and (camera == "street")%} 🐶
  164. Собака на улице. {% elif (label == "person") and
  165. ((camera == "yard_above") or (camera == "yard_side"))%}
  166. 🙍‍♂️ Кто-то во дворе. {% elif (label == "cat") and
  167. ((camera == "yard_above") or (camera == "yard_side"))%}
  168. 🐱 Кот во дворе. {% elif (label == "dog") and ((camera
  169. == "yard_above") or (camera == "yard_side"))%} 🐶 Собака
  170. во дворе. {% endif %} Время фиксации {{start_time |
  171. timestamp_custom("%H-%M") }} часов.
  172. - conditions:
  173. - condition: trigger
  174. id:
  175. - end
  176. - condition: template
  177. value_template: |-
  178. {{ ((trigger.payload_json["after"]["camera"]) == "street") or
  179. ((trigger.payload_json["after"]["camera"]) == "yard_above") or
  180. ((trigger.payload_json["after"]["camera"]) == "yard_side") }}
  181. enabled: true
  182. - condition: template
  183. value_template: |-
  184. {{ states("binary_sensor.vladimir_not_home") == "on" and
  185. states("person.vladimir") != "home" }}
  186. enabled: false
  187. - condition: or
  188. conditions:
  189. - condition: template
  190. value_template: |-
  191. {{ states("binary_sensor.vladimir_not_home") == "on" and
  192. states("person.vladimir") != "home" and
  193. (trigger.payload_json["after"]["camera"]) == "street" }}
  194. - condition: template
  195. value_template: |-
  196. {{ states("binary_sensor.vladimir_not_home") == "on" and
  197. states("binary_sensor.all_out_home") == "on" }}
  198. sequence:
  199. - variables:
  200. label: "{{ trigger.payload_json['after']['data']['objects'][0] }}"
  201. id: "{{ trigger.payload_json['after']['data']['detections'] | min }}"
  202. camera: "{{ trigger.payload_json['after']['camera'] }}"
  203. objects: "{{ trigger.payload_json['after']['data']['objects'] }}"
  204. start: "{{ trigger.payload_json['after']['start_time'] - 10 }}"
  205. end: "{{ trigger.payload_json['after']['end_time'] + 5 }}"
  206. - data:
  207. url: >-
  208. http://192.168.1.13:5000/api/{{camera}}/start/{{start}}/end/{{end}}/preview.mp4
  209. target: 123
  210. caption: >-
  211. <a
  212. href="https://frigate.xxxxxxx.pro/api/{{camera}}/start/{{start}}/end/{{end}}/clip.mp4">Видео
  213. от {{start | timestamp_custom("%H.%M часов %d.%m.%Y года " )}}
  214. </a>
  215. inline_keyboard:
  216. - >-
  217. Посмотреть видео:/get_video {{camera}} {{label}} {{start}}
  218. {{end}}
  219. action: telegram_bot.send_video
  220. - data:
  221. target: 123
  222. message: >-
  223. {% set object_name = { "cat": "кот", "dog": "собака", "person":
  224. "человек", "car": "машина" } %} {% set object = label %}
  225.  
  226. Обнаружен объект: {% for key in object_name.keys() %}
  227. {% if key == object %}
  228. {{ object_name[key] }}
  229. {% endif %}
  230. {% endfor %}
  231. action: telegram_bot.send_message
  232. enabled: false
  233. - conditions:
  234. - condition: trigger
  235. id:
  236. - video
  237. sequence:
  238. - variables:
  239. time: "{{trigger.event.data.args[3] }}"
  240. enabled: true
  241. - data:
  242. url: >-
  243. http://192.168.1.13:5000/api/{{trigger.event.data.args[0]}}/start/{{trigger.event.data.args[2]}}/end/{{trigger.event.data.args[3]}}/clip.mp4
  244. caption: >-
  245. Запись движения {% if (trigger.event.data.args[1] ==
  246. "person")%}человека {% elif (trigger.event.data.args[1] ==
  247. "car")%}машины {% endif %}{{trigger.event.data.args[2] | float |
  248. timestamp_custom("в %H.%M часов %d.%m.%Y года " )}}{% if
  249. (trigger.event.data.args[0] == "street")%}на улице{% elif
  250. (trigger.event.data.args[0] == "yard_side") or
  251. (trigger.event.data.args[0] == "yard_above") %}во дворе{% endif
  252. %}.
  253. target: 123
  254. action: telegram_bot.send_video
  255. mode: parallel
  256. max: 10
  257. trace:
  258. stored_traces: 50
Advertisement
Add Comment
Please, Sign In to add comment