Witam wszystkich.
Na początku chciałbym zaznaczyć, że to są moje pierwsze przygody z AFE Firmware w połączeniu z domoticzem.
Mój plan jest taki aby sterować trzema przekaźnikami w urządzeniu SonOff 4ch R3 poprzez MQTT.
Chciałbym, aby sterowanie przekaźnikami odbywało się poprzez przełącznik typu "Select Switch" z domoticza.
Ogólny plan działania wygląda następująco:
Wyłączony - R1[off], R2[off], R3[off]
Krótka połowa - R1[on], R2[off], R3[off]
Krótka całość - R1[on], R2[on], R3[off]
Całość - R1[on], R2[on], R3[on]
Mój problem polega na tym, że nie mam absolutnie pojęcia jak ugryźć ten temat, nigdy nie używałem przełączników tego typu. Sterowanie może odbywać się poprzez MQTT lub HTTP API. Do dyspozycji mam również Node Red na serwerze.
cześć @maxil gdybym znał się na Domoticz to napisałbym regułę wysyłająca komendy MQTT, żeby te poszczegołne przekaźniki włącząć (jeśli da się z poziomu reguły w domoticz wysłać komendy MQTT)
Inna wersja też z regułą. W Domoticz masz ten przycisk Select + dodatkowo Przłączniki, które bedą odpowiadały każdemu z tych przekaźników R1-R3, i regułą przy zmianie tego Select będzisz ustawiał te przełączniki, które to już będą wysyłały komendy MQTT automatycznie do AFE.
Wiem kto byłby w stanie to zrobić @isom 😉 , ale ostanio przeszedł na HA, więc nie wiem.
Chciałbym, aby sterowanie przekaźnikami odbywało się poprzez przełącznik typu "Select Switch" z domoticza.
Pytanie, czy wszystkie przekaźniki R1- R3 masz widoczne w Domoticz?
Pytam dlatego, że problem jest dość banalny, a jego rozwiązań jest kilka, jeśli masz dodane te trzy kanały do Domoticz, to nawet zdarzenia nie są potrzebne.
Przełącznik selektor ma akcje dla każdego poziomu, w każdej z akcji można wpisać json, który wywywoła odpowiednią akcję, np dla poziomu "Krótka połowa" , będzie to akcja uruchomenia pierwszego przekaźnika
Załóżmy że pierwszy przekaźnik ma IDX 11, to w akcji selektora wstawiamy
http://IP-Domoticz:Port/json.htm?type=command¶m=switchlight&idx=11&switchcmd=On
Teraz przejdzmy do dwóch poziomów "Wył" i "Całość" , do ich realizacji można użyć Grupy w Domoticz, czyli tworzymy sobie grupę do której dodajemy wszystkie trzy kanały, sterowanie grupą wyglada podobnie z tym że włączane/wyłaczane są wszystkie urządzenia należące do tej grupy. Czyli w akcji selektora dla "Całość" będzie
http://IP-Domoticz:Port/json.htm?type=command¶m=switchscene&idx=1&switchcmd=On
a dla "Wyłączone"
http://IP-Domoticz:Port/json.htm?type=command¶m=switchscene&idx=1&switchcmd=Off
Tu też należy wpisać poprawny IDX dla grupy, w moim przykładzie to 1
Zostaje poziom "Krótka Całość" i tu można zastosować taki myk, w akcji selektora wstawić json dla kanału 2, to pozwoli włączyć kanał drugi z tego poziomu selektora, ale brakuje nam kanału 1 , wiec a akcji kanału 2 dla ON dajemy json który włączy kanał 1.
Innymi słowy włączenie kanału 2 zawsze włączy kanał 1.
Ta metoda ma swoje wady, a w zasadzie jedną, włączenie kanału 2 równocześnie włączy kanał 1 i trzeba mieć tego świadomość, albo dodać sobie scenę w Domoticz , która włączy tylko dwa kanały, albo skorzystać z prostych skryptów w blockly, gdzie wszystko można ułożyć, bez korzystania z akcji selektora, albo napisać prosty skrypt w dzVents. Możliwości są, wybieramy co nam bardziej odpowiada.
@isom Nie pomyślałem w ogóle o scenach. Hah głupi ja 😋
Zrobione i działa świetnie. Nawet feedback zrobiłem gdy przekaźniki załączane są manualnie przyciskiem z obudowy.
Serdeczne podziękowania za pomoc, a dla @adrian poleci donate za kawał dobrej roboty z firmware.