supla-device na Linux

User avatar
klew
Posts: 8663
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Zapraszam do testowania nowej wersji supla-device, którą da się uruchomić pod Linuxem (sprawdzałem na starym laptopie z 32 bitowym prockiem, desktopie 64 bit, oraz na Beaglebone Black rev. 3; na RPI też powinno działać - gdyby ktoś miał jakieś problemy, to piszcie).

Obecnie soft pozwala głównie na robienie integracji między czymkolwiek, co może wygenerować plik w linuxie (albo jakimś poleceniem systemowym) a Suplą.
Działa to trochę podobnie do "supla-dev filesensors" albo "supla-virtual-device" (z tym że supla-device nie ma jeszcze wsparcia dla MQTT).

Instrukcję instalacji znajdziecie tutaj https://github.com/SUPLA/supla-device/b ... /README.md
Starałem się krok po kroku podać listę poleceń (dla systemów bazujących na Debianie, Ubuntu). Jeśli ktoś korzysta z innych systemów i chciałby rozbudować dokumentację, to proszę o wrzucanie PR na github dla pliku readme, a jeśli nie wiecie jak to ogarnąć u siebie, to piszcie tutaj.

Konfiguracja jest poprzez plik w formacie YAML. Przykłady są w readme.

Aktualnie działa parsowanie prostych plików tekstowych, gdzie jedna linia tekstu to jeden parametr, lub danych w formacie JSON (bez zagnieżdżeń).

Ja u siebie wrzuciłem:
1. Odczyt temperatury procesora (polecenie sensors)
2. Odczyt danych z wodomierzy (po mBus, czytane przez wmbusmeters)
3. Odczyt danych z licznika Tauron AMIplus (po usłudze HANplus, czyli po protokole mBus, czytane przez wmbusmeters) - w taryfie G12w - dane z jednej taryfy wrzucam jako "energia pobrana faza 1", a drugiej taryfy jako "energia pobrana faza 2".
4. Odczyt temperatury z termostatów DEVIreg Smart (zmodyfikowany projekt https://github.com/Sonic-Amiga/opensdg tak aby wystawiał pomiary do plików)
5. Odczyt danych z falownika Fronius.
Screenshot_2022-05-23-10-35-14-91_51725a65de50bc7853eb07931b07554c.jpg
You do not have the required permissions to view the files attached to this post.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
shimano73
Posts: 1995
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Zainstalowałem sobie to na terminalu Wyse od dell'a . Wszystko robione ja w podano na githubie , szło dobrze do momentu sprawdzenia czy działa ./supla-device-linux --version , odpowiedź jest poprawna "./supla-device-linux version: 22.10.03" .
Utworzyłem / zmodyfikowałem plik konfiguracyjny , gdzie podałem tylko swoje dane bez modyfikacji samych kanałów do testu pozostały bez zmian. Plik jest w etc/supla-device.yaml.
Niestety po uruchomieniu ./supla-device-linux wyskakuje takie coś , i nie wiem w czym problem
dariusz@Wyse:~/supla-device/extras/exa ... ed. Exit

zmieniłem również
4 -rwxrwxrwx 1 dariusz root 2137 10-11 17:02 supla-device.yaml
Użytkownik dariusz jest dodany do sudoers
ale nie pomaga
Gdzie szukać problemu ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 8663
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Tue Oct 11, 2022 3:33 pm Plik jest w etc/supla-device.yaml.
Niestety po uruchomieniu ./supla-device-linux wyskakuje takie coś , i nie wiem w czym problem
Tak dla pewności "etc/supla-device.yaml" to relatywna ścieżka względem katalogu w którym odpaliłeś binarkę.

Spróbuj podać pełną ścieżkę do pliku konfiguracyjnego:

Code: Select all

./supla-device-linux -c /path/to/your/file/supla-cfg.yml
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
shimano73
Posts: 1995
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Jest już lepiej ,program odnajduje konfigurację ale chyba jest jakiś problem z certyfikatem.

Code: Select all

dariusz@Wyse:~/supla-device/extras/examples/linux/build$ ./supla-device-linux -c supla-device.yaml
INFO[1665557259.786133] GUID and AUTHKEY: loading from file /home/dariusz/.supla-device/guid_auth.yaml
INFO[1665557259.786642]  *** Starting supla-device ***
INFO[1665557259.786761] Using config file supla-device.yaml
INFO[1665557259.786888] Channel[0] config: adding VirtualRelay
INFO[1665557259.786959] Channel[1] config: adding VirtualRelay
DEBUG[1665557259.787651] Supla - starting initialization
DEBUG[1665557259.787743] Main storage not configured
DEBUG[1665557259.787957] Security level: 0
INFO[1665557259.788017] Relay[0] turn OFF (duration 0 ms)
INFO[1665557259.788129] Relay[1] turn OFF (duration 0 ms)
DEBUG[1665557259.788165] Starting linux timers...
DEBUG[1665557259.788583] Initializing network layer
DEBUG[1665557259.788646] Network AP/hostname: WYSE
INFO[1665557259.788681] Enter normal mode
INFO[1665557259.788751] Using Supla protocol version 16
INFO[1665557259.788796] Current status: [5] SuplaDevice initialized
INFO[1665557259.788864] Establishing encrypted connection with: svr1.supla.org (port: 2016)
DEBUG[1665557259.912186] Connected with TLS_AES_256_GCM_SHA384 encryption
WARNING[1665557259.912236] Failed to verify server certificate
INFO[1665557259.912591] LAST STATE ADDED: Not connected to Supla server
INFO[1665557259.912621] Current status: [6] Not connected to Supla server
DEBUG[1665557259.912641] Connection fail (0). Server: svr1.supla.org
^X^CINFO[1665557266.813455] Exit
dariusz@Wyse:~/supla-device/extras/examples/linux/build$ telnet svr1.supla.org 2016
Trying 87.98.181.171...
Connected to svr1.supla.org.
Escape character is '^]'.
Connection closed by foreign host.
dariusz@Wyse:~/supla-device/extras/examples/linux/build$ 



Proszę o poradę ?
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 8663
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Wed Oct 12, 2022 6:53 am Jest już lepiej ,program odnajduje konfigurację ale chyba jest jakiś problem z certyfikatem.

Proszę o poradę ?
Jakiś czas temu dodana została walidacja certyfikatów (w Linuxie nie jest to jeszcze dokończone) i zaponiałem zaktualizować readme oraz przykładowy yaml z konifguracją (przed chwilą wrzuciłem aktualizację).

W pliku konfiguracyjnym dodaj:

Code: Select all

security_level: 2
Analogicznie jak w https://github.com/SUPLA/supla-device/b ... ce.yaml#L7
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
shimano73
Posts: 1995
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

klew wrote: Wed Oct 12, 2022 7:50 am
shimano73 wrote: Wed Oct 12, 2022 6:53 am Jest już lepiej ,program odnajduje konfigurację ale chyba jest jakiś problem z certyfikatem.

Proszę o poradę ?
Jakiś czas temu dodana została walidacja certyfikatów (w Linuxie nie jest to jeszcze dokończone) i zaponiałem zaktualizować readme oraz przykładowy yaml z konifguracją (przed chwilą wrzuciłem aktualizację).

W pliku konfiguracyjnym dodaj:

Code: Select all

security_level: 2
Analogicznie jak w https://github.com/SUPLA/supla-device/b ... ce.yaml#L7
Niestety nie pomogło :(
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 8663
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Wed Oct 12, 2022 8:32 am Niestety nie pomogło :(
Dałeś bez wcięć?
Ewentualnie podeślij/wklej plik yaml i logi.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
shimano73
Posts: 1995
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Poniżej plik supla-device.yaml

Code: Select all


# Example supla-device config file for Linux device
# https://github.com/SUPLA/supla-device

name: Wyse Dell 
log_level: debug
state_files_path: "/home/dariusz/.supla-device"
security_level: 2

supla:
  server: svr1.supla.org
  mail: dariuszjszymanski@gmail.com



channels:
  - type: VirtualRelay
    name: vr1 # optional, can be used as reference for adding actions (TBD)

  - type: VirtualRelay
    name: vr2


A to wychodzi z terminala

Code: Select all


dariusz@Wyse:~/supla-device/extras/examples/linux/build$ ./supla-device-linux -c supla-device.yaml
INFO[1665567417.378388] GUID and AUTHKEY: loading from file /home/dariusz/.supla-device/guid_auth.yaml
INFO[1665567417.379005]  *** Starting supla-device ***
INFO[1665567417.379033] Using config file supla-device.yaml
INFO[1665567417.379323] Channel[0] config: adding VirtualRelay
INFO[1665567417.379465] Channel[1] config: adding VirtualRelay
DEBUG[1665567417.380217] Supla - starting initialization
DEBUG[1665567417.380257] Main storage not configured
DEBUG[1665567417.380738] Security level: 0
INFO[1665567417.380766] Relay[0] turn OFF (duration 0 ms)
INFO[1665567417.380874] Relay[1] turn OFF (duration 0 ms)
DEBUG[1665567417.380975] Starting linux timers...
DEBUG[1665567417.381560] Initializing network layer
DEBUG[1665567417.381595] Network AP/hostname: WYSE-DELL
INFO[1665567417.381728] Enter normal mode
INFO[1665567417.381915] Using Supla protocol version 16
INFO[1665567417.381943] Current status: [5] SuplaDevice initialized
INFO[1665567417.382123] Establishing encrypted connection with: svr1.supla.org (port: 2016)
DEBUG[1665567417.515817] Connected with TLS_AES_256_GCM_SHA384 encryption
WARNING[1665567417.515871] Failed to verify server certificate
INFO[1665567417.516290] LAST STATE ADDED: Not connected to Supla server
INFO[1665567417.516326] Current status: [6] Not connected to Supla server
DEBUG[1665567417.516352] Connection fail (0). Server: svr1.supla.org
INFO[1665567427.387782] Establishing encrypted connection with: svr1.supla.org (port: 2016)
DEBUG[1665567427.504831] Connected with TLS_AES_256_GCM_SHA384 encryption
WARNING[1665567427.504909] Failed to verify server certificate
DEBUG[1665567427.505172] Connection fail (0). Server: svr1.supla.org
INFO[1665567437.391196] Establishing encrypted connection with: svr1.supla.org (port: 2016)
DEBUG[1665567437.503824] Connected with TLS_AES_256_GCM_SHA384 encryption
WARNING[1665567437.503882] Failed to verify server certificate
DEBUG[1665567437.504038] Connection fail (0). Server: svr1.supla.org
INFO[1665567447.392969] Establishing encrypted connection with: svr1.supla.org (port: 2016)
DEBUG[1665567447.507519] Connected with TLS_AES_256_GCM_SHA384 encryption
WARNING[1665567447.507570] Failed to verify server certificate
DEBUG[1665567447.507739] Connection fail (0). Server: svr1.supla.org
^CINFO[1665567451.318211] Exit
dariusz@Wyse:~/supla-device/extras/examples/linux/build$ 


Jesli chodziło o inne logi podpowiedz proszę gdzie ich szukać
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
klew
Posts: 8663
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

shimano73 wrote: Wed Oct 12, 2022 9:39 am

Code: Select all

INFO[1665567417.379033] Using config file supla-device.yaml
...
DEBUG[1665567417.380738] Security level: 0
...
DEBUG[1665567417.381595] Network AP/hostname: WYSE-DELL
...
INFO[1665567417.382123] Establishing encrypted connection with: svr1.supla.org (port: 2016)
Jesli chodziło o inne logi podpowiedz proszę gdzie ich szukać
W logach pojawia się security level 0, więc jakby nie czytało z pliku. Sprawdziłem to jeszcze raz u siebie oraz pisownię u Ciebie i wygląda wszystko ok.

Jedyne co mi przychodzi do głowy, to to że ładuje Ci jakiś inny yaml niż ten, który modyfikujesz. Spróbuj sobie podmienić nr serwera, albo nazwę urządzenia i zobacz, czy w logach pojawią się zaktualizowane nazwy. Zostawiłem powyżej przykłądowe logi, gdzie powinno być widać różnicę.
Widzimy się na Supla Offline Party vol. 2 :!:
User avatar
shimano73
Posts: 1995
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze

Post

Usunąłem różne inne kopie w innych lokalizacjach , zostawiłem tylko w folderze z którego uruchamiam program.
Zmieniając w nim nazwę na "name: Wyse SUPLA " pojawia sie ona w logach

Code: Select all

DEBUG[1665570348.341031] Main storage not configured
DEBUG[1665570348.341475] Security level: 0
INFO[1665570348.341644] Relay[0] turn OFF (duration 0 ms)
INFO[1665570348.341832] Relay[1] turn OFF (duration 0 ms)
DEBUG[1665570348.341982] Starting linux timers...
DEBUG[1665570348.342420] Initializing network layer
DEBUG[1665570348.342609] Network AP/hostname: WYSE-SUPLA
INFO[1665570348.342810] Enter normal mode
Last edited by shimano73 on Wed Oct 12, 2022 12:22 pm, edited 4 times in total.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)

Return to “supla-dev”