UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
Panowie potrzebuję pomocy, chcę przy użyciu id-użytkowników poprawić automatyzację rolet, dokładnie chodzi o to, że mając sterowanie roletami na podstawie czujnika światła i aktualnej pory dnia, wszystko sobie fajnie działa, ale zdarzają się sytuacje, że potrzeba na sztywno np zamknąć roletę do odwołania.
Można to zrealizować na kilka sposobów, ale najwygodniejszy to filtrowanie użytkownika, który zmienił stan tej rolety.
Tyle wstępu, teraz do rzeczy, każdy użytkownik w HA ma swoje niepowtarzalne ID, zrobiłem sobie zmienną globalną z listą tych użytkowników w formie tablicy. Dzięki temu mogę jej użyć w dowolnym przepływie.
Utknąłem na funkcji, która ma odczytać rekordy tej tablicy , porównać z tym co przychodzi w aktualnej msg i zwrócić nazwę użytkownika, którego id przychodzi w wiadomości msg.
Teraz obrazowo, cały dzień roleta sobie wędruje na podstawie ilości światła i tym steruje user -supervisor, dokąd go nie zmienię wszystko działa jak zawsze, teraz biorę telefon , ustawiam roletę w dowolne położenie i w wiadomości msg wpada informacja, że zrobił to user- grzesiek, a skoro nie supervisor to mogę użyć noda switch , w którym ustawię, że jak grzesiek to zablokuj dalsze poczynania supervisora aż do odwołania np o 22:59.
Jak ktoś wie jak napisać taką funkcję z pętlą for , to mogę podać więcej szczegółów.
Zrobiłem to na razie wykorzystując trzy wyjścia noda switch i nodów change, ale to mało eleganckie i nie bardzo mogę z tego zrobić subflow.
Aż tak dużo użytkowników masz , że musi być do tego tablica ?
Nie można tego po chłopsku zrobić z if ... then i wpisać to po kolei w funkcję jeżeli wejście to ten id to ustaw wyjście na grzesiek ?
@mig41 dzięki za chęć pomocy, ale tak to miałem już wcześniej. Chcę, a w zasadzie już mam, bo właśnie testuję subflow, ktory mogę podstawić w dowolnym flow , np do powiadomień , czy rolet , bram i ważnych urządzeń. Tablica jest o tyle wygodna, że jedną pętlą for sprawdza mi który użytkownik wykonał akcję.
Testuję na bramie i działa całkiem ok , jak otwieram będąc w domu, to brak powiadomień bez względu na użytkownika, jak otwiera grzesiek z poza domu, to brak powiadomienia, bo robię to ja z telefonu, jak otwiera supervisor, a ja jestem poza domem to dostaję powiadomienie. Widzę potencjał dla tego subflow, nie tylko do rolet 🙂