TTS služby - nechme HA hovořit

Co umí šablony a jak je využívat.
Odpovědět
Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

TTS služby - nechme HA hovořit

Příspěvek od Lion® »

Již jste naučili svého HA mluvit, nebo s tím teprve začínáte jako já.

Pochlubte se svými messages.

Moje první - vylepšená @Pete30 - Děkuji.
Dobré ráno! Dnes je <den_v_týdnu> <dnesni_datum>. <hodin:minut>. Za okny <venkovni_teplota> stupně Celsia. Přeji Vám krásný den.
[spoiler= tts dobré ráno - klikni pro rozbalení]

Kód: Vybrat vše

service: tts.cloud_say
data:
  entity_id: media_player.<vas_media_player>
  message: >-
    {% set weekday = ["Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"] %}
    {% set weekday = weekday[now().weekday()]%}
    Dobré ráno! Dnes je {{ weekday }} {{now().date()}}. {{now().strftime('%H:%m')}}.  Za okny {{ states('sensor.venkovni_teplota') | replace('.',',') }} stupně Celsia. Přeji Vám krásný den.
[/spoiler]
tts počasí s OpenWeatherMap
Počasí.
Situace:
Venkovní teplota: 5,51 stupně Celsia. Povětrnostní podmínky: Zataženo. Oblačnost: 100 procent. Vane Jihozápadní vítr o rychlosti 2,44 metrů za sekundu.
Vlhkost vzduchu: 91 procent. Pocitová teplopta 3,56 stupně Celsia. UV index: 0. Rosný bod: 4,2 stupně Celsia. Srážky: Žádné. Dešťové srážky za poslední hodinu: 0 milimetrů. Sněhová srážky za poslední hodinu: 0 milimetrů. Atmosferický tlak: 1026 hektoPaskalů. Povětrnostní podmínky dle ID: zataženo: 85 až 100 procent.
Předpověď:
Oblačnost 100 procent. Déšť Pravděpodobnost srážek 57 procent. Tlak 1027 hektoPaskalu. Maximální teplota: 5,63 stupně Celsia. Minimální teplota 3,98 stupně Celsia. Povane Západní vítr o rychlosti 5,62 metrů za sekundu.
[spoiler=tts počasí s OpenWeatherMap - klikutím rozbal ]
Je nutné se zaregistrovat a získat API key.
Získané API Key není funkční okamžitě, je nutné pár minut trpělivosti.
Pokud dáte integraci jméno >Počasí Home< nebudete muset v následujících šablonách měnit entity.

Potřebujeme vytvořit několik senzorů:

Kód: Vybrat vše

sensor:
  - platform: template
    sensors:
      owm_stav_pocasi:
        friendly_name: Stav počasí
        value_template: >-
          {%- set state = states('sensor.pocasi_home_condition') -%}
          {% if state == 'clear-night' %} Jasná noc
          {% elif state == 'cloudy' %} Zataženo
          {% elif state == 'exceptional' %} Varování
          {% elif state == 'fog' %} Mlhy
          {% elif state == 'hail' %} Kroupy
          {% elif state == 'lightning' %} Blesky
          {% elif state == 'lightning-rainy' %} Bouřky s deštěm
          {% elif state == 'partlycloudy' %} Polojasno
          {% elif state == 'pouring' %} Spršky
          {% elif state == 'rainy' %} Déšť
          {% elif state == 'snowy' %} Sněžení
          {% elif state == 'snowy-rainy' %} Sníh s deštěm
          {% elif state == 'sunny' %} Jasno
          {% elif state == 'windy' %} Větrno
          {% elif state == 'windy-variant' %} Proměnlivý vítr
          {% else %} Nejsou k dispozici žádná data
          {% endif %}
          
  - platform: template
    sensors:
      owm_druh_srazek:
        friendly_name: Druh srážek
        value_template: >-          
            {%- set state = states('sensor.pocasi_home_precipitation_kind')-%}
            {% if state == 'Rain' %} Dešťové
            {% elif state == 'Snow' %} Sněhové
            {% elif state == 'Snow and Rain' %} Sníh s deštěm
            {% elif state == 'None' %} Žádné
            {% else %} Nejsou k dispozici žádná data
            {% endif %}         
          
  - platform: template
    sensors:
      owm_smer_vetru:
        friendly_name: Směr větru
        value_template: >-   
            {% if states('sensor.pocasi_home_wind_bearing') | int >= 337.5 %} severní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 292.5 %} severozápadní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 247.5 %} západní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 202.5 %} jihozápadní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 157.5 %} jižní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 112.5 %} jihovýchodní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 67.5 %} východní
            {% elif states('sensor.pocasi_home_wind_bearing') | int >= 22.5 %} severovýchodní
            {% else %} severní
            {% endif %}
                      
  - platform: template
    sensors:
      owm_kod:
        friendly_name: ID povětrnostních podmínek
        value_template: >-
          {%- set state = states('sensor.pocasi_home_weather_code') -%}
          {% if state == '200' %}  bouřka se slabým deštem
          {% elif state == '200' %} bouřka se slabým deštěm
          {% elif state == '201' %} bouřka s deštěm
          {% elif state == '202' %} bouřka se silným deštěm
          {% elif state == '210' %} lehká bouřka
          {% elif state == '211' %} bouřka
          {% elif state == '212' %} silná bouřka
          {% elif state == '221' %} rozbouřená bouřka
          {% elif state == '230' %} bouřka se slabým mrholením
          {% elif state == '231' %} bouřka s mrholením
          {% elif state == '232' %} bouřka se silným mrholením
          {% elif state == '300' %} intenzita světla mrholení
          {% elif state == '301' %} mrholení
          {% elif state == '302' %} silné intenzivní mrholení
          {% elif state == '310' %} intenzita světla mrholení déšť
          {% elif state == '311' %} mrholení déšť
          {% elif state == '312' %} silný intenzivní mrholení
          {% elif state == '313' %} déšť a mrholení
          {% elif state == '314' %} vydatná přeháňka déšť a mrholení
          {% elif state == '321' %} přeháňka mrholení
          {% elif state == '500' %} lehký déšť
          {% elif state == '501' %} mírný déšť
          {% elif state == '502' %} silný intenzivní déšť
          {% elif state == '503' %} velmi silný déšť
          {% elif state == '504' %} extrémní déšť
          {% elif state == '511' %} mrazivý déšť
          {% elif state == '520' %} mírná přeháňka
          {% elif state == '521' %} přeháňka
          {% elif state == '522' %} silný liják
          {% elif state == '531' %} liják
          {% elif state == '600' %} slabé sněžení
          {% elif state == '601' %} Sníh
          {% elif state == '602' %} Silné sněžení
          {% elif state == '611' %} Plískanice
          {% elif state == '612' %} Lehká přeháňka se sněhem
          {% elif state == '613' %} Přeháňka se sněhem
          {% elif state == '615' %} Mírný déšť se sněhem
          {% elif state == '616' %} Déšť se sněhem
          {% elif state == '620' %} Slabé sněžení
          {% elif state == '621' %} sněhoová přeháňka
          {% elif state == '622' %} Silná sněhová přeháňka
          {% elif state == '701' %} mlha
          {% elif state == '711' %} Kouř
          {% elif state == '721' %} Opar
          {% elif state == '731' %} vířící se písek nebo prach
          {% elif state == '741' %} mlha
          {% elif state == '751' %} písek
          {% elif state == '761' %} prach
          {% elif state == '762' %} sopečný popel
          {% elif state == '771' %} bouře
          {% elif state == '781' %} tornádo
          {% elif state == '800' %} jasno
          {% elif state == '801' %} málo oblačnosti: 11 až 25 procent
          {% elif state == '802' %} rozptýlená oblačnost: 25 až 50 procent
          {% elif state == '803' %} oblačno: 51 až 84 procent
          {% elif state == '804' %} zataženo: 85 až 100 procent
          {% else %} Nejsou k dispozici žádná data
          {% endif %}
          
  - platform: template
    sensors:
      owm_predpoved_stav_pocasi:
        friendly_name: Předpověď stav počasí
        value_template: >-
          {%- set state = states('sensor.pocasi_home_forecast_condition') -%}
          {% if state == 'clear-night' %} Jasná noc
          {% elif state == 'cloudy' %} Zataženo
          {% elif state == 'exceptional' %} Varování
          {% elif state == 'fog' %} Mlhy
          {% elif state == 'hail' %} Kroupy
          {% elif state == 'lightning' %} Blesky
          {% elif state == 'lightning-rainy' %} Bouřky s deštěm
          {% elif state == 'partlycloudy' %} Polojasno
          {% elif state == 'pouring' %} Spršky
          {% elif state == 'rainy' %} Déšť
          {% elif state == 'snowy' %} Sněžení
          {% elif state == 'snowy-rainy' %} Sníh s deštěm
          {% elif state == 'sunny' %} Jasno
          {% elif state == 'windy' %} Větrno
          {% elif state == 'windy-variant' %} Proměnlivý vítr
          {% else %} Nejsou k dispozici žádná data
          {% endif %}          
          
  - platform: template
    sensors:
      owm_predpoved_smer_vetru:
        friendly_name: Předpověď směr větru
        value_template: >-   
            {% if states('sensor.pocasi_home_forecast_wind_bearing') | int >= 337.5 %} severní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 292.5 %} severozápadní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 247.5 %} západní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 202.5 %} jihozápadní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 157.5 %} jižní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 112.5 %} jihovýchodní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 67.5 %} východní
            {% elif states('sensor.pocasi_home_forecast_wind_bearing') | int >= 22.5 %} severovýchodní
            {% else %} severní
            {% endif %}          
  

Pro TTS využívám "script" který jen spouštím.

Kód: Vybrat vše

alias: 0002_tts_pocasi
sequence:
  - service: tts.cloud_say
    data:
      entity_id: media_player.googlehome9402
      message: >-
        Počasí. Situace. Venkovní teplota {{
        states('sensor.pocasi_home_temperature') | replace('-','mínus ')|
        replace('.',',')}} stupně Celsia. Povětrnostní podmínky {{
        states('sensor.owm_stav_pocasi')}}. Oblačnost {{
        states('sensor.pocasi_home_cloud_coverage')}} procent. Vane {{
        states('sensor.owm_smer_vetru')}} vítr o rychlosti {{
        states('sensor.pocasi_home_wind_speed')| replace('.',',')}} metrů za
        sekundu. Vlhkost vzduchu {{ states('sensor.pocasi_home_humidity') |
        replace('.',',') }} procent. Pocitová teplota {{
        states('sensor.pocasi_home_feels_like_temperature')| replace('-','mínus
        ')| replace('.',',')}} stupně Celsia. UV index {{
        states('sensor.pocasi_home_uv_index')}}. Rosný bod {{
        states('sensor.pocasi_home_dew_point')| replace('-','mínus ')|
        replace('.',',')}} stupně Celsia. Srážky {{
        states('sensor.owm_druh_srazek')}}. Dešťové srážky za poslední hodinu {{
        states('sensor.pocasi_home_rain')}} milimetrů. Sněhové srážky za
        poslední hodinu {{ states('sensor.pocasi_home_snow')}} milimetrů.
        Atmosferický tlak {{ states('sensor.pocasi_home_pressure')}} hekto
        paskalů. Povětrnostní podmínky dle aj dý {{ states('sensor.owm_kod')}}.

        Předpověď. Oblačnost {{
        states('sensor.pocasi_home_forecast_cloud_coverage')}} procent. Povětrnostní podmínky {{
        states('sensor.owm_predpoved_stav_pocasi')}}. Pravděpodobnost srážek {{
        states('sensor.pocasi_home_forecast_precipitation_probability')}}
        procent. Atmosferický tlak {{
        states('sensor.pocasi_home_forecast_pressure')}} hekto paskalů.
        Maximální teplota {{ states('sensor.pocasi_home_forecast_temperature')|
        replace('-','mínus ')| replace('.',',')}} stupně Celsia. Minimální
        teplota {{ states('sensor.pocasi_home_forecast_temperature_low')|
        replace('-','mínus ')| replace('.',',')}} stupně Celsia. Povane {{
        states('sensor.owm_predpoved_smer_vetru')}} vítr o rychlosti {{
        states('sensor.pocasi_home_forecast_wind_speed')| replace('.',',')}}
        metrů za sekundu.
mode: single
icon: mdi:weather-cloudy




[/spoiler]
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

Můžeš objasnit, Říká teplotu jak tatar :lol: :lol:
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: TTS služby - nechme HA hovořit

Příspěvek od Lion® »

Pete30 píše: 08. únor 2022, 20:29 Můžeš objasnit, Říká teplotu jak tatar :lol: :lol:
"Za okny dvačtyři stupně Celsia"
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

Co třeba takto ;)

Kód: Vybrat vše

Za okny {{ states('sensor.venkovni_teplota') | replace('.',',') }} stupně
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: TTS služby - nechme HA hovořit

Příspěvek od Lion® »

Pete30 píše: 08. únor 2022, 20:35 Co třeba takto ;)

Kód: Vybrat vše

Za okny {{ states('sensor.venkovni_teplota') | replace('.',',') }} stupně
Bezvadný - tohle bych do kupy nedal.
díky
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

Není zač, on syn občas poradí když mi něco vytáčí :lol: :lol: já sám bych to taky nedal ;)
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

Dobrý jsou ty dny v týdnu, já to mám jako senzor a beru do zprávy jen stav entity.
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Lion®
Administrátor fóra
Administrátor fóra
Příspěvky: 1604
Registrován: 28. září 2020, 14:07
Bydliště: podkrkonoší
Dal poděkování: 144 poděkování
Dostal poděkování: 193 poděkování
Kontaktovat uživatele:

Re: TTS služby - nechme HA hovořit

Příspěvek od Lion® »

Pete30 píše: 08. únor 2022, 20:47 Není zač, on syn občas poradí když mi něco vytáčí :lol: :lol: já sám bych to taky nedal ;)
to je tak triviální, až je to úplně blbý...
jako_facka.PNG
________________
🍻 Přispěj a získej přístup do obsahu fóra pro dárce. :thx:
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box

Galerie realizací

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

To je :lol: ono to replace a další to vlastně dělá ve významu nahradit a tts neřeší tečku, ale čárku čte jako desetinné místo
Pokud nejsem přítomen tak jsem na rybách ;)

Uživatelský avatar
Pete30
Moderátor
Moderátor
Příspěvky: 3333
Registrován: 30. září 2020, 20:33
Dal poděkování: 172 poděkování
Dostal poděkování: 364 poděkování

Re: TTS služby - nechme HA hovořit

Příspěvek od Pete30 »

Ještě nějak pořešit příklad : 5 stupňů a 2 stupně a je to dokonalé ;)
Zatím jsem to neřešil protože jsem nechal oznámení o teplotě doma a to je vždy ok a venkovní teplotu jsem zaokrouhlil na celou bez slova na konci a tak je to taky ok zatím.
Pokud nejsem přítomen tak jsem na rybách ;)

Odpovědět

Zpět na „Šablony“