Witam i z góry przepraszam, za najprawdopodobniej powielony temat.
Jestem elektronikiem i hobbystą co chodzi o programowanie. Ok do rzeczy.
A i jestem zielony z HA - mój pierwszy raz:)
Zbudowałem kilka urządzeń opartych o ESP oraz protokół MQTT (nie są kopią z internetu)
Do tej pory całe sterowanie oraz interfejs graficzny mam zbudowane w oparciu o NODE-RED. Wszystko działa fajnie ale są pewne problemy z BLE, więc postanowiłem spróbować czegoś innego i trafiłem na Home Assistant.
Zainstalowałem HA, brokera mqtt, dodałem bistabilny button (w helpers) i tak po wciśnięciu buttonu zmienia się jego kolor a urządzenie się załącza, wcisnę drugi raz - zmienia się kolor a urządzenie się wyłączy. Super ale czuję niedosyt.
W przypadku manualnego włączenia lub wyłączenia urządzenia (przyciskiem na urządzeniu) chciałbym aby zmienił się stan oraz kolor ikony na owym buttonie. I zupełnie nie wiem jak to ugryźć. Dodam, że urządzenie w przypadku danego zachowania publikuje w jakim jest stanie i kto ten stan wywołał (lokalnie/zdalnie)
Jeszcze raz dziękuję za pomoc i prosiłbym aby nie szydzić z mojej niewiedzy. Próbuję rozwiązać, zapewne banalny problem, od kilku dni bezskutecznie.
Pozdrawiam
Witam.
Dołożyłem card-mod do HA i popełniłem a w zasadzie skopiowałem skrypt jak powyżej. Niestety efekt mizerny. Ikonka zamiast na zielono podświetla się na zółty (czy też pomarańczowy) - jak ikona encji bazowej.
Na pewno coś robię nie tak. YAML jest dla mnie nowością różniącą się bardzo od C++, C#, czy też C, w których sobie radzę.
Tu trochę mało logiczne.
Np nie rozumiem, dlaczego jak chcę stworzyć encję, to muszę wskazać encję bazową?
Widzę, że czeka mnie ciężka przeprawa.
Stan gniazda, jest odpowiedzią z urządzenia (reakcja na akcję np załączenia)
Widzę że masz imput_boolean,
czyli w NR sobie ustaliłeś że zapisujesz sobie stan, tak?
Napisz jakie stany sie pojawiają,
u mnie przy imput_boolean to wyglda tak:
EDIT
źle mówię, masz przełacznik którym wyzwalasz tak? ten imput boolean?
to robisz drugiego pomocnika, np. number jak wyżej, i w NR zapisuje w tym pomocniku aktualny stan jako 1/0 i potem na podstawie tego co ma wpisane zmieniam kolor ikony
Chyba ze masz jeszcze inaczej to musisz dokładnie to przedstawić
Witam.
Całość wygląda tak:
Ma helpera - input_boolean.smartplugswitch - typu przełącznik. Jedyne co robi to zmienia stan “on” lub “off”. Jego stan jest monitorowany przez “state node” w Node–Red. W chwili, gdy zmieni się stan helpera funkcja w “function node” sprawdza czy ustawiono “on” czy “off” i do MQTT publikuje odpowiednio “OUT_ON” lub “OUT_OFF”.
Gniazdo reaguje na rozkaz i się załączy, bądź wyłączy.
Każda zmiana stanu gniazda skutkuje publikowaniem przez nie do MQTT “kto spowodował zmianę stanu”. I tak: dla zdalnego mam odpowiedź “REMOTE_ON” lub “REMOTE_OFF” a dla manualnego (przyciskiem na obudowie) “LOCAL_ON” lub “LOCAL_OFF”;
I cały szkopuł w tym, że jeśli włączę gniazdo lokalnie, to chciałbym aby mój input_boolean.smartplugswitch podświetlił się wtedy.
Myślę, że lepiej było by zrobić encję MQTT Switch. Pozwoliła by na śledzenie stanu bezpośrednio po MQTT w HA, bez pomocnika i pośrednika w postaci NR. Komendy również możesz wysyłać wówczas bezpośrednio do urządzenia po MQTT.
Z tego co piszesz to efekt osiągniesz jak zrobisz tak:
w NR zrób że jak MQTT dostanie local-on to ma sie zmienic input_boolean.samrtplugswitch na on, a jak mqtt dostanie local-off to input dostanie off i masz dokładnie to: “jeśli włączę gniazdo lokalnie, to chciałbym aby mój input_boolean.smartplugswitch podświetlił się wtedy”
Witam.
No i jest sukces.
Na samym początku robiłem dokładnie tak jak pokazał Pan powyżej. Jednak nie działało, a ja nie raczyłem do debugu zaglądnąć.
Dzisiaj zajrzałem i okazało się, że jest info - “Connection Error”. Wystarczyło poczekać jakieś 2-3s aby usługa state node i service node połączyła się z HA.
Tak więc bardzo dziękuję za cierpliwość i wyrozumiałość.
Problem rozwiązany. Temat do zamknięcia