supla-device na Linux

Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

Czy została zaimplementowana obsługa pola "info" dla kanału ?
Chciałbym wyświetlić siłę sygnału dla czujnika BT.
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

kris.sg pisze: pt sty 13, 2023 8:09 am Czy została zaimplementowana obsługa pola "info" dla kanału ?
Chciałbym wyświetlić siłę sygnału dla czujnika BT.
Ogólnie "info" jest, natomiast siły sygnału nie ma.

Dodałem issue na to:
https://github.com/SUPLA/supla-device/issues/41
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

Dzięki za info.
Próbuję dodać kanał "ThermHygroMeterParsed", przy odpaleniu jest błąd:

Kod: Zaznacz cały

pi@raspberrypi:~/supla-mi-th $ /home/pi/supla-device/extras/examples/linux/build/supla-device-linux -c /home/pi/supla-mi-th/supla-mi-th0.yaml
ERR[0.1673604817] Config file YAML error: yaml-cpp: error at line 16, column 9: illegal map value
INFO[0.1673604817]  *** Starting supla-device ***
INFO[0.1673604817] Using config file /home/pi/supla-mi-th/supla-mi-th0.yaml
ERR[0.1673604817] Config: "channels" section missing in file
ERR[0.1673604817] Loading channels failed. Exit
zawartość pliku yaml:

Kod: Zaznacz cały

name: Mi bramka BT
log_level: debug
state_files_path: "/home/pi/supla-mi-th"
security_level: 2 # disable certyficate verification


supla:
  server: #########
  mail: #########


channels
  - type: ThermHygroMeterParsed
      name: Salon
      source:
        type: File
    # use file "temp_humi.txt" from current folder
        file: "sensor_A4:C1:38:58:26:F9.txt"
      parser:
        type: Simple
        refresh_time_ms: 200
    # temperature is read from first line of txt file
      temperature: 0
    # humidity is read from second line of txt file
      humidity: 1
      multiplier_temp: 1
      multiplier_humi: 1
      battery_level: 3
      multiplier_battery_level: 1
Co robię źle ?
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

kris.sg pisze: pt sty 13, 2023 10:20 am

Kod: Zaznacz cały

ERR[0.1673604817] Config: "channels" section missing in file
Zjadłeś ":" za słowem "channels" w pliku
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

Analizowałem zawartość kilka razy i tego nie zauważyłem 🤦 :)
Dzięki
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

Mam jeszcze małą prośbę, w pliku txt mam jeszcze rssi i chciałbym przeliczyć na siłę sygnału wg wzoru "2 * (rssi + 100)"
skrypt wygląda tak:

Kod: Zaznacz cały

#!/bin/bash
echo $3 > sensor_$2.txt
echo $4 >> sensor_$2.txt
echo $5 >> sensor_$2.txt
echo $6 >> sensor_$2.txt
echo $7 >> sensor_$2.txt
ostatnia pozycja : echo $7 to rssi i teraz jak zrobić, żeby przyliczyć i wyeksportować do sensor_$2.txt
Niestety moja znajomość linuxa jest podstawowa i nie mam pomysłu jak to poprawnie zrobić myślałem o czymś takim:

Kod: Zaznacz cały

#!/bin/bash
echo $3 > sensor_$2.txt
echo $4 >> sensor_$2.txt
echo $5 >> sensor_$2.txt
echo $6 >> sensor_$2.txt
echo $7 > rssi
bt = 2*($rssi+100) >> sensor_$2.txt
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

kris.sg pisze: pt sty 13, 2023 12:48 pm ostatnia pozycja : echo $7 to rssi i teraz jak zrobić, żeby przyliczyć i wyeksportować do sensor_$2.txt
Niestety moja znajomość linuxa jest podstawowa i nie mam pomysłu jak to poprawnie zrobić myślałem o czymś takim:

Kod: Zaznacz cały

#!/bin/bash
echo $3 > sensor_$2.txt
echo $4 >> sensor_$2.txt
echo $5 >> sensor_$2.txt
echo $6 >> sensor_$2.txt
echo $7 > rssi
bt = 2*($rssi+100) >> sensor_$2.txt
Osobiście skrypty w bashu piszę zawsze z pomocą wyszukiwarki i nigdy nie pamiętam skłądni :P

Wrzuć sobie w wyszukiwarkę: "bash how to calculate parameter value" i powinieneś znaleźć jakieś poradniki jak to zrobić.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
kris.sg
Posty: 372
Rejestracja: pn sie 07, 2017 8:08 pm
Lokalizacja: Przezchlebie

Dzięki @klew za pomoc :)
Udało się :

Kod: Zaznacz cały

#!/bin/bash
echo $3 > sensor_$2.txt
echo $4 >> sensor_$2.txt
echo $5 >> sensor_$2.txt
echo $6 >> sensor_$2.txt
echo  "$((x=$7+100,y=x*2))" >> sensor_$2.txt
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
Awatar użytkownika
lesny8
Posty: 2808
Rejestracja: pn gru 11, 2017 9:43 pm

IMG_20230117_201532.jpg
IMG_20230117_201532.jpg (74.84 KiB) Przejrzano 372 razy
Rozumiem, że to dlatego :arrow: https://github.com/SUPLA/supla-device/b ... rk.cpp#L52
Czekam na kolejne Supla Offline Party 👍
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

lesny8 pisze: wt sty 17, 2023 7:24 pm IMG_20230117_201532.jpg
Rozumiem, że to dlatego :arrow: https://github.com/SUPLA/supla-device/b ... rk.cpp#L52
Tak. Na Linuxie masz dostępnych wiele interfejsów sieciowych i nie jest to jedna prosta komenda aby wiedzieć przez jaki interfejs jest nawiązane połączenie
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „supla-dev”