supla-device na Linux

kris.gie
Posty: 361
Rejestracja: czw kwie 28, 2016 4:24 pm
Lokalizacja: Katowice

klew pisze: pn maja 23, 2022 8:37 am
Proszę o podpowiedź jak użyć kanału temperatury i wilgotności (chyba jest taka możliwość?). A najlepiej to więcej informacji dla laika.
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

shimano73 pisze: śr lis 16, 2022 9:23 pm Jak używać VirtualRelay ? Na moim terminalu Wyse uruchomiłem sobie sterowanie przekaźnikiem po modbusie i chciałbym nim sterować z aplikacji. Potrzebowałbym stan VirtualRelay np w pliku txt, da się ?
Dodałem typ kanału "CmdRelay". W przykładzie w readme jest pokazane jak tego użyć do zapisania stanu.
Widzimy się na Supla Offline Party vol. 2 :!:
tomekk87
Posty: 185
Rejestracja: pt sie 02, 2019 12:19 pm

Proszę o odpowiedź czy za pomocą supla-device na Linux można odczytywać dane z własnego brokera MQTT i wyświetlać w formie np. kanału temp. w supli? Jeśli tak to gdzie znajdę przykład?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

tomekk87 pisze: czw gru 22, 2022 9:44 pm Proszę o odpowiedź czy za pomocą supla-device na Linux można odczytywać dane z własnego brokera MQTT i wyświetlać w formie np. kanału temp. w supli? Jeśli tak to gdzie znajdę przykład?
Aktualnie jeszcze nie ma obsługi MQTT.

W którejś wersji "supla-virtual-device" było wsparcie dla MQTT.
W supla-device trzeba jeszcze na to poczekać. Alternatywnie jesli jesteś w stanie jakoś wartośc parametru odczytać z MQTT i zapisać do pliku, to dalej z pliku dane wrzucisz do Supli.
Widzimy się na Supla Offline Party vol. 2 :!:
bigthomas
Posty: 234
Rejestracja: pn sie 12, 2019 3:35 pm

Mam pytanie odnośnie "CmdRelay".
Wykorzystałem to w trochę inny sposób :) tzn. nie zapisuje stanu do pliku tylko uruchamiam nim skrypt w którym mam zapytanie API do urządzenia którym wykonuję pewną akcję. Działa bez problemu, ale w logach jest informacja "Failed writing body" o co chodzi?

Kod: Zaznacz cały

INFO[1671785487.392858] Relay[0] turn ON (duration 0 ms)
DEBUG[1671785487.392873] Channel(0) value changed to 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    90  100    90    0     0   1232      0 --:--:-- --:--:-- --:--:--  1232
[b](23) Failed writing body[/b]
Druga kwestia to czy jest możliwość wywołania akcji na danym przekaźniku tak jak jest to w ESP "new Supla::Control::VirtualRelay()->turnOff()", aby móc po pewnym czasie go wyłączyć?
Wiem że mogę zmienić na automat schodowy i w ten sposób to realizować, ale jeżeli jest taka możliwość to dla mnie było by to lepszym rozwiązaniem.
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

bigthomas pisze: pt gru 23, 2022 9:01 am Mam pytanie odnośnie "CmdRelay".
Wykorzystałem to w trochę inny sposób :) tzn. nie zapisuje stanu do pliku tylko uruchamiam nim skrypt w którym mam zapytanie API do urządzenia którym wykonuję pewną akcję. Działa bez problemu, ale w logach jest informacja "Failed writing body" o co chodzi?

Kod: Zaznacz cały

INFO[1671785487.392858] Relay[0] turn ON (duration 0 ms)
DEBUG[1671785487.392873] Channel(0) value changed to 1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    90  100    90    0     0   1232      0 --:--:-- --:--:-- --:--:--  1232
[b](23) Failed writing body[/b]
Druga kwestia to czy jest możliwość wywołania akcji na danym przekaźniku tak jak jest to w ESP "new Supla::Control::VirtualRelay()->turnOff()", aby móc po pewnym czasie go wyłączyć?
Wiem że mogę zmienić na automat schodowy i w ten sposób to realizować, ale jeżeli jest taka możliwość to dla mnie było by to lepszym rozwiązaniem.
To jest jakiś komunikat z tego polecenia, co odpalasz. Spróbuj go uruchomić z linii poleceń.

Natomiast odnośnie drugiego pytania - to za bardzo nie rozumiem o co chodzi. Jeśli chcesz aby samo się wyłączało po zadanym czasie, to do tego służy "automat schodowy". Jeśli nie ma być autoamtycznie po zadanym czasie, to co ma powodować wywołanie turnOff?
Widzimy się na Supla Offline Party vol. 2 :!:
przygod
Posty: 97
Rejestracja: śr lip 17, 2019 9:31 am

klew pisze: pn gru 19, 2022 10:24 am
shimano73 pisze: śr lis 16, 2022 9:23 pm Jak używać VirtualRelay ? Na moim terminalu Wyse uruchomiłem sobie sterowanie przekaźnikiem po modbusie i chciałbym nim sterować z aplikacji. Potrzebowałbym stan VirtualRelay np w pliku txt, da się ?
Dodałem typ kanału "CmdRelay". W przykładzie w readme jest pokazane jak tego użyć do zapisania stanu.
Dziękuje serdecznie! Już zabrałem się do testowania.

ps. Z innej beczki. Czy jest jakiś powód czemu supla-device nie używa ścieżek bezwzględnych czy to u mnie jakieś braki konfiguracji?

Kilka razy po ponownym uruchomieniu zauważyłem że całość rejestruje sie z nowym guid zaś w logu znajduje coś takiego:

Kod: Zaznacz cały

INFO[1671791298.1671791298] GUID and AUTHKEY: loading from file var/lib/supla-device/guid_auth.yaml
ERR[1671791298.1671791298] Guid/auth file YAML error: bad file
....i wychodzi na to że supla device tworzy podsciezke var/lib/supla-device w kazdej z ktorej jest aktualnie uruchomiona.
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

przygod pisze: pt gru 23, 2022 10:43 am
klew pisze: pn gru 19, 2022 10:24 am
shimano73 pisze: śr lis 16, 2022 9:23 pm Jak używać VirtualRelay ? Na moim terminalu Wyse uruchomiłem sobie sterowanie przekaźnikiem po modbusie i chciałbym nim sterować z aplikacji. Potrzebowałbym stan VirtualRelay np w pliku txt, da się ?
Dodałem typ kanału "CmdRelay". W przykładzie w readme jest pokazane jak tego użyć do zapisania stanu.
Dziękuje serdecznie! Już zabrałem się do testowania.

ps. Z innej beczki. Czy jest jakiś powód czemu supla-device nie używa ścieżek bezwzględnych czy to u mnie jakieś braki konfiguracji?

Kilka razy po ponownym uruchomieniu zauważyłem że całość rejestruje sie z nowym guid zaś w logu znajduje coś takiego:

Kod: Zaznacz cały

INFO[1671791298.1671791298] GUID and AUTHKEY: loading from file var/lib/supla-device/guid_auth.yaml
ERR[1671791298.1671791298] Guid/auth file YAML error: bad file
....i wychodzi na to że supla device tworzy podsciezke var/lib/supla-device w kazdej z ktorej jest aktualnie uruchomiona.
Dodaj na początku / to będzie ścieżka bezwzględna. To raczej standardowe zachowanie, którego oczekuje się od apilkacji na Linuxie :)
Widzimy się na Supla Offline Party vol. 2 :!:
przygod
Posty: 97
Rejestracja: śr lip 17, 2019 9:31 am

klew pisze: pt gru 23, 2022 10:45 am Dodaj na początku / to będzie ścieżka bezwzględna. To raczej standardowe zachowanie, którego oczekuje się od apilkacji na Linuxie :)
No tak, właśnie doczytałem że wersja normal używa relatywnych scieżek, wiec dodawanie ścieżki supla-device-linux do PATH było raczej słabym pomysłem :D
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

przygod pisze: pt gru 23, 2022 10:59 am
klew pisze: pt gru 23, 2022 10:45 am Dodaj na początku / to będzie ścieżka bezwzględna. To raczej standardowe zachowanie, którego oczekuje się od apilkacji na Linuxie :)
No tak, właśnie doczytałem że wersja normal używa relatywnych scieżek, wiec dodawanie ścieżki supla-device-linux do PATH było raczej słabym pomysłem :D
Nie wiem co to "wersja normal". Masz na myśli domyślną wartość parametru ze ścieżką?
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „supla-dev”