Geilgeilgeil. Ich weiß nur noch nicht, obs funktioniert 🙂
Sollte aber, mit einem Trigger “Licht aus” funktioniert es jedenfalls.
Ziel: Wenn der Staubsauger (wir nennen ihn Adele) ein Problem hat, soll er das bitte melden. Probleme könnten zwei sein: Dreckbehälter voll und festgefahren
- alias: Adele voll trigger: platform: template value_template: "{%if is_state_attr('vacuum.adele', 'bin_full', true) %}true{%endif%}" action: - service: notify.ios_loopback data: message: 'Bitte Adele entleeren!' - service: script.sonos_say data: sonos_entity: media_player.arbeitszimmer volume: 0.3 message: 'Adele hat die Windeln voll.' delay: '00:00:03' - alias: Adele festgefahren trigger: platform: template value_template: "{%if is_state_attr('vacuum.adele', 'Stuck', true) %}true{%endif%}" action: - service: notify.ios_loopback data: message: 'Bitte Adele befreien.' - service: script.sonos_say data: sonos_entity: media_player.arbeitszimmer volume: 0.3 message: 'Adele hat sich festgefahren.' delay: '00:00:03'
Und dazu noch das Skript:
sonos_say: alias: 'Sonos TTS script' sequence: - service: sonos.snapshot data_template: entity_id: "{{ sonos_entity }}" - service: sonos.unjoin data_template: entity_id: "{{ sonos_entity }}" - service: media_player.volume_set data_template: entity_id: "{{ sonos_entity }}" volume_level: "{{ volume }}" - service: tts.google_say data_template: entity_id: "{{ sonos_entity }}" message: "{{ message }}" - delay: "{{ delay }}" - service: sonos.restore data_template: entity_id: "{{ sonos_entity }}"
Geil sind dabei die zwei Funktionen sonos.snapshot
und sonos.restore
— die machen genau das: Status (Gruppen, aktuelles Abspielobjekt) vor der Sprachausgabe sichern und danach den Ausgangszustand wiederherstellen.
Mal morgen sehen, ob das auch wirklich so funktioniert.
Auf dem Reißbrett jedenfalls sieht es gut aus 🙂
1 Comment
Add a Comment