25 sty 2016

Konfiguracja OpenZWave i Comet Z-wave

Nadszedł czas na opisanie konfiguracji sticka UZB1 oraz wpięcia w system głowicy termostatycznej Comet Z-wave.



Po podłączeniu sticka UZB1 do Raspberry Pi 2, Domoticz automatycznie wykrył nowe urządzenie USB, oznaczone: /dev/tty/ACM0

Pozostało jedynie skonfigurować Nowe urządzenie w sekcji Hardware/Sprzęt, typu
OpenZWave USB z portem wymienionym poniżej, nazwać je wg własnego uznania (u mnie Z-wave_stick) i kontroler podjął działanie.

Następnie należy kliknąć Konfiguracja na nowododanym urządzeniu, wybrać Zarządzanie węzłami i uruchomić Dołącz nowy węzeł z kolorowego menu. Po chwili w naszym systemie zostanie aktywowany termostat (opisuję to na przykładzie wspomnianego wcześniej Comet Z-wave) i/lub inne posiadane przez nas urządzenia.

W moim przypadku, w logach Domoticza można odczytać następujące wartości:
2016-01-24 13:03:47.901 OpenZWave: Starting...
2016-01-24 13:03:47.902 OpenZWave: Version: 1.4-3-g3f1d609
2016-01-24 13:03:47.902 OpenZWave: using config in: /home/pi/domoticz/Config/
2016-01-24 13:03:48.737 OpenZWave: Driver Ready
2016-01-24 13:03:48.741 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Step Size, Instance: 1
2016-01-24 13:03:48.741 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Inc, Instance: 1
2016-01-24 13:03:48.741 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Dec, Instance: 1
2016-01-24 13:03:48.741 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Level, Instance: 1
2016-01-24 13:03:48.743 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Open, Instance: 1
2016-01-24 13:03:48.743 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SWITCH MULTILEVEL, Label: Close, Instance: 1
2016-01-24 13:03:48.743 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: SENSOR MULTILEVEL, Label: Temperature, Instance: 1
2016-01-24 13:03:48.743 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: THERMOSTAT MODE, Label: Mode, Instance: 1
2016-01-24 13:03:48.744 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: THERMOSTAT SETPOINT, Label: Comfort setpoint, Instance: 1
2016-01-24 13:03:48.744 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: THERMOSTAT SETPOINT, Label: Furnace, Instance: 7
2016-01-24 13:03:48.744 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: THERMOSTAT SETPOINT, Label: Energy saving setpoint, Instance: 11
2016-01-24 13:03:48.745 OpenZWave: Value_Added: Node: 3 (0x03), CommandClass: BATTERY, Label: Battery Level, Instance: 1
2016-01-24 13:03:48.744 (Z-wave_stick) General/Thermostat Mode (Termo-KorG Status)
2016-01-24 13:03:48.789 (Z-wave_stick) Thermostat (SetP Std)
2016-01-24 13:03:48.823 (Z-wave_stick) Thermostat (SetP3)
2016-01-24 13:03:48.824 (Z-wave_stick) Thermostat (SetP Eco)
2016-01-24 13:03:51.960 Hardware Monitor: Fetching data (System sensors)
2016-01-24 13:03:52.981 OpenZWave: Awake Nodes queried

W moim przypadku, urządzenie nazywa się Termo-KorG, a jego urządzenia zdefinowane w systemie to odpowiednio: Termo-KorG Status, podający, czy urządzenie jest aktualnie w trybie grzania (Heat), eco (Heat Eco), czy też jest wyłączone, SetP Std - standardowo zadana temperatura komfortowa, SetP Eco - temperatura okresu ekonomicznego oraz Termo-KorG Level, czyli jak rozumiem poziom/procent otwarcia zaworu, który nie jest podany w logu.

Comet Z-wave

Tyle teorii, w praktyce niestety jest dość dziwnie. Po pierwsze, termostat okrutnie przekłamuje temperaturę panującą w otoczeniu. Informacja zwrotna o temperaturze miała być podstawowym wyróżnikiem tej głowicy w stosunku do Danfossa LC-13, ale co z tego, skoro temperatura zmierzona przez głowicę ma się nijak do faktycznej temperatury w pomieszczeniu? Prowadzi to do konieczności podawania korekty temperatury w Domoticzu i oznacza konieczność ustawienia zawyżonych temperatur w wartościach setpoint.

Należy także pamiętać, iż zmian wartości w konfiguracji Cometa można dokonywać jedynie, gdy urządzenie jest w stanie Awake, a nie Sleep (czyli gdy nie śpi). Nie byłoby problemu, gdyby nie to, że standardowo Comet jest ustawiony na okresy Awake z minimalną dopuszczalną częstotliwością równą 604672 sekund, czyli 168 godzin. Jak więc uśnie, nie ma szans na przekazanie mu parametrów.
Tzn. ta kwestia wymaga jeszcze weryfikacji, gdyż urządzenie w Panelu sterowania Z-wave (dostępnym w Domoticzu przez przycisk Konfiguracja na urządzeniu OpenZWave USB -> Zarządzanie węzłami -> Panel sterowania) oznaczone jest jako beamable. Oznacza to wg standardu, że urządzenie w każdym cyklu minutowym nasłuchuje przez około sekundę sygnału wybudzenia, który pozwala na pełne obudzenie urządzenia i odebranie poleceń konfiguracyjnych.

Nie mam jednak jasności, czy ten standard jest prawidłowo obsługiwany - w moim przypadku urządzenie drugiego dnia zasnęło całkowicie, mimo zmiany i zapisania parametru okresu wybudzenia na wartość minimalną, czyli 240 sekund. Dopiero kolejnego dnia sytuacja się poprawiła po serii wyłączeń baterii, a także okresie, kiedy urządzenie było w trybie Odpytywania przez Domoticza (co efektywnie nie pozwalało mu usnąć i kosztowało 14% baterii) - urządzenie wprawdzie usypia, ale także budzi się i odbiera komunikaty z kontrolera. Natomiast niepoprawna temperatura powoduje, że nie udało mi się na razie stwierdzić, że działa poprawnie. Więcej informacji wkrótce.