Natomiast tak na szybko chciałbym coś uporządkować/wyjaśnić:
te bramki logiczne, które są obecnie dostępne w Z2S, działają w oparciu o system akcji/zdarzeń wbudowany w SuplaDevice - dzięki temu można je integrować z innymi elementami SD, takimi jak np. przekaźniki czy termostaty.
Poniżej opis mechanizmu, w jakim pracuje np. bramka AND3:
1) bramka ma trzy "piny" A, B, C = na starcie każdy ma z nich ma wartość 0.
2) Każda akcja wejściowa TURN_ON na bramkę logiczną powoduje, że bramka zaczyna od pinu A i pierwszy pin == 0 ustawia na 1,
3) oraz jeżeli któryś z pinów się zmienił (co nie zawsze jest prawdą - np. po 3x TURN ON pod rząd) przeprowadza operację AND na pinach,
4) na podstawie wyniku operacji AND generuje akcję wyjściową (TURN_ON/TURN OFF)
5) analogicznie w przypadku operacji wejściowej TURN_OFF na bramkę - bramka zaczyna od pinu A i pierwszy pin == 1 ustawia na 0,
6) oraz jeżeli któryś z pinów się zmienił (co nie zawsze jest prawdą - np. po 3x TURN OFF pod rząd) przeprowadza operację AND na pinach,
7) na podstawie wyniku operacji AND generuje akcję wyjściową (TURN_ON/TURN OFF).
To oznacza, że bramka nie ma "sztywnych" wejść - ten sam przekaźnik kolejnymi akcjami TURN_ON/TURN_OFF będzie przełączał różne piny w bramce -dzieje się tak dlatego, że ów system akcji/zdarzeń w SD nie przekazuje informacji o nadawcy - metoda handleAction dostaje tylko action i event.
Może się okazać, że do bardziej złożonych operacji potrzebne jest rozwiązanie, jakie zaimplementowałem w zdalnym termometrze - tam termometr rejestruje nowych klientów i umie rozpoznać, od którego przyszła nowa wiadomość.
Ewentualnie @klew rozszerzy SD o możliwość przekazywania danych klienta do handleAction - chyba, że ja czegoś nie dostrzegam
