Witam wszystkich,
Jestem dość świeży w temacie, bo dotychczas moja automatyka domowa była niezintegrowana (wiele niezależnych automatów) i wreszcie próbuję to jakoś ładnie ogarnąć.
Na podstawie lektury smartnydom.pl oraz poszukiwań w sieci udało mi się już:
1. postawić na RPI3 serwer openHAB + broker MQTT;
2. zmienić firmware na posiadanych Sonoff'ach (aczkolwiek załączona na stronie instrukcja jest nieskuteczna- szczegóły niżej);
3. połączyć większość urządzeń do openHAB i zrobić jakiś dynamiczny site;
wszystko działa w miarę płynnie (czasem pierwsza komenda do Sonoff nie trafia - kombinuję dlaczego) i ogólnie byłbym zadowolony ale.....
Mam problem 😉 ze zrobieniem efektywnego sterowania filtrem powietrza z nawilżaczem PHILIPS AC4080. Urządzenie to jest zupełnie nieinteligentne i próbuję zintegrować je z Sonoff Basic R2.
Normalne sterowanie urządzeniem jest z panelu przycisków. Krótkie naciśnięcie POWER włącza, a długie naciśniecie wyłącza urządzenie. Sterowanie 230V odpada, bo nie jest zapamiętywany ostatni stan i każdorazowo po pojawieniu się zasilania urządzenie nie pracuje.
Podłączyłem się do panelu i mogę impulsem z SONOFF sterować włączaniem ale albo ręcznie (ON, 1sekunda, OFF) albo w AFE ustawić automatyczną długość impulsu na 1s. Niestety wyłączenie może być tylko ręczne (OK, 3sekundy, OFF).
Na razie walczę z regułą, a właściwie dwiema, jedna na włączanie, a druga na wyłączanie, ale jest słabo, głównie dlatego, że komunikacja po MQTT nie trzyma czasu. Bywa, że wiele testów przechodzi płynnie, ale po kilku godzinach pierwsza komanda jest jakoś gubiona i wszystko się rozłazi. Do tego mam problem z utrzymaniem informacji o obecnym stanie urządzenia, co utrudnia sprawy, bo gdyby była, to przecież w regule można by ponowić procedurę i po sprawie.
Z urządzenia mogę wziąć informację o stanie pracy bo znalazłem +5V gdy włączone i 0V gdy wyłączone.
Myślę, czy nie dałoby się w oprogramowaniu AFE przewidzieć takiego scenariusza, że urządzenie jest sterowane impulsem, a stan czytany z GPIO?
Ewentualnie może ktoś z większym doświadczeniem potrafi napisać taką inteligentną regułę, żeby nadzorować stan GPIO i wysyłać różne impulsy, a dodatkowo żeby to było widoczne jak zwykły przełącznik w openHAB?
PS.
W przypadku moich wersji SONOFF Basic R2 V.1.0 nie można było wgrać alternatywnego firmware żadnym wspomnianym tu programem, ale wyłącznie przez python'a. Zresztą podobnie jak się robi backup oryginalnego softu.
Czyli jedyna skuteczna metoda, to opisana: https://www.smartnydom.pl/forum/ogolne/zgranie-i-wgranie-calej-zawartosci-pamieci-sonoff/#post-2121
Co więcej w python firmware jest kompresowany przed wysłaniem, więc samo flashowanie trwa dosłownie sekundy.
Ok, wreszcie udało mi się wymyślić takie reguły żeby to dobrze działało.
Problem powodowało to, że czas 1 i 3 sekund robiłem przez sleep, a jak robię przez timer, to wszytko pięknie działa.