BLE Supla Gateway - wyzwanie dla programistów

User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

mmiikk wrote: Mon Nov 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.

Code: Select all

[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

Code: Select all

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).

Code: Select all

#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

Code: Select all

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.

Code: Select all

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

Code: Select all

#!/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
You do not have the required permissions to view the files attached to this post.
User avatar
klimasstudio
Posts: 1273
Joined: Wed Aug 28, 2019 9:35 pm
Location: localhost

Post

Screenshot_1.png
Jak widać "bluepy" nadal się powiela...

Można naprawić to komendą:

Code: Select all

pkill bluepy
i procek doznaje ulgi :mrgreen:

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

Code: Select all

*/10 * * * * root pkill bluepy
Jeszcze zweryfikuję czy takie zabijanie bluepy nie wpływa na działanie np supervisiora odpowiedzialnego za supla-virtual-device.
You do not have the required permissions to view the files attached to this post.
Więc chodź OSUPLUJE Ci dom :mrgreen:

Druk 3D - > https://klimastech.eu.org/druk-3d
mmiikk
Posts: 670
Joined: Mon Aug 06, 2018 1:27 pm
Has thanked: 1 time
Been thanked: 2 times

Post

uchnast.michal wrote: Mon Nov 14, 2022 9:55 am
mmiikk wrote: Mon Nov 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ć.
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

klimasstudio wrote: Wed Nov 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 :)
User avatar
klimasstudio
Posts: 1273
Joined: Wed Aug 28, 2019 9:35 pm
Location: localhost

Post

shimano73 wrote: Sat Nov 26, 2022 4:07 pm
klimasstudio wrote: Wed Nov 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

Return to “Ogólna dyskusja”