BLE Supla Gateway - wyzwanie dla programistów

Awatar użytkownika
uchnast.michal
Posty: 1074
Rejestracja: wt cze 04, 2019 11:37 am

mmiikk pisze: pn lis 14, 2022 9:07 am A jakie dokładnie zmiany należy poczynić aby działało jak w Twoim przypadku?
Kosmetyka,
1. Nie dodajesz do supervisiora wpisów odpowiedzilanych za uruchomienie LYWSD03MMC.py z parametrem dla konkretnego termometru. mi-th-0, mi-th-1, itd.

Kod: Zaznacz cały

[program:mi-th-0]
command=python3 ./LYWSD03MMC.py --device xx:xx:xx:xx:xx:xx --battery --round --debounce --name th0 --callback save-to-file.sh
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi
2. logujesz się do maszyny wirtualnej lub maliny, a następnie uruchamiasz crontab (dla roota) w trybie edycji

Kod: Zaznacz cały

sudo crontab -e
3. dodajesz do crontab wpis(y) w zależności ile masz termometrów. Pamiętaj by po ostatniej linii był enter (nowa linia).

Kod: Zaznacz cały

#opis pomieszczenia opcjonalnie by było łatwiej się połapać
*/10 * * * * /usr/bin/python3 /home/pi/supla-mi-th/LYWSD03MMC.py --device xx:xx:xx:xx:xx:xx --battery --round --debounce --name th2 -c 1 --callback save.sh
Wartość/czas wywołania ustaw wg. potrzeb. Dla mnie 10 min dla pomieszczenia, w którym się przebywa jest ok. W pralni, łazienkach itp. mam 30min. czyli */30 * * * * polecam https://crontab.guru/
4. Reset crontaba

Kod: Zaznacz cały

sudo service cron reload
Pozostałe kroki bez zmian. Jak będziesz miał problemy to pisz.
PS
Jest jeszcze jedna kwestia, zdarza się, że procesów ble robi się za dużo, kolejka zabija mi procka. Dlatego codziennie o 2 w nocy profilaktycznie ubijam wszystkie, które żyją dłużej niż 300 sek.

Kod: Zaznacz cały

* */2 * * * /home/pi/supla-mi-th/kill.sh
uruchamia się skrypt kill.sh

Kod: Zaznacz cały

#!/bin/bash
for PID in $(ps -ef | egrep "(/bin/sh -c /home/pi/supla-mi-th/LYWSD03MMC.py)|(bluepy-helper)" | grep -v grep | awk {'print $2'}); do
        RUNTIMESEC=$(ps -o etimes= -p "$PID")
        if [ "$RUNTIMESEC" -gt "300" ]; then kill -9 $PID; fi
done
exit 0
Załączniki
kill.zip
(487 Bajtów) Pobrany 7 razy
e-talking............
Byłem tam - Supla Offline Party 2023
Awatar użytkownika
klimasstudio
Posty: 1114
Rejestracja: śr sie 28, 2019 9:35 pm
Lokalizacja: localhost
Kontakt:

Screenshot_1.png
Screenshot_1.png (137.47 KiB) Przejrzano 379 razy
Jak widać "bluepy" nadal się powiela...

Można naprawić to komendą:

Kod: Zaznacz cały

pkill bluepy
i procek doznaje ulgi :mrgreen:

Też by można dać do crona np co 10 minut zabijanie procesów bluepy

Kod: Zaznacz cały

*/10 * * * * root pkill bluepy
Jeszcze zweryfikuję czy takie zabijanie bluepy nie wpływa na działanie np supervisiora odpowiedzialnego za supla-virtual-device.
Więc chodź OSUPLUJE Ci dom :mrgreen:

Druk 3D - > https://klimastech.eu.org/druk-3d
mmiikk
Posty: 439
Rejestracja: pn sie 06, 2018 1:27 pm

uchnast.michal pisze: pn lis 14, 2022 9:55 am
mmiikk pisze: pn lis 14, 2022 9:07 am A jakie dokładnie zmiany należy poczynić aby działało jak w Twoim przypadku?
Kosmetyka,
....
Dziękuję bardzo za szybką i szczegółową odpowiedź. Dla takich wpisów warto pytać.
Awatar użytkownika
shimano73
Posty: 1968
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

klimasstudio pisze: śr lis 09, 2022 9:34 pm ... Jestem też w trakcie testów alternatywnego Firmware do tego termometru (ale ni9estety nie mam wolnego na testy teraz) ...
Jakiego alternatywnego firmware użyłeś , mi udało się zmienić "bezkontaktowo" za pomoca telefonu z androidem i WebFlesher'a z tego linku https://github.com/atc1441/ATC_MiThermometer. Niestety nie dziala mi skrypt z tego githuba, wali błedami i nie umiem sobie z tym poradzić.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
Awatar użytkownika
klimasstudio
Posty: 1114
Rejestracja: śr sie 28, 2019 9:35 pm
Lokalizacja: localhost
Kontakt:

shimano73 pisze: sob lis 26, 2022 4:07 pm
klimasstudio pisze: śr lis 09, 2022 9:34 pm ... Jestem też w trakcie testów alternatywnego Firmware do tego termometru (ale ni9estety nie mam wolnego na testy teraz) ...
Jakiego alternatywnego firmware użyłeś , mi udało się zmienić "bezkontaktowo" za pomoca telefonu z androidem i WebFlesher'a z tego linku https://github.com/atc1441/ATC_MiThermometer. Niestety nie dziala mi skrypt z tego githuba, wali błedami i nie umiem sobie z tym poradzić.
Też próbowałem tego FW ale na jednej stronie ktoś dal skrypt który z wszystkich urządzeń BT na raz zczytuje i próbowałem ale mi się nie udało aby to rozbijać na osobne wyniki. Strona się da odczytać dane ale skryptu nie znalazłem który byłby prosty do zaimplementowania do współpracy z SVD. Czekam na kolejny "kwadracik" xiaomi i na nim będę próbował coś ogarnąć.
Więc chodź OSUPLUJE Ci dom :mrgreen:

Druk 3D - > https://klimastech.eu.org/druk-3d
ODPOWIEDZ

Wróć do „Ogólna dyskusja”