Powiadomienia
Wyczyść wszystko

Informacja Home Assistant HA i automatyzacje

16 Wpisów
5 Użytkownicy
2 Reactions
141 Wyświetleń
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Wiem temat jest jak rzeka, ale chciałbym jakoś zacząć i nie wiem gdzie szukać. 

A, właściwie, to zacząłem i stąd masa problemów i brak odpowiedzi. 

Więc mamy automatyzacje budowane w trzech krokach: wyzwalacz, warunki i akcja. Cudnie, ale nigdzie nie znalazłem opisu reguł jakimi HA się posługuje. Np. banalna sprawa - włącz światło na zewnątrz domu gdy zaszło już słońce i jasność światła na zewnątrz jest mniejsza od 3000 lux-ów. I zrobiłem to, potykając się kilkunastokrotnie, ale zrobiłem szmelc a nie porządną procedurę. Czyli wyzwalaczem jest "sprawdzaj co 15 minut", w warunkach jest koniunkcja dwóch kwestii "zaszło słońce" oraz "jasność jest mniejsza niż 3000" a akcja to włączenie oświetlenia. Wyłączanie zewnętrznego oświetlenia natomiast mam ustawiona na czas - "wyłącz wszystko o 24:00".

I chodzi ale, oczywiście, to jest kicha bo zajmuje systemowi kupę czasu niepotrzebnie (co 15 minut), nie ma możliwości ustawienia jakiegoś "przestań liczyć np, 16 godzin gdy już akcja zaszła" więc o 00:15 światło zapala się ponownie, itd. bo to nie koniec.

Czy gdzieś znajdę porządny opis tych automatyzacji albo ktoś może coś poradzić?

Widziałem że można to zrobić pisząc kod w automatyzacja.yaml i widziałem że można zagonić do pracy nodeRED-a. Ale tu tez nie wiem gdzie szukać porządnych informacji - jak.

 
Dodane : 02/06/2025 3:37 pm
adrian
(@adrian)
Wpisów: 4074
Szefu Admin Zasłużony dla Forum, Patron Strony
 

witaj @krzysztof44

nie jestem HomeAssistant'owcem, ale widzę, że widzisz, że to nie tak. Zaraz pewnie ktoś Ci pomoże.

Tak szybo zerknąłem, pewnie musisz zainstalować tę integrację, która automatycznie da Ci informację kiedy słońce góra / dół w Twojej lokalizacji. 

https://www.home-assistant.io/integrations/sun/

Wyzwalacz odpalany za każdą zmianą wartości tego czujnika od światła lub położenia słońca z kilkoma dodatkowymi warunkami.

pzdr.a

 
Dodane : 02/06/2025 7:01 pm
Mariusz
(@mariusz-2)
Wpisów: 231
Weteran Donator 2K23
 

Dodane przez: @krzysztof44

Czy gdzieś znajdę porządny opis tych automatyzacji albo ktoś może coś poradzić?

Przecież wyjaśniono już to Tobie i podano przykład automatyzacji (na innym forum). Jaki jest więc problem ?

Przestań proszę pisać opowiadania, krótki opis tego co chcesz osiągnąć wystarczy i  co nie działa jak chcesz plus wklej yamla z automatyzacją.

PS. Spróbuj tak ...

- id: 'wieczorne_oswietlenie'
  alias: Wieczorne włączenie oświetlenia zewnętrznego
  trigger:
    - platform: sun
      event: sunset
      offset: "00:30:00"
  condition:
    - condition: numeric_state
      entity_id: sensor.pogodynka_jasnosc
      below: 3000
  actions:
    - action: light.turn_on
      target:
        entity_id: light.knx_oswietlenie_zewnetrzne
  mode: single

 

To odpali światło tylko raz wieczorem — i tylko jeśli faktycznie jest ciemno. offset: "00:30:00" przesuwa o 30 minut zachód słońca (jak nie potrzebujesz usuń)

 
Dodane : 02/06/2025 8:57 pm
adrian
(@adrian)
Wpisów: 4074
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@mariusz-2 nie znam składni HA, ale ja zrobiłbym odwrotnie:

  • jeśli pogodynka_jasnosc below 3000 i light jest off to odpal trigger
  • sprawdź w warunku czy sun jest już po sunset 

wg mnie trochę większa szansa, że się odpali.

Z sunset w trigger to odpali się tylko raz i jak light będzie 3001 to światło nie włączy się nawet jak minutę później spadnie do 500 lx

ale nie wiem jak to napisać w HA 😉

 
Dodane : 02/06/2025 9:56 pm
isom zareagował
isom
 isom
(@isom)
Wpisów: 5271
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@krzysztof44 Co do automatyzacji, to warto spróbować gotowych schematów tworzonych przez użytkowników HA.

Przy ich pomocy można budować proste lub bardziej złożone automatyzacje, sam dostosowujesz do swoich potrzeb.

Osobiście korzystam z NR, ułożenie procesu z takimi założeniami jakich potrzebujesz nie jest problemem nawet na etapie początkującego.

Użycie wyzwalaczy czasowych nie jest optymalne, ale nie niemożliwe.

Poniżej fotka jak to może wyglądać w dwóch wersjach, pierwsza to dwa wyzwalacze czasowe, druga gdzie wyzwalaczem jest czujnik lux.

1

Nie wiedząc co robią poszczególne nody, można uzyskać pomoc podręczną dostępną dla każdego z nich, poniżej przykład dla time range ( ten pomarańczowy)

2

Jak to za mało, to można zawsze zajrzeć do dokumentacji NR.

 

 
Dodane : 02/06/2025 10:13 pm
Krzysztof44 zareagował
Mariusz
(@mariusz-2)
Wpisów: 231
Weteran Donator 2K23
 

Dodane przez: @adrian

Z sunset w trigger to odpali się tylko raz i jak light będzie 3001 to światło nie włączy się

Raczej marne szanse .. (można zwiększyć próg lux'ów), zobacz u mnie to tak dziś wygląda 🙂

2025 06 03 20 22
 
Dodane : 03/06/2025 8:24 pm
adrian
(@adrian)
Wpisów: 4074
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@mariusz-2 @krzysztof44 napisał o warunku 3000 luxów - więc jeśli on nie ma znaczenia, bo sytuacja nigdy nie wystąpi to rzeczywiście nie mam sensu tego w ogóle sprawdzać i można wywalić jego sprawdzanie w warunku. Jeśli ma znaczenie to trzeba go uwzględnić i zarówno wyzwalacza i warunek muszą być bardziej rozbudowane.

pzdr.a 

 
Dodane : 03/06/2025 10:44 pm
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Ja nie "piszę opowiadań" tylko chcę dokładnie wskazać na problem żeby definicja zagadnienia była jasna. I to "światło", tak jak napisałem jest jedynie przykładem. Bo nie wiem, a szukałem, gdzie znaleźć informację jak działa automatyzacja w HA. Jak to jest, po kolei. Dlaczego np. ustawiam wyzwalacz (zachód słońca) i warunek (jasność < 3000 lux) a HA tego nie wykonuje. Dlaczego ustawiam sprawdzanie czasu co 15 minut i nie mogę (albo nie wiem jak) przerwać tego gdy akcja się wykona (i np. włączyć z powrotem za 10 godzin), Itd., itd., itd. ...

Bo gdybym mógł napisać taką procedurkę w jakimś języku programowania to zajęłoby to kilka minut - tu nie logika jest dla mnie problemem tylko składnia i tryb wykonywania tak zdefiniowanej automatyki przez HA.

 
Dodane : 04/06/2025 11:57 am
krskrab
(@krskrab)
Wpisów: 54
Kontrybutor
 

Wyzwalacz, przykład:

Po 15.00 i “jasność” poniżej wartości 4600 (noc, moje rolety zostaną opuszczone)

triggers:
  - value_template: >
      {{ (now().hour >= 15) and
      (states('sensor.deszcz_swiatlo_illuminance_average_20min') | float(0)) <
      4600 }}
    trigger: template

Po 7.00 i wartość ponad 4500 (dzień, moje rolety zostaną podniesione)

triggers:
  - value_template: >
      {{ (states('sensor.deszcz_swiatlo_illuminance_average_20min') | float) >
      4500 and (now().hour >= 7) }}
    trigger: template
 
Dodane : 04/06/2025 6:26 pm
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Dziękuję krskrab, to jest czytelne i jasne. Pierwsze co zrobię jak wrócę do chaty to przetestuję.

 
Dodane : 05/06/2025 9:09 am
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Ale mam jeszcze (do krskrab) małą prośbę - czy możesz mi wskazać miejsce w sieci gdzie znajdę informacje o tych sekwencjach warunkowych które podajesz. Jakieś zasady, składnia, inne przykłady stosowania, itd.?

 
Dodane : 05/06/2025 12:42 pm
krskrab
(@krskrab)
Wpisów: 54
Kontrybutor
 

@krzysztof44 

https://www.home-assistant.io/docs/automation/trigger/#template-trigger

Przykład który podałem działa, poprawnie. Ale powinien być zapisany w takim formacie:

 

trigger:
  - platform: template
    value_template: >
      {{ (now().hour >= 15) and (states('sensor.deszcz_swiatlo_illuminance_average_20min') | float(0) < 4600) }}

Inne przykłady:

Pobór mocy spadł poniżej 50W i jest po 22:00

{{ now().hour >= 22 and (states('sensor.pralka_power') | float(0)) < 50 }}

Co godzinę o pełnej godzinie (np. do synchronizacji czegoś)

{{ now().minute == 0 and now().second == 0 }}

Będzie padać jutro:

 {{ state_attr('weather.tomorrow_io_home_daily', 'forecast')[0].precipitation | float(0) > 1 }}

 

Jeśli A różni się od B o więcej niż 5 jednostek:

{{ (states('sensor.a') | float(0) - states('sensor.b') | float(0)) | abs > 5 }}

Jeśli temperatura > 25°C i wilgotność > 60%, ale tylko w dzień (słońce nad horyzontem):

trigger:
  - platform: template
    value_template: >
      {{ states('sensor.temp') | float(0) > 25 and
         states('sensor.humidity') | float(0) > 60 and
         is_state('sun.sun', 'above_horizon') }}

 

Home Assistant ocenia value_template: co sekundę.

Wyzwalacz aktywuje się tylko wtedy, gdy wynik zmienia się z false na true.

Jeśli używasz for:, to warunek musi być spełniony przez cały zadany czas (np. 60 sekund) bez przerwy, żeby wyzwalacz się uruchomił.

Przykład:

ScreenShot 20250605174552

 

 
Dodane : 05/06/2025 6:46 pm
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Ok, jeszcze nie miałem czasu tego spróbować ale wrócę z informacją jutro, eszcze raz dziękuję. Mam jakiś start do tej zabawy z automatyzacją a pytanie o opis składni cofam, znalazłem pełną dokumentację "Jinja templates".

Chociaż mam jeszcze pytanko - jak coś tam programowałem i programuję to zawsze mam możliwość testowania tego co napisałem i śledzenia wykonania (na różne sposoby zależne od stosowanych narzędzi). Czy w HA mogę tak napisaną "automatykę" przetestować, np. zmienić parametry na spełnione i śledzić kolejne kroki wykonywane przez HA?

 

 
Dodane : 05/06/2025 9:20 pm
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Chyba że Twój ostatni screen to pokazuje.

 
Dodane : 05/06/2025 9:21 pm
krskrab
(@krskrab)
Wpisów: 54
Kontrybutor
 

Dana automatyzacja, górny prawy narożnik 

ScreenShot 20250605202419

 Tam jest cały przebieg automatyzacji:

ScreenShot 20250605202250

Dane encji, możesz zmienić tymczasowo w Narzędziach Deweloperskich  Stany ( USTAW STAN)  - (będą chwilowo zmienione , do momentu ponownego odczytania wartości) 

Czyli jak ustawisz np. Temperatura w pokoju jest 39 to taka będzie do momentu odczytania poprawnej wartości z termometru.

Jeśli ustawisz że jesteś not_home to po chwili (zależy od "lokalizatorów") powróci na home

 
Dodane : 05/06/2025 9:40 pm
(@krzysztof44)
Wpisów: 8
Bywalec
Autor tematu
 

Świetnie, no to mam zabawę na ten weekend.

 
Dodane : 06/06/2025 6:27 am
Udostępnij: