Supla Scripts Termostat 2.0

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Awatar użytkownika
Lucas
Posty: 630
Rejestracja: pn lip 31, 2017 7:11 am
Lokalizacja: Chrzanów

wt sty 09, 2018 9:23 am

fracz pisze:
wt sty 09, 2018 9:19 am
Raczej nie. Powiadomienia to sporo dłubania w GUI (widać po rozbudowaniu configu do powiadomień w skryptach 1.0). A czas który bym na to poświęcił wolę przeznaczyć na powiadomienia w cloudzie, bez skryptów.

Funkcjonalność którą opisujesz zrealizujesz bardzo prosto zwykłym skryptem który co jakiś czas sprawdzi wartość temperatury (np. używając adresu URL sceny) i jeśli będzie nie taka jak chcesz, wyśle maila. Komendę do skryptu masz kotową jak wybierzesz "kopiuj w formacie cURL" czy jakoś tak a przykładowy skrypt który wysyła maila jak cos się dzieje masz tutaj: http://www.linuxjournal.com/content/tec ... e-gets-low (w tym przypadku wysyła maila jak kończy się miejsce na dysku).
Dziękuję, potestuję.
8x Sonoff Basic, 1x Sonoff Touch, 2x ROW-02, 1x SRW-03, 1x SLW-01, 1x LIW-01, 1x Shelly 1v3, 2x Yunshan, 1x MoesHouse, 1x BW-SHP6, 2x Smart DGM, kilka modułów na D1 mini, LSC Smart, GH + Trådfri + RM mini 3 i notoryczny brak czasu na więcej...
sledzik9
Posty: 5
Rejestracja: czw gru 29, 2016 12:20 pm

czw sty 18, 2018 11:55 am

Witam
Od niedawna korzystam z Supla Scripts - uważam że są świetne.

Mam pytanie do twórcy czy myślał nad wprowadzeniem dodatkowego parametru (termometru czynników zewnętrznych), a mianowicie:
zakładając że w pomieszczeniu mam 2 termometry które sprawdzają temperaturę i na tej podstawie profil w termostacie włącza grzanie
profil ustawiony jest:
w pomieszczeniu temp spadnie do 3 stopni zacznij grzać do 15 stopni

przydał by się jeszcze termometr "z temperaturą np na zewnątrz" jeśli temperatura na zewnątrz jest wyższa równa 3 stopnie nie załączaj grzania

Pozdrawiam
Awatar użytkownika
fracz
Posty: 1856
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

pt sty 19, 2018 10:02 am

Lucas pisze:
wt sty 09, 2018 9:23 am
fracz pisze:
wt sty 09, 2018 9:19 am
Raczej nie. Powiadomienia to sporo dłubania w GUI (widać po rozbudowaniu configu do powiadomień w skryptach 1.0). A czas który bym na to poświęcił wolę przeznaczyć na powiadomienia w cloudzie, bez skryptów.

Funkcjonalność którą opisujesz zrealizujesz bardzo prosto zwykłym skryptem który co jakiś czas sprawdzi wartość temperatury (np. używając adresu URL sceny) i jeśli będzie nie taka jak chcesz, wyśle maila. Komendę do skryptu masz kotową jak wybierzesz "kopiuj w formacie cURL" czy jakoś tak a przykładowy skrypt który wysyła maila jak cos się dzieje masz tutaj: http://www.linuxjournal.com/content/tec ... e-gets-low (w tym przypadku wysyła maila jak kończy się miejsce na dysku).
Dziękuję, potestuję.
Udało się?
sledzik9 pisze:
czw sty 18, 2018 11:55 am
Witam
Od niedawna korzystam z Supla Scripts - uważam że są świetne.

Mam pytanie do twórcy czy myślał nad wprowadzeniem dodatkowego parametru (termometru czynników zewnętrznych), a mianowicie:
zakładając że w pomieszczeniu mam 2 termometry które sprawdzają temperaturę i na tej podstawie profil w termostacie włącza grzanie
profil ustawiony jest:
w pomieszczeniu temp spadnie do 3 stopni zacznij grzać do 15 stopni

przydał by się jeszcze termometr "z temperaturą np na zewnątrz" jeśli temperatura na zewnątrz jest wyższa równa 3 stopnie nie załączaj grzania

Pozdrawiam
Nie myślałem.
Awatar użytkownika
Lucas
Posty: 630
Rejestracja: pn lip 31, 2017 7:11 am
Lokalizacja: Chrzanów

pt sty 19, 2018 12:55 pm

fracz pisze:
pt sty 19, 2018 10:02 am
Lucas pisze:
wt sty 09, 2018 9:23 am
fracz pisze:
wt sty 09, 2018 9:19 am
Raczej nie. Powiadomienia to sporo dłubania w GUI (widać po rozbudowaniu configu do powiadomień w skryptach 1.0). A czas który bym na to poświęcił wolę przeznaczyć na powiadomienia w cloudzie, bez skryptów.

Funkcjonalność którą opisujesz zrealizujesz bardzo prosto zwykłym skryptem który co jakiś czas sprawdzi wartość temperatury (np. używając adresu URL sceny) i jeśli będzie nie taka jak chcesz, wyśle maila. Komendę do skryptu masz kotową jak wybierzesz "kopiuj w formacie cURL" czy jakoś tak a przykładowy skrypt który wysyła maila jak cos się dzieje masz tutaj: http://www.linuxjournal.com/content/tec ... e-gets-low (w tym przypadku wysyła maila jak kończy się miejsce na dysku).
Dziękuję, potestuję.
Udało się?
Bez bicia przyznam się, że jeszcze nie miałem chwili, aby się zabrać za testy :?
8x Sonoff Basic, 1x Sonoff Touch, 2x ROW-02, 1x SRW-03, 1x SLW-01, 1x LIW-01, 1x Shelly 1v3, 2x Yunshan, 1x MoesHouse, 1x BW-SHP6, 2x Smart DGM, kilka modułów na D1 mini, LSC Smart, GH + Trådfri + RM mini 3 i notoryczny brak czasu na więcej...
loloslol
Posty: 17
Rejestracja: śr gru 27, 2017 10:30 pm

śr sty 24, 2018 10:07 am

Cześć,
Mam pytanie do Fracza, od pewnego czasu korzystam z termostatu 2.0 i zauważyłem występowanie pewnej anomalii. Mam wpiętych 8 sonoffów TH10 do sterowania temperaturą w pomieszczeniach. Kiedyś już zauważyłem, że w jednym z pomieszczeń wystąpiła sytuacja nie wyłączenia przekaźnika w TH10 tymczasem w aplikacji - w przeglądarce lub na androidzie widniało, że przełącznik się wyłączył. Myślałem, że to jakiś jednorazowy błąd, ale wczoraj wydarzyło się dokładnie to samo. Zrobiłem więc zrzuty z logów i wykres gdzie widać, że przełącznik się nie wyłączył, mimo iż w logu jest zapis że został wyłączony. Fizycznie sprawdziłem - faktycznie przełącznik był włączony mimo, że w aplikacji widniał zapis, że jest wyłączony. Czy masz możliwość sprawdzenia co mogło być przyczyną takiej sytuacji? Czy to jakieś zaburzenie wynikające z braku sieci czy też jakaś inna przyczyna, chodzi mi o to żeby wyeliminować takie przypadki w przyszłości. Załączam zrzuty z logów i wykres, sytuacja miała miejsce o 20:05, kanał #845 (Łazienka góra), mimo wpisu w logu o wyłączeniu kanału - przełącznik był cały czas włączony co można zaobserwować na wykresie. O godz 0:04 wykonałem ręczne wyłączenie włączenie termostatu, ale newralgiczny przełącznik wciąż się nie wyłączył, dopiero o godz. 0:16 wykonałem ręczne włączenie i wyłączenie przełącznika z przywróceniem do automatyki, i wtedy przełącznik się wyłączył. W razie jakby trzeba było jakichś dodatkowych informacji to daj znać.

Z góry dzięki za pomoc.
pozdrawiam
Krzysiek
Załączniki
temp_laz_anomalia.JPG
temp_laz_anomalia.JPG (80.12 KiB) Przejrzano 2199 razy
logi_laz_anomalia.JPG
logi_laz_anomalia.JPG (117.86 KiB) Przejrzano 2199 razy
Awatar użytkownika
fracz
Posty: 1856
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

śr sty 24, 2018 6:07 pm

1. Czy aplikacja supla na androidzie pokazywała że kanał jest włączony czy wyłączony?
2. Czy cloud twój czy oficjalny na supla.org?
3. Skrypty Twoje czy na fracz.com?
loloslol
Posty: 17
Rejestracja: śr gru 27, 2017 10:30 pm

śr sty 24, 2018 8:14 pm

Hej,
Dzięki za podjęcie tematu,
1. Aplikacja na Androidzie pokazywała, że wyłączony - z tej aplikacji właśnie robiłem manewry - czyli restartowałem termostat oraz ręcznie włączałem i wyłączałem urządzenie.
2. nie mój - na supla.org - nie włączałem żadnych zdarzeń na cloudzie - jest czysto.
3. Skrypty u Ciebie, na fracz.supla.com - nazwa konta: loloslol

pozdrawiam
Krzysiek
Awatar użytkownika
fracz
Posty: 1856
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

śr sty 24, 2018 9:12 pm

Aplikacja na Androidzie: chodzi mi o tą zieloną suplową. Czy tam stan kanału był pokazywany poprawnie?

Generalnie w tym termostacie jest zaimplementowana antyupierdliwość. Tj aplikacja pamięta co ostatnio robiła z danym kanałem i nie sprawdza czy "w międzyczasie" coś się nie zmieniło.

Przykład:
Temperatura jest za niska. Termostat wysyła żądanie włączenia kanału grzejącego niezależnie od jego stanu. Jeśli to się udało, zapamiętuje sobie "ok, włączyłem więc się grzeje". Od tej pory czeka na spełnienie warunku temperaturowego, który może zostać osiągnięty przez a) udało się dogrzać lub b) zmienił się profil i ma on teraz niższą temperaturę docelową. W obydwu przypadkach z punktu widzenia termostatu została osiągnięta oczekiwana temperatura.

Teraz termostat sprawdza zapamiętany stan: widzi, że kanał grzejący z jego punktu widzenia jest włączony. Wysyła więc żądanie wyłączenia go i jeśli się uda - zapisuje sobie stan "ok, wyłączyłem - masz ciepło". I czeka na spełnienie znowu warunku temperatury za niskiej - wracając na początek algorytmu.

Antyupierdliwość polega na tym, że termostat nie sprawdza jaki jest stan kanału tylko pamięta raz wykonaną akcję. Dzięki temu (przez to) możesz oszukać termostat np. manualnie zmieniając stan kanału albo robiąc to z poziomu aplikacji SUPLA. Stan kanału się zmieni (np. go wyłączysz przyciskiem) a termostat cały czas będzie pamiętać że wg niego jest włączony i dopóki nie zostanie osiągnięty któryś z warunków, będzie w tym swoim szczęściu działał. Mechanizm ten wprowadziłem by respektować że człowiek ma zawsze rację. W przeciwnym razie ręcznie wyłączony przekaźnik po chwili znowu (upierdliwie) włączyłby się przez termostat i mogłyby się dziać rzeczy niepożądane.

Jako że jesteś pierwszą osobą która zgłasza taki problem, sądzę że gdzieś ten mechanizm u Ciebie kuleje. Sam używam termostatu u siebie (chyba jako jedynego ficzura skryptów :D) i nie miałem takich problemów. Czy na pewno ktoś manualnie nie steruje tymi przekaźnikami, lub steruje nimi bez pośrednictwa termostatu? Wyobrażam sobie, że termostat o 20:05 wyłączył grzanie po czym Żona Ci stwierdziła że jej zimno i w aplikacji SUPLA sobie grzanie włączyła (zauważ że od ~20:15 do 21 temperatura nieznacznie spadła). Termostat nie dowiedział się o tym (nie odłożyło się to także w logach) i dlatego cały czas myślał że się nie grzeje. Operacje które opisuejsz że wykonałeś w termostacie były konieczne do tego by zsynchronizować stan termostatu ze stanem faktycznym: włączenie i wyłączenie termostatu nic nie dało bo nie wszedłeś w żaden z dwóch warunków opisanych wyżej. Dopiero włączenie (synchronizacja stanu) i powrót do automatyki (czyli wyłączenie, i w końcu termostat wie jak jest na prawdę) spowodowało że wszystko wróciło do normy.

Jeśli przetrawisz się przez te "bebechy - jak to działa", zrobisz dochodzenie wśród domowników i stwierdzisz że to co tu przypuszczam jest niemożliwe - postaram się znaleźć przyczynę.
loloslol
Posty: 17
Rejestracja: śr gru 27, 2017 10:30 pm

śr sty 24, 2018 10:10 pm

Dzięki za odpowiedź i zaangażowanie,
Oczywiście przeprowadzę jeszcze śledztwo, ale ingerencja kogokolwiek jest raczej wykluczona. Generalnie całość złożyłem i uruchomiłem końcem grudnia 2017. Małżonka jak i dzieciaki na razie nie mają dostępu do aplikacji ani przez przeglądarkę ani przez smartfona, jak również nie mają świadomości możliwości naciśnięcia guzika na urządzeniu. Urządzenia są zamontowane w taki sposób, że nie ma możliwości (bez skorzystania ze stołka, drabiny itp) ich dosięgnąć. Urządzenie, które wczoraj zakaprysiło zlokalizowane jest na szafce łazienkowej ok 2m od podłogi - w ogóle go nie widać i żaden z domowników nawet nie wie że tam jest, jedynie czujnik temp/wilg przyklejony jest na ściance bocznej szafki. Dzieciaki są za małe żeby tam dosięgnąć, mojej lepszej połowie - na 100% by się nie chciało tam sięgać i czegokolwiek naciskać ;-) . Urządzenie, które zachowało się tak samo poprzednio jest w mojej dziupli - na szafie, poza jakimkolwiek zasięgiem domowników. Ponieważ Twoje skrypty są dla mnie bardzo świeże i jestem mega pod wrażeniem działania, często zaglądam do panelu - zarówno na smartfonie jak i przez przeglądarkę, generalnie nic tam nie zmieniam ponieważ zależy mi żeby dobrze złapać tendencje w zachowaniu rozkładu temperatur w monitorowanych pomieszczeniach, niemniej zaglądam często. Tak się zastanawiam, czytając Twój post, czy przypadkiem logowania naprzemienne z telefonu i laptopa nie wprowadzają jakiejś anomalii. Tak sobie jeszcze myślałem, że może niefortunnie wybrałem jednakowe czasy końca i początku profili. Spróbuję na bazie Twojego opisu obrazującego algorytm działania przeanalizować co się mogło stać i ewentualnie pozwolę sobie jeszcze poprosić o wsparcie.
A nawiasem mówiąc super projekt i świetne wykonanie, szacun ;-)

pozdrawiam
Krzysiek
Awatar użytkownika
fracz
Posty: 1856
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

śr sty 24, 2018 10:30 pm

loloslol pisze:
śr sty 24, 2018 10:10 pm
czy przypadkiem logowania naprzemienne z telefonu i laptopa nie wprowadzają jakiejś anomalii. Tak sobie jeszcze myślałem, że może niefortunnie wybrałem jednakowe czasy końca i początku profili.
Jedno i drugie jest ok i nie powinno mieć wpływu na działanie. Skoro w logach o 20:05 odłożyło się że kanał został wyłączony, tzn. że skrypty poprawnie zleciły wyłączenie kanału do SUPLI i dostały okejkę że się udało. Późniejsza bierność algorytmu wynikała już z opisanego sposobu działania.

Jeśli sytuacja się powtórzy, zobacz w oficjalnej aplikacji SUPLI czy stan kanału zgadza się ze stanem faktycznym.
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”