Home Assistant: Open source Python3 home automation - deel 5 Vorige deel Overzicht

Pagina: 1 ... 401 402 Laatste
Acties:

  • TWKterry
  • Registratie: Januari 2001
  • Laatst online: 16:33

TWKterry

Master Mariner

Ik probeer in de Weather Forecast Extended card de regen voorspelling van NL_weather via nowcast te laten zien. XXX is mijn weer sensor.
YAML:
1
2
3
nowcast_entity: sensor.weer_XXX_precipitation_expected
nowcast_layout: pager
nowcast_always_show: true
Helaas wil dat niet echt lukken, iemand het wel werkende of een goede tip?

  • janvanduschoten
  • Registratie: Januari 2010
  • Laatst online: 02:30

janvanduschoten

Moderator Mobile

Nr. 346

Adam1980 schreef op maandag 22 juni 2026 @ 21:54:
Ik zag net bij een YouTuber die ik volg gebruik maken van een mcp, hij gebruikte Claude om HA vanalles te laten doen. Is dit inderdaad een soort God-mode binnen HA? Of zit er nog een (extra) adder(tje) onder het gras.

(Ik snap dat het schrijven van code en het begrijpen hoe alles werkt naar de achtergrond gaat verdwijnen als je deze tool gaat inzetten.)
Ik ben een erg tevreden gebruiker van Claude in HA via MCP.

Met de gratis verie kan ik meestal prima uit de voeten. Het is verstandig om duidelijke regels in te stellen (niets wijzigen zonder toestemming bijvoorbeeld) en uiteindelijk loopt het via de servers van Anthropic. Je kunt uiteraard ook instellen dat je een uitleg krijgt over wat het doet, dan leer je (ik wel iig) steeds beter hoe je dingen in HA kunt instellen.

Ik laat Claude automatiseringen maken, bestaande pas ik ermee aan, het logboek controleren en met oplossingen komen, het maakt m'n dashboard zoals ik het zelf niet zou kunnen maken.

Post op persoonlijke titel, tenzij in het blauw


  • Ruimzicht
  • Registratie: Juni 2004
  • Laatst online: 24-06 10:52
janvanduschoten schreef op dinsdag 23 juni 2026 @ 14:10:
Ik ben een erg tevreden gebruiker van Claude in HA via MCP.
+1: ik laat min of meer dezelfde (lichte) taken als jij op die manier uitvoeren. Op die manier is het inderdaad erg leerzaam maar ik blijf ook voorzichtig met wat ik Claude precies "zelf" laat doen. Dat is prima in te regelen zoals je wil.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:26

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Out.of.Control Welke integratie gebruik je? Want wel eens gezien bij Home Wizard maar zat er werkelijk een serienummer in de naam. Zo random een 2 en 3 is raar.

Sensor zoals @Eboman aangeeft is zinloos. Een template sensor werkt alleen op de huidige state, niet de history.

Denk dat je ze zou kunnen mergen door inderdaad de niet meer in gebruik zijnde te verwijderen en dan de ander ter hernoemen. Maar begin met een backup, dan zit je safe. (Mits je natuurlijk wel de encryptie key van je backup ook opgeslagen hebt.)

Dus:
- Backup
- sensor.gas_meter_gas_consumption weg
- sensor.gas_meter_gas_consumption_2 hernoemen naar sensor.gas_meter_gas_consumption
- sensor.gas_meter_gas_consumption
- sensor.gas_meter_gas_consumption_3 hernoemen naar sensor.gas_meter_gas_consumption

  • RvL
  • Registratie: Maart 2002
  • Laatst online: 18:57

RvL

Pubers, ze kunnen soms zo leuk zijn...

Als ze zich terugtrekken op hun kamer met de deur dicht en je wil ze roepen voor het eten bijvoorbeeld. Telefoons? Op stil. Dus schreeuwen door het huis. Nou, daar was ik zo klaar mee....

Toen bedacht ik dat ik Google TTS in HA heb zitten. En ze hebben allebei een connected speaker op hun kamer: dochterlief een Sonos Symfonisk en zoonlief een oude Harman Kardon Citation 700. Daar moet ik toch wat mee kunnen?

Met de Sonos speakers is het heel eenvoudig. Je gooit er een TTS bericht naartoe, als er wat speelt wordt dat gedempt, bericht wordt afgespeeld en daarna vervolgt de originele bron.

De Citation was lastiger. Dit is een Google Cast apparaat en als er een TTS bericht op afgespeeld wordt gaat die niet terug naar de originele bron. Daar zijn ook geen entiteiten/acties voor in HA. Uiteindelijk stuitte ik op een post op de HA community: die Harman Kardon blijkt een lokale API te hebben waarmee de bron gezet kan worden. Dus YAML aangemaakt die de API aanroept.

Vervolgens een script opgezet wat:
- bericht afspeelt
- originele bron herstelt

Zoals ik al aangaf gaat dat met Sonos heel makkelijk. Voor de Citation is het bericht afspelen niet zo moeilijk, maar als je de bron terug wil zetten zal je moeten weten hoe lang het bericht duurt. AI kwam hier met een goede oplossing: TTS spreekt in Nederlands ongeveer 10 karakters per seconde. Dus door de lengte van de tekst te nemen, dat te delen door 10 en naar boven af te ronden zit je heel behoorlijk. Daarna via de API de bron terug zetten.

De eerste test bezorgde me een enorm boze puber: haar speaker stond nog op standje discotheek en ze zat zonder muziek te leren. Die boodschap dat het eten klaar was kwam letterlijk nogal binnen :o

Dus toegevoegd dat het volume op 40% wordt gezet als er niets afgespeeld wordt. Anders wordt het huidige afspeelvolume gebruikt.

Nog wat leuke dingen erbij zoals een vooraankondiging en we hebben zowaar een simpel Intercom systeem in huis!
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
alias: Intercom verzenden
mode: queued

sequence:
  - variables:
      bestemming: "{{ states('input_select.intercom_bestemming') }}"
      bericht: "{{ states('input_text.intercom_bericht') }}"

      speakers: >
        {% if bestemming == 'Thijs' %}
          ['media_player.soundbar_thijs']

        {% elif bestemming == 'Vera' %}
          ['media_player.slaapkamer_vera']

        {% elif bestemming == 'Woonkamer' %}
          ['media_player.woonkamer']

        {% elif bestemming == 'Keuken' %}
          ['media_player.keuken']

        {% elif bestemming == 'Vera en Thijs' %}
          ['media_player.slaapkamer_vera', 'media_player.soundbar_thijs']

        {% endif %}

  - repeat:
      for_each: "{{ speakers }}"
      sequence:

        - variables:
            speaker_is_playing: >
              {{ states(repeat.item) == 'playing' }}

            original_volume: >
              {{ state_attr(repeat.item, 'volume_level') | default(0.4) }}

            volledige_tekst: >
              Bericht voor {{ bestemming }}.
              {{ bericht }}

        # Volume alleen aanpassen als er niets speelt
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: 0.4

        - choose:

            # Sonos / Symfonisk
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item != 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

            # Citation
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item == 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

                - delay:
                    seconds: >
                      {{ [
                          4,
                          ((volledige_tekst | length) / 10) | round(0, 'ceil')
                        ] | max }}

                - action: rest_command.citation_set_optical

        # Volume terugzetten indien aangepast
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: "{{ original_volume }}"
Input komt van een simpele kaart met een dropdown voor de ontvanger en een tekstinvoer voor het bericht.

Eerlijkheidshalve moet ik wel zeggen dat ik ChatGPT vooral gevoed heb met wat ik wil hebben. Het script is van de hand van ChatGPT. Ik begrijp echter wel wat het script doet ;)

Verbeteringen zijn dan ook altijd welkom!

[ Voor 0% gewijzigd door Septillion op 23-06-2026 20:03 . Reden: Yaml code tags ]

Liefde maakt een smal bed breed!
Nu de dekens nog...


  • Sharky
  • Registratie: September 1999
  • Laatst online: 15:36

Sharky

Skamn Dippy!

RvL schreef op dinsdag 23 juni 2026 @ 19:43:
Pubers, ze kunnen soms zo leuk zijn...

Als ze zich terugtrekken op hun kamer met de deur dicht en je wil ze roepen voor het eten bijvoorbeeld. Telefoons? Op stil. Dus schreeuwen door het huis. Nou, daar was ik zo klaar mee....

Toen bedacht ik dat ik Google TTS in HA heb zitten. En ze hebben allebei een connected speaker op hun kamer: dochterlief een Sonos Symfonisk en zoonlief een oude Harman Kardon Citation 700. Daar moet ik toch wat mee kunnen?

Met de Sonos speakers is het heel eenvoudig. Je gooit er een TTS bericht naartoe, als er wat speelt wordt dat gedempt, bericht wordt afgespeeld en daarna vervolgt de originele bron.

De Citation was lastiger. Dit is een Google Cast apparaat en als er een TTS bericht op afgespeeld wordt gaat die niet terug naar de originele bron. Daar zijn ook geen entiteiten/acties voor in HA. Uiteindelijk stuitte ik op een post op de HA community: die Harman Kardon blijkt een lokale API te hebben waarmee de bron gezet kan worden. Dus YAML aangemaakt die de API aanroept.

Vervolgens een script opgezet wat:
- bericht afspeelt
- originele bron herstelt

Zoals ik al aangaf gaat dat met Sonos heel makkelijk. Voor de Citation is het bericht afspelen niet zo moeilijk, maar als je de bron terug wil zetten zal je moeten weten hoe lang het bericht duurt. AI kwam hier met een goede oplossing: TTS spreekt in Nederlands ongeveer 10 karakters per seconde. Dus door de lengte van de tekst te nemen, dat te delen door 10 en naar boven af te ronden zit je heel behoorlijk. Daarna via de API de bron terug zetten.

De eerste test bezorgde me een enorm boze puber: haar speaker stond nog op standje discotheek en ze zat zonder muziek te leren. Die boodschap dat het eten klaar was kwam letterlijk nogal binnen :o

Dus toegevoegd dat het volume op 40% wordt gezet als er niets afgespeeld wordt. Anders wordt het huidige afspeelvolume gebruikt.

Nog wat leuke dingen erbij zoals een vooraankondiging en we hebben zowaar een simpel Intercom systeem in huis!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
alias: Intercom verzenden
mode: queued

sequence:
  - variables:
      bestemming: "{{ states('input_select.intercom_bestemming') }}"
      bericht: "{{ states('input_text.intercom_bericht') }}"

      speakers: >
        {% if bestemming == 'Thijs' %}
          ['media_player.soundbar_thijs']

        {% elif bestemming == 'Vera' %}
          ['media_player.slaapkamer_vera']

        {% elif bestemming == 'Woonkamer' %}
          ['media_player.woonkamer']

        {% elif bestemming == 'Keuken' %}
          ['media_player.keuken']

        {% elif bestemming == 'Vera en Thijs' %}
          ['media_player.slaapkamer_vera', 'media_player.soundbar_thijs']

        {% endif %}

  - repeat:
      for_each: "{{ speakers }}"
      sequence:

        - variables:
            speaker_is_playing: >
              {{ states(repeat.item) == 'playing' }}

            original_volume: >
              {{ state_attr(repeat.item, 'volume_level') | default(0.4) }}

            volledige_tekst: >
              Bericht voor {{ bestemming }}.
              {{ bericht }}

        # Volume alleen aanpassen als er niets speelt
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: 0.4

        - choose:

            # Sonos / Symfonisk
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item != 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

            # Citation
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item == 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

                - delay:
                    seconds: >
                      {{ [
                          4,
                          ((volledige_tekst | length) / 10) | round(0, 'ceil')
                        ] | max }}

                - action: rest_command.citation_set_optical

        # Volume terugzetten indien aangepast
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: "{{ original_volume }}"
Input komt van een simpele kaart met een dropdown voor de ontvanger en een tekstinvoer voor het bericht.

Eerlijkheidshalve moet ik wel zeggen dat ik ChatGPT vooral gevoed heb met wat ik wil hebben. Het script is van de hand van ChatGPT. Ik begrijp echter wel wat het script doet ;)

Verbeteringen zijn dan ook altijd welkom!
Ik had een vergelijkbaar probleem. Voor nu is het opgelost met een pushbericht naar de televisies met de mededeling dat we gaan eten. De televisies worden dan automatisch na 1 minuut uitgeschakeld. Daarnaast een bericht naar de telefoon/tablet. Werkt perfect!

This too shall pass


  • RvL
  • Registratie: Maart 2002
  • Laatst online: 18:57

RvL

@Sharky
ook aan gedacht, maar ze hebben allebei een domme TV. Technisch natuurlijk altijd op te lossen, maar die speakers staan altijd aan :)

Liefde maakt een smal bed breed!
Nu de dekens nog...


  • TheFes
  • Registratie: Juni 2001
  • Laatst online: 22:58
RvL schreef op dinsdag 23 juni 2026 @ 19:43:
Pubers, ze kunnen soms zo leuk zijn...

Als ze zich terugtrekken op hun kamer met de deur dicht en je wil ze roepen voor het eten bijvoorbeeld. Telefoons? Op stil. Dus schreeuwen door het huis. Nou, daar was ik zo klaar mee....

Toen bedacht ik dat ik Google TTS in HA heb zitten. En ze hebben allebei een connected speaker op hun kamer: dochterlief een Sonos Symfonisk en zoonlief een oude Harman Kardon Citation 700. Daar moet ik toch wat mee kunnen?

Met de Sonos speakers is het heel eenvoudig. Je gooit er een TTS bericht naartoe, als er wat speelt wordt dat gedempt, bericht wordt afgespeeld en daarna vervolgt de originele bron.

De Citation was lastiger. Dit is een Google Cast apparaat en als er een TTS bericht op afgespeeld wordt gaat die niet terug naar de originele bron. Daar zijn ook geen entiteiten/acties voor in HA. Uiteindelijk stuitte ik op een post op de HA community: die Harman Kardon blijkt een lokale API te hebben waarmee de bron gezet kan worden. Dus YAML aangemaakt die de API aanroept.

Vervolgens een script opgezet wat:
- bericht afspeelt
- originele bron herstelt

Zoals ik al aangaf gaat dat met Sonos heel makkelijk. Voor de Citation is het bericht afspelen niet zo moeilijk, maar als je de bron terug wil zetten zal je moeten weten hoe lang het bericht duurt. AI kwam hier met een goede oplossing: TTS spreekt in Nederlands ongeveer 10 karakters per seconde. Dus door de lengte van de tekst te nemen, dat te delen door 10 en naar boven af te ronden zit je heel behoorlijk. Daarna via de API de bron terug zetten.

De eerste test bezorgde me een enorm boze puber: haar speaker stond nog op standje discotheek en ze zat zonder muziek te leren. Die boodschap dat het eten klaar was kwam letterlijk nogal binnen :o

Dus toegevoegd dat het volume op 40% wordt gezet als er niets afgespeeld wordt. Anders wordt het huidige afspeelvolume gebruikt.

Nog wat leuke dingen erbij zoals een vooraankondiging en we hebben zowaar een simpel Intercom systeem in huis!
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
alias: Intercom verzenden
mode: queued

sequence:
  - variables:
      bestemming: "{{ states('input_select.intercom_bestemming') }}"
      bericht: "{{ states('input_text.intercom_bericht') }}"

      speakers: >
        {% if bestemming == 'Thijs' %}
          ['media_player.soundbar_thijs']

        {% elif bestemming == 'Vera' %}
          ['media_player.slaapkamer_vera']

        {% elif bestemming == 'Woonkamer' %}
          ['media_player.woonkamer']

        {% elif bestemming == 'Keuken' %}
          ['media_player.keuken']

        {% elif bestemming == 'Vera en Thijs' %}
          ['media_player.slaapkamer_vera', 'media_player.soundbar_thijs']

        {% endif %}

  - repeat:
      for_each: "{{ speakers }}"
      sequence:

        - variables:
            speaker_is_playing: >
              {{ states(repeat.item) == 'playing' }}

            original_volume: >
              {{ state_attr(repeat.item, 'volume_level') | default(0.4) }}

            volledige_tekst: >
              Bericht voor {{ bestemming }}.
              {{ bericht }}

        # Volume alleen aanpassen als er niets speelt
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: 0.4

        - choose:

            # Sonos / Symfonisk
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item != 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

            # Citation
            - conditions:
                - condition: template
                  value_template: >
                    {{ repeat.item == 'media_player.soundbar_thijs' }}
              sequence:
                - action: tts.speak
                  target:
                    entity_id: tts.google_translate_nl_nl
                  data:
                    media_player_entity_id: "{{ repeat.item }}"
                    message: "{{ volledige_tekst }}"

                - delay:
                    seconds: >
                      {{ [
                          4,
                          ((volledige_tekst | length) / 10) | round(0, 'ceil')
                        ] | max }}

                - action: rest_command.citation_set_optical

        # Volume terugzetten indien aangepast
        - if:
            - condition: template
              value_template: "{{ not speaker_is_playing }}"
          then:
            - action: media_player.volume_set
              target:
                entity_id: "{{ repeat.item }}"
              data:
                volume_level: "{{ original_volume }}"
Input komt van een simpele kaart met een dropdown voor de ontvanger en een tekstinvoer voor het bericht.

Eerlijkheidshalve moet ik wel zeggen dat ik ChatGPT vooral gevoed heb met wat ik wil hebben. Het script is van de hand van ChatGPT. Ik begrijp echter wel wat het script doet ;)

Verbeteringen zijn dan ook altijd welkom!
In plaats van op basis van het aantal letters en delay te bepalen, kun je ook een wait_template gebruiken en wachten tot de speler idle is. Eventueel met een korte delay er voor zodat het TTS bericht al wel aan het afspelen is

Home Assistant configuratie


  • Erik80
  • Registratie: Februari 2005
  • Laatst online: 24-06 13:21

Erik80

Sinds 1980

Je kan ook Chime_tts gebruiken vanuit HACS (met annouce: true)...die doet dat allemaal al vanuit de integratie. Werkt perfect voor mijn deurbel (belgeluid en AI bericht wie er voor de deur staat over alle speakers in huis)

[ Voor 32% gewijzigd door Erik80 op 24-06-2026 09:07 ]


  • Impossibl3
  • Registratie: November 2012
  • Laatst online: 21:01
Erik80 schreef op woensdag 24 juni 2026 @ 09:01:
Je kan ook chime_tts gebruiken vanuit HACS...die doet dat allemaal al vanuit de integratie. Werkt perfect voor mijn deurbel (belgeluid en AI bericht wie er voor de deur staat over alle speakers in huis)
Ik zou je link even aanpassen nu verwijst die (vermoedelijk) naar jou HA installatie ;).

[ Voor 7% gewijzigd door Septillion op 24-06-2026 09:46 ]

PV 5.590 Wp Enphase, 2.700 Wp Growatt - Easee laadpaal - Itho Amber 95 WP


  • Erik80
  • Registratie: Februari 2005
  • Laatst online: 24-06 13:21

Erik80

Sinds 1980

Thanks |:( Haal jij de link ook even uit de quote in jouw bericht? :)

[ Voor 73% gewijzigd door Erik80 op 24-06-2026 09:08 ]


  • DennusB
  • Registratie: Mei 2006
  • Niet online
Impossibl3 schreef op woensdag 24 juni 2026 @ 09:04:
[...]


Ik zou je link even aanpassen nu verwijst die (vermoedelijk) naar jou HA installatie ;).
Pas jij dan even z'n quote aan? :)

Owner of DBIT Consultancy | DJ BassBrewer


  • Ruimzicht
  • Registratie: Juni 2004
  • Laatst online: 24-06 10:52
@Erik80 Kan je toelichten hoe je AI gebruikt in jouw setup om te beschrijven wie er voor de deur staat? Ik zou dat ook willen maar er zijn nogal wat wegen die naar Rome leiden. Ik draai HA op een MiniPC (HAOS).

  • Erik80
  • Registratie: Februari 2005
  • Laatst online: 24-06 13:21

Erik80

Sinds 1980

Met LLM Vision. Ik maak een foto als er aangebeld wordt en die foto gebruikt llm vision om te kijken wie er aan de deur staat. Je kan llmvision ook trainen dmv bestaande foto's van personen.

  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 20:21
RvL schreef op dinsdag 23 juni 2026 @ 19:43:
Pubers, ze kunnen soms zo leuk zijn...

Als ze zich terugtrekken op hun kamer met de deur dicht en je wil ze roepen voor het eten bijvoorbeeld. Telefoons? Op stil. Dus schreeuwen door het huis. Nou, daar was ik zo klaar mee....
AH, zo'n systeem hebben wij ook al heel lang inderdaad. Werkt perfect, zowel met een aantal pre-defined berichten die we met 1 druk op de knop kunnen activeren als met een "vrij tekstveld".

Mijn config staat hier voor het "vrije tekst" stuk:
https://github.com/hmmbob...20General/tts_system.yaml

En hier voor de pre-defined berichten vanaf de kiosk:
https://github.com/hmmbob...neral/kiosk.yaml#L70-L121

en die wordt hier aangeroepen in het dashboard:
https://github.com/hmmbob...v/common/chip-omroep.yaml

[ Voor 8% gewijzigd door Hmmbob op 24-06-2026 11:31 ]

Sometimes you need to plan for coincidence


  • smeerbartje
  • Registratie: September 2006
  • Laatst online: 16:04
Ik heb de officiele buienradar integratie en ik wil volgens mij iets heel simpels, maar ik kom er helas niet uit. Wat ik wil: een sensor die voor vandaag de verwchte temperatuur weer kan geven in een grafiek (dus per uur ofzo). Dit zou vrij simpel te realiseren moeten zijn lijkt me, maar toch weet ik niet zo goed waar ik moet beginnen. Wie heeft zoiets al in elkaar geflanst?

  • Daan_96
  • Registratie: Maart 2026
  • Laatst online: 21:58
Ik heb het door middel van een helper en een automatisering gedaan.
Kwam er zelf niet echt uit en dit was een idee van chat.

Ik gebruik de temperatuur van de komende 12 uur om de warmtevraag van mijn woning globaal in te schatten. Het idee is om hiermee te bepalen of ik al warmte ga opslaan in mijn buffervat om de komende 12 uur door te komen ;)

De yaml voor het vullen van een string:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
alias: "Kachel: Ophalen CV Warmtevraag Forecast (Elk uur)"
description: >-
  Haalt elk uur de actuele uursvoorspelling op en vult de input_text voor de
  template sensor
triggers:
  - hours: /1
    trigger: time_pattern
conditions: []
actions:
  - action: weather.get_forecasts
    data:
      type: hourly
    target:
      entity_id: weather.forecast_thuis
    response_variable: weer_bericht
  - action: input_text.set_value
    target:
      entity_id: input_text.cv_forecast_12u
    data:
      value: >-
        {% set uren = weer_bericht['weather.forecast_thuis'].forecast %} [{% for
        i in range(12) %}{{ uren[i].temperature }}{% if not loop.last %},{%
        endif %}{% endfor %}]
mode: single
Daarmee bereken ik dan de warmte vraag met een lineaire formule, of dat overheen komt met de werkelijkheid moet nog getest worden:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
      # --- WARMTEVRAAG & HOUT ---
      - name: "Hout CV Warmtevraag 12u"
        unique_id: hout_cv_heat_demand_12h
        unit_of_measurement: "kWh"
        state: >
          {% set data = states('input_text.cv_forecast_12u') %}
          {% if data in ['unknown', 'unavailable', ''] %} 0
          {% else %}
            {% set ns = namespace(total=0) %}
            {% for val in data | from_json %}
              {% set ns.total = ns.total + [8 - (0.4 * val | float(0)), 0] | max %}
            {% endfor %}
            {{ ns.total | round(1) }}
          {% endif %}

[ Voor 0% gewijzigd door Septillion op 24-06-2026 22:13 . Reden: Denk aan de 'yaml' bij de code tags aub! Zie topic warning en hoe deze post is aangepast. ]

Plannen voorbereiden: Renovatie Boerderij > Hout CV, 300L SWW, 1500L CV buffer, 15.000WP, 3-fase Victron Mulri RS, 48kWh LFP


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:26

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Daan_96 Ipv een helper zou je ook een trigger based sensor kunnen pakken. Dan kan je de list gewoon als attribute opslaan.

  • Out.of.Control
  • Registratie: Augustus 2012
  • Laatst online: 22:28
Septillion schreef op dinsdag 23 juni 2026 @ 14:44:
@Out.of.Control Welke integratie gebruik je? Want wel eens gezien bij Home Wizard maar zat er werkelijk een serienummer in de naam. Zo random een 2 en 3 is raar.

Sensor zoals @Eboman aangeeft is zinloos. Een template sensor werkt alleen op de huidige state, niet de history.

Denk dat je ze zou kunnen mergen door inderdaad de niet meer in gebruik zijnde te verwijderen en dan de ander ter hernoemen. Maar begin met een backup, dan zit je safe. (Mits je natuurlijk wel de encryptie key van je backup ook opgeslagen hebt.)

Dus:
- Backup
- sensor.gas_meter_gas_consumption weg
- sensor.gas_meter_gas_consumption_2 hernoemen naar sensor.gas_meter_gas_consumption
- sensor.gas_meter_gas_consumption
- sensor.gas_meter_gas_consumption_3 hernoemen naar sensor.gas_meter_gas_consumption
Dank voor de tips, ik ga er van het weekend verder naar kijken.

  • -CJ
  • Registratie: Februari 2021
  • Laatst online: 23:12

-CJ

Not remastered

Erik80 schreef op woensdag 24 juni 2026 @ 10:10:
Met LLM Vision. Ik maak een foto als er aangebeld wordt en die foto gebruikt llm vision om te kijken wie er aan de deur staat. Je kan llmvision ook trainen dmv bestaande foto's van personen.
Welke AI provider heb je daar achter zitten? Of draai je lokaal?

All I had to do was follow the damn train.


  • Ferra
  • Registratie: Januari 2010
  • Niet online
Erik80 schreef op woensdag 24 juni 2026 @ 10:10:
Met LLM Vision. Ik maak een foto als er aangebeld wordt en die foto gebruikt llm vision om te kijken wie er aan de deur staat. Je kan llmvision ook trainen dmv bestaande foto's van personen.
Hoe doe je dat trainen?
Pagina: 1 ... 401 402 Laatste

Let op:
Zet je code tussen [code=yaml] [/code] tags om het goed leesbaar te houden; ook makkelijker voor de eventuele foutopsporing.

Lees ook eerst even de topicstart voor je je vraag plaatst, wellicht wordt je vraag daar al beantwoord. Wil je pronken met je setup mag dat in Home Assistant - Show je setup.