BLE Supla Gateway - wyzwanie dla programistów

GOLDEN
Posts: 77
Joined: Sat Nov 04, 2017 4:45 pm
Location: Jastrzębie-Zdrój

Post

Witam

Otóż 3 czujniki już mam jakiś czas, brakuje raspberry pi zero w, które jakoś ostatnio trudniej kupić.

Doznałem dziś jednej olśnienia, że może uda mi się uruchomić bramkę na QNAP, a dokładnie Virtualnej maszynie, gdzie uruchomiłbym Linuksa.

Teraz tylko kwestia jaką dystrybucję wybrać?
Możecie coś konkretnego polecić?

Druga sprawa czy uda się uruchomić adapter usb bluetooth i czy znajdzie czujniki.
W sumie poza czasem nie mam nic do stracenia.

Próbował ktoś takiego podejścia?

Pozdrawiam
GOLDEN!!!
Jarson78
Posts: 150
Joined: Mon Jun 11, 2018 10:54 am

Post

Panowie co robię źle że mam taki komunikat po wykonaniu
cd supla-virtual-device
./supla-virtual-device


SUPLA-VIRTUAL-DEVICE v1.0.3
INFO[1588336870.149090] SSL version: OpenSSL 1.1.1d 10 Sep 2019
mqtt client error MQTT_ERROR_SOCKET_ERROR

Zaznaczam że to moja pierwsza malina i jestem zielony. Robię wszystko zgodnie z opisem Pana Roberta.
User avatar
artur_n
Posts: 466
Joined: Thu Aug 17, 2017 2:24 pm
Location: RJA

Post

Już nie pamiętam jak to robiłem u siebie ale wiem, że w kilku miejscach musiałem podnieść uprawnienia przy pomocy "sudo" oraz przy plikach *.txt dawałem uprawnienia 666 gdyż przy 644 nie chciało mi działać.
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Jarson78 wrote: Fri May 01, 2020 9:12 am Panowie co robię źle że mam taki komunikat po wykonaniu
cd supla-virtual-device
./supla-virtual-device


SUPLA-VIRTUAL-DEVICE v1.0.3
INFO[1588336870.149090] SSL version: OpenSSL 1.1.1d 10 Sep 2019
mqtt client error MQTT_ERROR_SOCKET_ERROR

Zaznaczam że to moja pierwsza malina i jestem zielony. Robię wszystko zgodnie z opisem Pana Roberta.
Podałeś poprawne dane w pliku supla-virtual-device.cfg i włączyłeś w Supla Cloud dodawanie nowych urządzeń?
No zakomentuj (#) w pliku supla-virtual-device.cfg całą sekcję [MQTT], tak jak jest w moim przykładzie.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Jarson78
Posts: 150
Joined: Mon Jun 11, 2018 10:54 am

Post

Kolejna przeszkoda
Po wykonaniu

Tworzymy teraz konfiguracyjny plik dla procesu supla-virtual-device poleceniem:
sudo nano /etc/supervisor/conf.d/supla-virtual-device.conf

Zawartość pliku konfiguracyjnego:
[program:supla-virtual-device]
command=/home/pi/supla-virtual-device/supla-virtual-device
directory=/home/pi/supla-virtual-device
autostart=true
autorestart=true
user=pi

Oczywiście zapisujemy plik i zamykamy edytor Nano.

Teraz pozostaje zrestartować program supervisor poleceniem:
sudo service supervisor restart

Program Supla Virtual Device powinien zostać uruchomiony i pracować w tle jako serwis. Aby sprawdzić działanie programu w tle wpisujemy komendę:
supervisorctl status


Pojawia się

error: <class 'socket.error'>, [Errno 13] Permission denied: file: /usr/lib/python2.7/socket.py line: 228
Jarson78
Posts: 150
Joined: Mon Jun 11, 2018 10:54 am

Post

Poradziłem sobie z powyższym problemem.
Zrobiłem wszystko zgodnie z opisem Pana @Robert Błaszczak i w CLOUD mam urządzenie Supla Virtual Device w którym jest 2x czujnik tem. i wilgotności, czujnik tem., 2xprzekaźnik oraz czujnik wiatru.
Czujnik LYWSD03MMC posiadam na razie tylko jeden więc w pozostałych plikach pozostawiłem xx:xx:xx:xx:xx.

Problem polega na tym iż w Supla Cloud jeden czujnik tem. i wilgotności pokazuje mi -275 stopni i -1% co jest zrozumiałe bo posiadam tylko jeden LYWSD03MMC natomiast drugi pokazuje mi 0 stopni i 0 wilgotności.

W czym może tkwić problem i dlaczego mam tylko dwa czujnik pomimo tego iż plik utworzyłem dla 4 sztuk.
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Tu sobie nie panujemy :D
Wklej tu zawartość pliku supla-virtual-device.cfg
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Jarson78
Posts: 150
Joined: Mon Jun 11, 2018 10:54 am

Post

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svr16.supla.org
protocol_version=10

[LOCATION]
ID=1xxx
PASSWORD=xxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_tho.txt
#file_write_check_sec=120

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
#file_write_check_sec=120

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
#file_write_check_sec=120

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
#file_write_check_sec=120

#[MQTT]
#host=mqtt.host
#port=1883
#username=
#password=
#client_name=supla-virtual-device

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-filesensors/var/livingroom_temperature.txt

[CHANNEL_1]
function=TEMPERATURE
file=/home/pi/supla-filesensors/var/raspberry_sdcard_free.txt
min_interval_sec=300

# example of getting payload switch 0/1 value

[CHANNEL_2]
function=POWERSWITCH
state_topic=relays/switch/0/state
command_topic=relays/switch/0/command
command_template=$value$
payload_on=1
payload_off=1

# example of getting payload dot separated temp and humidity value
# example 25.4 78

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
state_topic=sensors/temphum/0/state

# example of parsing json payload { "on": true }

[CHANNEL_4]
function=LIGHTSWITCH
state_topic=relays/lightbulb/1/state
command_topic=relays/lightbulb/1/command
payload_value=/on
payload_on=true
payload_off=false

[CHANNEL_5]
function=WINDSENSOR
state_topic=sensors/wind/0/state

# this is a comment
User avatar
Robert Błaszczak
Posts: 5222
Joined: Sat Dec 22, 2018 8:55 pm
Location: Zielona Góra
Has thanked: 37 times
Been thanked: 27 times

Post

Kanały Ci się dublują. Zostaw tylko tyle:

Code: Select all

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svr16.supla.org
protocol_version=10

[LOCATION]
ID=1xxx
PASSWORD=xxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_tho.txt
#file_write_check_sec=120

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
#file_write_check_sec=120

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
#file_write_check_sec=120

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
#file_write_check_sec=120
Lub zakomentuj wszystko poniżej sekcji [MQTT]

Jak to zrobisz, to usuń z Cloud urządzenie SUPLA VIRTUAL DEVICE, włącz dodawanie urządzeń i zrestartuj na RPi supla-virtual-device.
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Maniek913
Posts: 594
Joined: Thu Feb 22, 2018 9:46 pm
Been thanked: 3 times

Post

Jarson78 wrote: Tue May 05, 2020 8:36 pm Poradziłem sobie z powyższym problemem.
Zrobiłem wszystko zgodnie z opisem Pana @Robert Błaszczak i w CLOUD mam urządzenie Supla Virtual Device w którym jest 2x czujnik tem. i wilgotności, czujnik tem., 2xprzekaźnik oraz czujnik wiatru.
Czujnik LYWSD03MMC posiadam na razie tylko jeden więc w pozostałych plikach pozostawiłem xx:xx:xx:xx:xx.

Problem polega na tym iż w Supla Cloud jeden czujnik tem. i wilgotności pokazuje mi -275 stopni i -1% co jest zrozumiałe bo posiadam tylko jeden LYWSD03MMC natomiast drugi pokazuje mi 0 stopni i 0 wilgotności.

W czym może tkwić problem i dlaczego mam tylko dwa czujnik pomimo tego iż plik utworzyłem dla 4 sztuk.
Wszystko zrobiłem według poradnika - poszło bez większych problemów , ale niestety mam tą samą sytuację - nie wiem skąd wzięły się w/w kanały w cloud skoro ich nie definiowałem w pliku conf ? natomiast nie ma odczytów z zdefiniowanego jednego czujnika xaomi .
Oto mój plik conf:

Code: Select all

[GLOBAL]
device_name=SUPLA VIRTUAL DEVICE


[SERVER]
host=svrx.supla.org
protocol_version=10

[LOCATION]
ID=xxxx
PASSWORD=xxxx

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th0.txt
file_write_check_sec=120

#[MQTT]
#host=mqtt.host
Prawidłowe odczyty zapisują się w pliku sensor_ th0.txt

Return to “Ogólna dyskusja”