Caldin-Maldin

Будильник и таймер Rhasspy

May 7th, 2023
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.82 KB | None | 0 0
  1. alias: Test
  2. description: ""
  3. trigger:
  4. - platform: event
  5. event_data: {}
  6. event_type: "rhasspy_Alarm "
  7. condition: []
  8. action:
  9. - choose:
  10. - conditions:
  11. - condition: template
  12. value_template: "{{ trigger.event.data._text.split (' ')[1] == \"будильник\" }}"
  13. sequence:
  14. - service: mqtt.publish
  15. data:
  16. topic: hermes/dialogueManager/continueSession
  17. payload_template: >-
  18. {"sessionId": "{{ trigger.event.data._intent.sessionId }}",
  19. "text": "Хорошо, на какое время поставить будильник?"}
  20. - wait_for_trigger:
  21. - platform: event
  22. event_data: {}
  23. event_type: rhasspy_TimeDateToText
  24. - service: mqtt.publish
  25. data:
  26. topic: hermes/dialogueManager/endSession
  27. payload_template: >-
  28. {"sessionId": "{{ trigger.event.data._intent.sessionId }}",
  29. "text": "Хорошо, установила будильник на
  30. {{wait.trigger.event.data._text}}"}
  31. - wait_for_trigger:
  32. - platform: template
  33. value_template: |
  34. {% set h_need = wait.trigger.event.data._text.split ('ч')[0] | int %}
  35. {% set m_need = wait.trigger.event.data._text.split (' ')[2] | int %}
  36. {% set h_now = as_timestamp(now()) | timestamp_custom("%H") | int %}
  37. {% set m_now = as_timestamp(now()) | timestamp_custom("%M") | int %}
  38. {{ h_need == h_now and m_need == m_now }}
  39. - service: tts.marytts_say
  40. data:
  41. cache: false
  42. entity_id: media_player.kitchen_media_player
  43. message: Дзинь-дзинь, Дзинь-дзинь
  44. - conditions:
  45. - condition: template
  46. value_template: "{{ trigger.event.data._text.split (' ')[1] == \"таймер\" }} "
  47. sequence:
  48. - service: mqtt.publish
  49. data:
  50. topic: hermes/dialogueManager/continueSession
  51. payload_template: >-
  52. {"sessionId": "{{ trigger.event.data._intent.sessionId }}",
  53. "text": "Хорошо, на сколько запустить таймер?"}
  54. - wait_for_trigger:
  55. - platform: event
  56. event_data: {}
  57. event_type: rhasspy_TimeDateToText
  58. - service: mqtt.publish
  59. data:
  60. topic: hermes/dialogueManager/endSession
  61. payload_template: >-
  62. {"sessionId": "{{ trigger.event.data._intent.sessionId }}",
  63. "text": "Хорошо, установила таймер на
  64. {{wait.trigger.event.data._text}}"}
  65. - delay:
  66. hours: 0
  67. minutes: |
  68. {% set t = wait.trigger.event.data._text %}
  69. {% if "час" in t and "минут" in t%}
  70. {% set h_need = t.split ('ч')[0] | int * 60 %}
  71. {% set m_need = t.split (' ')[2] | int %}
  72. {% set timer = h_need + m_need %}
  73. {% elif "минут" in t %}
  74. {% set m_need = t.split ('м')[0] | int %}
  75. {% set timer = m_need %}
  76. {% elif "час" in t %}
  77. {% set h_need = t.split ('ч')[0] | int * 60 %}
  78. {% set timer = h_need %}
  79. {% endif %}
  80.  
  81. {{ timer }}
  82. seconds: 0
  83. milliseconds: 0
  84. - service: tts.marytts_say
  85. data:
  86. cache: false
  87. entity_id: media_player.kitchen_media_player
  88. message: Дзинь-дзинь, Дзинь-дзинь
  89. mode: single
  90.  
Advertisement
Add Comment
Please, Sign In to add comment