Supla virtual device MQTT

Beku
Posty: 453
Rejestracja: wt lis 06, 2018 1:49 pm

* AKTUALIZACJA *

dodano parametr, który można dopisać do każdego kanału którego wartość odczytywana jest z pliku.
Nie dotyczy kanałów 0/1 (włącz wyłącz).

file_write_check_sec=600

Wartość w sekundach. Jeśli przez ten czas plik nie był nadpisany do Supli zostaną przesłane domyślne wartości co spowoduje w aplikacji pojawienie się kresek zamiast wartości.
andras
Posty: 463
Rejestracja: pt gru 30, 2016 5:51 pm

Mam problem z czujnikami na 3 szt tylko 1 mi się zapisuje i odświeża dane
chociaż 3 skrypty się uruchamiają , dane czujników prawidłowe

Cpi@raspberrypi:~/mi-temp $ supervisorctl status
mi-temp-1 RUNNING pid 1591, uptime 0:45:13
mi-temp-2 RUNNING pid 1590, uptime 0:45:13
mi-temp-3 RUNNING pid 1589, uptime 0:45:13
supla-virtual-device RUNNING pid 1592, uptime 0:45:13
pi@raspberrypi:~/mi-temp $
Beku
Posty: 453
Rejestracja: wt lis 06, 2018 1:49 pm

andras pisze: śr lut 26, 2020 10:40 pm Mam problem z czujnikami na 3 szt tylko 1 mi się zapisuje i odswierza dane
chociaż 3 skrypty się uruchamiają , dane czujników prawidłowe

Cpi@raspberrypi:~/mi-temp $ supervisorctl status
mi-temp-1 RUNNING pid 1591, uptime 0:45:13
mi-temp-2 RUNNING pid 1590, uptime 0:45:13
mi-temp-3 RUNNING pid 1589, uptime 0:45:13
supla-virtual-device RUNNING pid 1592, uptime 0:45:13
pi@raspberrypi:~/mi-temp $
Pokaz jak wygląda config tych czujników w supla-virtual-device oraz w supervisor.
andras
Posty: 463
Rejestracja: pt gru 30, 2016 5:51 pm

W supla-virtual-device.cfg

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/mi-temp/sensor_mysensor.txt

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/mi-temp/sensor_sypialnia.txt

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/mi-temp/sensor_livingroom.txt

/etc/supervisor/conf.d/mi-temp-1.conf

[program:mi-temp-1]
command=python3 ./LYWSD03MMC.py --device A4:C1:38:91:7B:EE --round --debounce --name mysensor --callback save-to-file.sh
directory=/home/pi/mi-temp
autostart=true
autorestart=true
user=pi

/etc/supervisor/conf.d/mi-temp-2.conf

[program:mi-temp-2]
command=python3 ./LYWSD03MMC.py --device A4:C1:38:9F:00:1D --round --debounce --name sypialnia --callback save-fo-file.sh
directory=/home/pi/mi-temp
autostart=true
autorestart=true
user=pi

/etc/supervisor/conf.d/mi-temp-3.conf

[program:mi-temp-3]
command=python3 ./LYWSD03MMC.py --device A4:C1:38:9F:64:6E --round --debounce --name livingroom --callback save-to-file.sh
directory=/home/pi/mi-temp
autostart=true
autorestart=true
user=pi

I tylko czujnik sypialnia odswierza i zapisuje
Beku
Posty: 453
Rejestracja: wt lis 06, 2018 1:49 pm

Masz źle nazwane skrypty

Zwróć uwagę ze w przypadku sypialnia masz wpisane callback save-fo-file.sh

A w przypadku pozostałych save-to-file.sh

Dostosuj to do faktycznej nazwy skryptu. Jeśli sypialnia działa to w pozostałych wpisz save-fo-file.sh lub zmień nazwę pliku skryptu na save-to-file.sh i odpowiednio pozmieniaj w konfiguracji
andras
Posty: 463
Rejestracja: pt gru 30, 2016 5:51 pm

Dziękuję bardzo :) , mała literówka ale jej nie widziałem
Beku
Posty: 453
Rejestracja: wt lis 06, 2018 1:49 pm

andras pisze: czw lut 27, 2020 10:00 am Dziękuję bardzo :) , mała literówka ale jej nie widziałem
Nie przejmuj się miałem dokładne tę samą literówkę u siebie i tez szukałem 😄
drboss
Posty: 11
Rejestracja: pt lut 14, 2020 11:43 pm

virtual działa mi prawidłowo, jednak w logu co 30sek dostaję komunikat:

Kod: Zaznacz cały

Mar 03 20:16:06 pi4 supla-virtual-device[21801]: ERR[1583262966.177880] file write check error!
jedyne odwołanie do jakiegoś pliku własnego jest w pliku CFG dla czujnika temperatury ale plik ten ma dla testów ustawione atrybut 666
O jaki plik może chodzić?
Dodam że problem występuje mimo uruchamiania procesu via systemd z pełnymi uprawnieniami
Beku
Posty: 453
Rejestracja: wt lis 06, 2018 1:49 pm

drboss pisze: wt mar 03, 2020 8:30 pm virtual działa mi prawidłowo, jednak w logu co 30sek dostaję komunikat:

Kod: Zaznacz cały

Mar 03 20:16:06 pi4 supla-virtual-device[21801]: ERR[1583262966.177880] file write check error!
jedyne odwołanie do jakiegoś pliku własnego jest w pliku CFG dla czujnika temperatury ale plik ten ma dla testów ustawione atrybut 666
O jaki plik może chodzić?
Dodam że problem występuje mimo uruchamiania procesu via systemd z pełnymi uprawnieniami
Masz ustawiony parametr w configu file_write_check_sec który odpowiada za sprawdzanie czy plik jest nadpisywany w oczekiwanym interwałe. Jeśli nie jest -> wywoływany jest ten komunikat i ustawiane są domyślne wartości. Zwiększ ten parametr do takiej wartości aby w normalnych warunkach plik był nadpisywany nowymi danymi w odstępach mniejszych niż wartość tego parametru lub usuń ten parametr.
drboss
Posty: 11
Rejestracja: pt lut 14, 2020 11:43 pm

Ok. dzięki czyli nie problem z możliwością zapisu, a kontrola aktulizacji.
dzięki za wyjaśnienie.
ODPOWIEDZ

Wróć do „Projekty użytkowników”