supla-device 22.12 wydana

User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Dziś pojawi(ła) się kolejna aktualizacja biblioteki supla-device.

Pełna lista zmian jest dostępna tutaj:
https://github.com/SUPLA/supla-device/b ... 2022-12-19

Kilka ciekawszych rzeczy:
- nowy input do pól tekstowych dla trybu konfiguracyjnego
- nowy przykład w Arduino jak używać inputów w trybie konfiguracyjnym
- dużo nowych możliwości dla użytkowników Linuxa (RPI, etc.), między innymi: raportowanie poziomu baterii, integracja falownika Afore, kanał temperatury+wilgotności, zapamiętywanie stanu przekaźnika, nowy typ przekaźnika, który odpala komendy na Linuxie
- przykład integracji Airly na Linuxie (wrzucę osobny post z tutorialem)
Najlepsze suple dla Twojego domu :mrgreen:
przygod
Posts: 118
Joined: Wed Jul 17, 2019 9:31 am

Post

Czy ten nowy CmdRelay lub poprzedni Virtial jakkolwiek sprawdza czy wartość tego pliku:
"restore" will use state storage file to keep and restore relay state
zmienia się w czasie? Czy to tylko jest sprawdzane przy starcie?
Ewentualnie czy jest obecnie jakaś inna metoda aktualizacji takiego przełącznika jeśli zmiana stanu nastąpiła poza aplikacją supla?
User avatar
lukfud
Posts: 2480
Joined: Thu Nov 23, 2017 11:33 pm
Location: Warszawa
Has thanked: 13 times
Been thanked: 11 times

Post

przygod wrote: Mon Dec 19, 2022 3:22 pm Czy ten nowy CmdRelay lub poprzedni Virtial jakkolwiek sprawdza czy wartość tego pliku:
"restore" will use state storage file to keep and restore relay state
zmienia się w czasie? Czy to tylko jest sprawdzane przy starcie?
Ewentualnie czy jest obecnie jakaś inna metoda aktualizacji takiego przełącznika jeśli zmiana stanu nastąpiła poza aplikacją supla?
To jest stan przywracany z pamięci tylko przy starcie.
Co dokładnie chciałbyś aktualizować?
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
przygod
Posts: 118
Joined: Wed Jul 17, 2019 9:31 am

Post

lukfud wrote: Mon Dec 19, 2022 3:30 pm
przygod wrote: Mon Dec 19, 2022 3:22 pm Ewentualnie czy jest obecnie jakaś inna metoda aktualizacji takiego przełącznika jeśli zmiana stanu nastąpiła poza aplikacją supla?
To jest stan przywracany z pamięci tylko przy starcie.
Co dokładnie chciałbyś aktualizować?
Stan kanału który uległ zmianie poza aplikacja supla:) Mam urządzenia które steruję różnymi komendami z rpi, obecnie ich stan widzę w supla tylko gdy ktoś uruchomi je z supli... Szukam sposobu by stan był widoczny także gdy ktoś uruchomi dane urządzenia ręcznie/pilotem. Wbrew pozorom nie jest to jakiś abstrakcyjny scenariusz...
Aktualizację stanu w pliku ogarnę, pytanie tylko czy którakolwiek z dostępnych bibliotek jest w stanie go zbierać tak jak np ma to miejsce w przypadku innych termometrów czy liczników.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

przygod wrote: Mon Dec 19, 2022 3:52 pm
lukfud wrote: Mon Dec 19, 2022 3:30 pm
przygod wrote: Mon Dec 19, 2022 3:22 pm Ewentualnie czy jest obecnie jakaś inna metoda aktualizacji takiego przełącznika jeśli zmiana stanu nastąpiła poza aplikacją supla?
To jest stan przywracany z pamięci tylko przy starcie.
Co dokładnie chciałbyś aktualizować?
Stan kanału który uległ zmianie poza aplikacja supla:) Mam urządzenia które steruję różnymi komendami z rpi, obecnie ich stan widzę w supla tylko gdy ktoś uruchomi je z supli... Szukam sposobu by stan był widoczny także gdy ktoś uruchomi dane urządzenia ręcznie/pilotem. Wbrew pozorom nie jest to jakiś abstrakcyjny scenariusz...
Aktualizację stanu w pliku ogarnę, pytanie tylko czy którakolwiek z dostępnych bibliotek jest w stanie go zbierać tak jak np ma to miejsce w przypadku innych termometrów czy liczników.
Takiego czegoś na razie nie ma.
Podaj jakiś konkretny przykład jak to działa. Czym sterują te inne urządzenia i jak można taki stan odczytać
Najlepsze suple dla Twojego domu :mrgreen:
przygod
Posts: 118
Joined: Wed Jul 17, 2019 9:31 am

Post

klew wrote: Mon Dec 19, 2022 5:27 pm Takiego czegoś na razie nie ma.
Podaj jakiś konkretny przykład jak to działa. Czym sterują te inne urządzenia i jak można taki stan odczytać
Jasne. Ja np steruje wiatrakami przy użyciu biblioteki:
https://github.com/rytilahti/python-miio

Code: Select all

on =   miiocli fanmiot --ip 'x.x.x.x' --token='token_value' on
off =   miiocli fanmiot --ip 'x.x.x.x' --token='token_value' off
status=        miiocli fanmiot --ip 'x.x.x.x' --token='token_value' status |grep Power: | cut -d : -f2
^^ ze status bierzemy wartość power i już możemy ustawić odpowiednią flagę w supli jeśli ktoś takie urządzenie włączył ręcznie.

Inny przykład to np PyViCare
https://github.com/somm15/PyViCare
do włączania / sprawdzania stanu ogrzewania...

To tylko przykłady ale przecież zastosowań można podać wiele i dowolny skrypt uruchamiany CmdRelay mógłby raportować swój status.
Być może udało się zastosować coś na zasadzie parametru source tych kanałów typu parsed?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

przygod wrote: Mon Dec 19, 2022 11:53 pm To tylko przykłady ale przecież zastosowań można podać wiele i dowolny skrypt uruchamiany CmdRelay mógłby raportować swój status.
Być może udało się zastosować coś na zasadzie parametru source tych kanałów typu parsed?
Dodałem możliwość określenia parametru "state" dla CmdRelay.
Działa to tak, że jak nie ma "state", to działa to po staremu jak VirtualRelay i stan jest trzymany w pamięci.

Gdy dodamy "state", to trzeba też zdefinować Parser (i Source). Działa to identycznie jak przy BinaryParsed i można używać tego w analogiczny sposób.

Zalecałbym tylko określenie jakiegoś rozsądnego czasu odświeżania stanu.

Kod jest na branchu main.
Najlepsze suple dla Twojego domu :mrgreen:
przygod
Posts: 118
Joined: Wed Jul 17, 2019 9:31 am

Post

klew wrote: Tue Dec 20, 2022 10:32 am Dodałem możliwość określenia parametru "state" dla CmdRelay.
Działa to tak, że jak nie ma "state", to działa to po staremu jak VirtualRelay i stan jest trzymany w pamięci.

Gdy dodamy "state", to trzeba też zdefinować Parser (i Source). Działa to identycznie jak przy BinaryParsed i można używać tego w analogiczny sposób.

Zalecałbym tylko określenie jakiegoś rozsądnego czasu odświeżania stanu.

Kod jest na branchu main.
Super, działa wyśmienicie. Dziękuję!
Czy jest jakieś górne ograniczenie tego refresh którego powinienem unikać? Dla mnie czasy liczone w minutach są wystarczające (dla urządzeń włączanych kilka razy na dobę).
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

przygod wrote: Fri Dec 23, 2022 11:54 am Super, działa wyśmienicie. Dziękuję!
Czy jest jakieś górne ograniczenie tego refresh którego powinienem unikać? Dla mnie czasy liczone w minutach są wystarczające (dla urządzeń włączanych kilka razy na dobę).
Jak będziesz się trzymał poniżej 2000000000 s to powinno być ok :D
Najlepsze suple dla Twojego domu :mrgreen:
Robinson74
Posts: 404
Joined: Sun Nov 20, 2022 9:37 am
Has thanked: 13 times
Been thanked: 6 times

Post

przygod wrote: Mon Dec 19, 2022 11:53 pm Inny przykład to np PyViCare
https://github.com/somm15/PyViCare
do włączania / sprawdzania stanu ogrzewania...
Chyba tylko w tym jednym miejscu na całym forum wspomniany jest PyViCare.
Czy ktoś tego używa? Czy to działa w Supla?
W najnowszych kotłach Viessmanna (bez złącza Optolink) jest to jedyny sposób na wyciąganie mnóstwa danych, np. co 10 minut, i tworzenie statystyk i wykresów.

Return to “supla-dev”