Supla Scripts Termostat 2.0

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
Lucas
Posts: 410
Joined: Mon Jul 31, 2017 7:11 am
Location: Chrzanów

Tue Jan 09, 2018 9:23 am

fracz wrote:
Tue Jan 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ę.
sledzik9
Posts: 5
Joined: Thu Dec 29, 2016 12:20 pm

Thu Jan 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
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Fri Jan 19, 2018 10:02 am

Lucas wrote:
Tue Jan 09, 2018 9:23 am
fracz wrote:
Tue Jan 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 wrote:
Thu Jan 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.
User avatar
Lucas
Posts: 410
Joined: Mon Jul 31, 2017 7:11 am
Location: Chrzanów

Fri Jan 19, 2018 12:55 pm

fracz wrote:
Fri Jan 19, 2018 10:02 am
Lucas wrote:
Tue Jan 09, 2018 9:23 am
fracz wrote:
Tue Jan 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 :?
loloslol
Posts: 17
Joined: Wed Dec 27, 2017 10:30 pm

Wed Jan 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
Attachments
temp_laz_anomalia.JPG
temp_laz_anomalia.JPG (80.12 KiB) Viewed 1463 times
logi_laz_anomalia.JPG
logi_laz_anomalia.JPG (117.86 KiB) Viewed 1463 times
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Jan 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
Posts: 17
Joined: Wed Dec 27, 2017 10:30 pm

Wed Jan 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
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Jan 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
Posts: 17
Joined: Wed Dec 27, 2017 10:30 pm

Wed Jan 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
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Jan 24, 2018 10:30 pm

loloslol wrote:
Wed Jan 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.
Post Reply