Automatyzacja w HA czujnik ruchu i przełącznik światła

Witam.
Zautomatyzowałem ( tak mi się tylko wydawało) czujnik ruchu 24G Mm Wave zigbee żeby włączał i wyłączał świtało gdy wykrywa ruch. Wszystko jest super do momentu kiedy nie uruchomię przełącznika monostabilnego światła Shelly. Automatyki jakby nie było.
Jako, że jestem samoukiem i moje możliwości bardziej działają na zasadzie prób i błędów to proszę Was o pomoc . Jak ustawić automatykę, żeby fizyczne włączenie światła nie kolidowało z pracą czujki tzn. z automatyką.
Od razu uprzedzę, że pisanie komend w Yaml to dla mnie przepaść.

Czy możesz podesłać yaml tej (automatyzacji?)?
Wchodzisz w wybraną automatyzację → trzy kropeczki u góry → edytuj w yaml wtedy może lepiej zrozumieć o co chodzi.

Niestety nie jestem w stanie nic zrobić jak będziesz w UI bo bym musiał tu spędzić cały dzień.

Całkiem niedawno poruszany był bardzo podobny temat. Polecam skorzystanie z opcji użycia szablonów automatyzacji (Blueprint):

Dzięki. Spróbuję po powrocie do domu. Może się uda.

A nie masz czasem w aplikacji Shelly ustawionego złego trybu pracy tego przekaźnika? Bo to trochę dziwne zachowanie przy przełączniku dzwonkowym, jeżeli bez jego “ruszania fizycznego” wszystko działa poprawnie.

1 polubienie

Nie. Mam ustawione prawidłowo. W przeciwnym przypadku nie działałby, pomijając HA.

Skoro ustawienia Shelly są na 100% poprawne, to problem musi leżeć w samej logice automatyzacji lub w sposobie, w jaki ten czujnik raportuje obecność do HA. Jak prosił @Allon, wrzuć kod tej automatyzacji i napisz, co to za model czujnika. Bez tego ciężko jest wywróżyć dlaczego po ręcznym kliknięciu automatyzacja “głupieje”.

Jeżeli używasz shelly jako włącznika światła nie możesz go użyć w Bypass Options

Używa chyba Blueprint a tam nie ma pełnego kodu automatyzacji, zawarte są tam tylko czujniki, światła itp.
Tak wygłąda kod automatyzacji ```Sensor Light - Motion Sensor - Door Sensor (Blueprint).

alias: Łazienka czujnik Radar Oświetlenie
description: Oświetlenie łazienka RADAR
use_blueprint:
  path: Blackshome/sensor-light.yaml
  input:
    motion_trigger:
      - binary_sensor.czujnik_obecnosci_z_lazienka_presence
    light_switch:
      entity_id:
        - light.sonoff_4chpror2_relay_1
        - light.sonoff_4chpror2_relay_3
    time_delay: 0.5
    include_night_lights: night_lights_enabled
    night_lights:
      entity_id:
        - light.lazienka_z_rgbw_nocne
    night_time_delay: 0.5
    night_lights_after_time: "23:50:00"
    night_lights_before_time: "04:15:00"
    night_lights_conditions:
      - time_enabled
    motion_bypass_lights_stop:
      - input_boolean.bypass_switch_lazienka_czujnik_radar_oswietlenie
    motion_bypass_lights_on: []
    include_bypass:
      - bypass_enabled_stop
    bypass_auto_off_delay: 15
    motion_bypass_lights_off: []
    include_night_light_control:
      - use_transition
    night_light_brightness: 86
    night_light_transition_on: 4.5
    night_light_transition_off: 3
    include_night_light_colour_control: disable_colour_control
    night_light_rgb_colour:
      - 255
      - 255
      - 255
    night_light_colour_temperature: 6329
    boolean_scenes_scripts: input_boolean.radar_lazienka_light_switch
    include_bypass_auto_off:
      - bypass_auto_off_enabled_off
    bypass_time_delay: 0

No właściwie to nie wiemy czy używa tego blueprinta, czy jakiejś własnej logiki

Czujnik mikrofalowy nie wykrywa ruchu, tylko obecność.
To mozna zrobić prosto:

Kiedy:
czujnik ruchu (zajętość) zmieni stan
przez: 1 sekunda

Akcje:
Wybierz:

Opcja 1:
Warunek: jeśli czujnik ruchu (zajętość) jest zajęty
Akcja: włącz shelly

Opcja 2:
Warunek: jeśli czujnik ruchu (zajętość) nie jest jest zajęty
Akcja: poczekaj 30 sekund
Akcja: wyłacz shelly

tryb pracy automatyzacji: uruchom ponownie

I przełącznik nie ma tu nic do rzeczy. Ale to jest czujnik mikrofalowy.
Może chodzi o to ze wchodząc do pomieszczenia światło się zaświeca, wychodząc gaśnie, ale będąc w środku po wyłączeniu już się nie zaświeci - to żaden błąd tylko dla czujnika mikrofalowego nic się nie zmieniło - on nie sprawdza czy się ruszasz, tylko czy “jesteś”…

Dlatego potrzebny jest ten bypass z blueprinta który sugeruje @artpc - albo światłem steruje czujnik, albo “guzik”. Gaszenie i zapalanie światła jak się ruszasz lub nie, zrealizował by czujnik PIR.

Dlatego jak nie wiadomo co tam jest, to naprawdę takie wróżenie z fusów.

2 polubienia

Witajcie. Dokładnie tak. Skorzystałem z tego polecanego bluprinta. I tak jak piszecie jeśli zastosuje najprostszy schemat tj. wyzwalacz-czujnik jeśli wykrywa ruch to akcja włącz światło. To samo zrobiłem odwrotnie. I tak to działa, ale do momentu kiedy światło nie włączę przełącznikiem fizycznym. I chodzi mi o to jak to zrobić,żeby razem współgrały. Czujnik 24GMm Wave Zigbee.czyli nie PIR a radarowy.

Jeśli wyzwalaczem jest czujnik obecności, i nie ma tam żadnych warunków dotyczących stanu przełącznika, to niemożliwe żeby włączenie lub wyłączenie światła guzikiem cokolwiek zmieniało w działaniu tej automatyzacji. Blueprint podpowiada Ci różne możliwości ale nie wymyśli za ciebie całej logiki… pokażesz w końcu kod jak to finalnie zrealizowałeś?

Piękny screen tylko nie ten kawałek, nas interesuje to co tam jest niżej w kolejnym “kafelku” (Model Zigbee / Model / ID firmware / Wersja firmware), po zdjęciu i twoim opisie “24G” wygląda jak jakiś klon tego jeżli widać go tam niżej jako ZY-M100-24G.

alias: światło ruch wł. łaz.
description:
triggers:
  - entity_id:
      - binary_sensor.czujnik_lazienka_presence
    trigger: state
    from:
      - "on"
conditions:
  - condition: state
    entity_id: input_boolean.przelaczniki_swiatla
    state:
      - "off"
    for:
      hours: 0
      minutes: 0
      seconds: 10
actions:
  - type: turn_on
    device_id: f613949b7f1e7add3c1d67a1a94ae5f0
    entity_id: d4f7c3b995e39c59c74351571188c9d0
    domain: switch
mode: restart

A shelly nie powinien być w trybie sprawdzania pozycji włącznika tzn. kiedy włącznik jest na on wysyła do HA stan on. Wydaje mi się że jest taka opcja. I wtedy by można było zrobić drugą automatyzację:

Kiedy stan przełącznika shelly = on
To włącz światło i wyłącz automatyzację (tą z czujnikiem)

No to jednak wstawiłeś warunek, który powoduje że automatyzacja uruchomi się tylko pod warunkiem że przełącznik światłą jest WYŁĄCZONY przez 10 sekund. Piszesz że jak włączysz światło włącznikiem to nie działa - no dokładnie tak ma być, bo nie spełniasz tego warunku i automatyzacja się nie wykonuje.

a do tego

czyli ta automatyzacja WŁĄCZA światło jeśli “WYJDZIESZ” ale pod warunkiem że przełacznik był wyłączony przez 10 sekund…

Pierwotnie miałem tak:
alias: Test
description: “”
triggers:

  • type: occupied
    device_id: 3f311fd8b8eaecf3dc687993074d3cf1
    entity_id: 3eceb35bb47c9c2825942baf9ae5d593
    domain: binary_sensor
    trigger: device
    conditions:
    actions:
  • type: turn_on
    device_id: f613949b7f1e7add3c1d67a1a94ae5f0
    entity_id: d4f7c3b995e39c59c74351571188c9d0
    domain: switch
    mode: single

I działa dopóki nie użyje przełącznika światła.

Zwróć uwagę że w tym przesłanym przez ciebie kodzie WŁĄCZASZ światło jak WYCHODZISZ

Czas “cooldownu” czujnika masz w ustawieniach - 15s - tyle czasu upływa od czasu jak przestanie wykrywać obecność, do czasu przesłania stanu do HA, te dodatkowe 10 sekund w warunku przełącznika daje Ci sumarycznie 25 sekund oczekiwania.

Zawsze będzie jakiś konflikt interesów (czujnik kontra przełącznik).
Ja bym to zrobił jedną automatyzacją, możliwe rozsądne wydają mi się 2 opcje:

  1. Jak ktoś jest w zasięgu czujnika, światło się zapala. Jak nikogo nie ma, światło gaśnie. Sterowanie światłem przez wyłącznik jako “dodatek” jak byś jednak chciał posiedzieć w łazience po ciemku, albo zostawić światło włączone jak nikogo nie ma.
    Wada - jak będziesz brał np. kąpiel a ktoś ci “złośliwie” zgasi światło, to siedzisz już po ciemku:
alias: "Łazienka: Sterowanie Obecnością"
description: "Jedna automatyzacja do włączania i wyłączania"
triggers:
  - trigger: state
    entity_id: binary_sensor.czujnik_lazienka_presence # Wyzwalaczem jest KAŻDA zmiana stanu czujnika
actions:
  - choose:
      # OPCJA 1: Ktoś jest
      - conditions:
          - condition: state
            entity_id: binary_sensor.czujnik_lazienka_presence
            state: "on"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: d4f7c3b995e39c59c74351571188c9d0 #  Shelly

      # OPCJA 2: Nikogo nie ma
      - conditions:
          - condition: state
            entity_id: binary_sensor.czujnik_lazienka_presence
            state: "off"
        sequence:
          - service: switch.turn_off
            target:
              entity_id: d4f7c3b995e39c59c74351571188c9d0
mode: restart
  1. Światłem mimo wszystko steruje czujnik obecności. Jeśli ktoś włączy lub zgasi światło to automatyka albo od razu je włączy albo od razu zgasi (skoryguje w zależności od tego czy ktoś jest wewnątrz czy nie), ale w przypadku jak czujnik się rozłączy, straci zasilani (stanie się niedostępny) to wtedy włącznik fizyczny zaczyna działać “normalnie”.
    Wada - odwrotnie niż wyżej - jak byś chciał posiedzieć po ciemku, to tego nie zrobisz:
alias: "Łazienka: Sterowanie Inteligentne"
description: "Włączanie i wyłączanie z obsługą poprawki na przycisk"
triggers:
  - trigger: state
    entity_id: binary_sensor.czujnik_lazienka_presence # Wyzwalacz 1 - Radar
  - trigger: state
    entity_id: switch.shelly_lazienka # Wyzwalacz 2 - Przycisk (żeby wymusić sprawdzenie czy ktoś go nacisnął)
actions:
  - choose:
      # OPCJA 1: Ktoś wszedł LUB ktoś zgasił światło, ale czujnik nadal widzi jakąś obecność
      - conditions:
          - condition: state
            entity_id: binary_sensor.czujnik_lazienka_presence
            state: "on"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: d4f7c3b995e39c59c74351571188c9d0

      # OPCJA 2: Nikogo nie ma
      - conditions:
          - condition: state
            entity_id: binary_sensor.czujnik_lazienka_presence
            state: "off"
        sequence:
          - service: switch.turn_off
            target:
              entity_id: d4f7c3b995e39c59c74351571188c9d0
mode: restart

Dzięki za pomoc. Zobaczę czy ten wariant się sprawdzi.

Testuj, tylko pamiętaj o cooldownie czujnika - on stan “obecność” zobaczy od razu, ale “brak obecności” dopiero po tych 15 sekundach.

1 polubienie