[tutorial] RPiZeroW + odczyt z LYWSD03MMC przez BLE + Supla-Device

Simono
Posts: 436
Joined: Mon Sep 17, 2018 5:26 pm

Post

Koledzy zdaje się, że po dzisiejszej zdalnej aktualizacji przestały mi działać termometry.
Pamiętam tylko, że po

Code: Select all

sudo apt update
był chyba update do bluez i czegoś jeszcze. Wracam do domu i chcę zerknąć na temperaturę w pomieszczeniach i lipa bo pokazuje mi --- przy temperaturze i wilgotności. Z samej maliny temperaturę pokazuje OK więc jest coś na pewno po stronie bluetooth.
Pomoże ktoś?

Code: Select all

pi@raspberrypi-gate:~ $ bluetoothd -v
5.55

Code: Select all

pi@raspberrypi-gate:~ $ sudo systemctl status bluetooth
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-01-17 19:59:47 CET; 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 725 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 1595)
        CPU: 81ms
     CGroup: /system.slice/bluetooth.service
             └─725 /usr/libexec/bluetooth/bluetoothd

Jan 17 19:59:47 raspberrypi-gate systemd[1]: Starting Bluetooth service...
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth daemon 5.55
Jan 17 19:59:47 raspberrypi-gate systemd[1]: Started Bluetooth service.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Starting SDP server
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth management interface 1.22 initialized
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: profiles/sap/server.c:sap_server_register() Sap driver initialization>
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: sap-server: Operation not permitted (1)
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Failed to set privacy: Rejected (0x0b)
lines 1-19/19 (END)
● bluetooth.service - Bluetooth service
     Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-01-17 19:59:47 CET; 27min ago
       Docs: man:bluetoothd(8)
   Main PID: 725 (bluetoothd)
     Status: "Running"
      Tasks: 1 (limit: 1595)
        CPU: 81ms
     CGroup: /system.slice/bluetooth.service
             └─725 /usr/libexec/bluetooth/bluetoothd

Jan 17 19:59:47 raspberrypi-gate systemd[1]: Starting Bluetooth service...
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth daemon 5.55
Jan 17 19:59:47 raspberrypi-gate systemd[1]: Started Bluetooth service.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Starting SDP server
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Bluetooth management interface 1.22 initialized
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: profiles/sap/server.c:sap_server_register() Sap driver initialization failed.
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: sap-server: Operation not permitted (1)
Jan 17 19:59:47 raspberrypi-gate bluetoothd[725]: Failed to set privacy: Rejected (0x0b)

Code: Select all

pi@raspberrypi-gate:~ $ hciconfig hci0
hci0:   Type: Primary  Bus: UART
        BD Address: B8:27:EB:93:BC:2B  ACL MTU: 1021:8  SCO MTU: 64:1
        UP RUNNING
        RX bytes:2915 acl:0 sco:0 events:173 errors:0
        TX bytes:5059 acl:0 sco:0 commands:173 errors:0
:Edit
po wydaniu polecenia:

Code: Select all

pi@raspberrypi-gate:~ $ sudo service supervisor restart  
Do restartu dla testu maliny wszystko działa. Po restarcie maliny muszę znowu zrestartować supervisor
User avatar
Gang
Posts: 625
Joined: Fri Nov 09, 2018 12:44 pm

Post

Raport z pola bitwy.
10 czujników rozsianych na parterze i piętrze.
Malinka wisi pod sufitem w kotłowni na szczycie domu.
Dom z suporexu, strop to 23cm monolitu.

Jescze raz dziękuję.

Jedyny problem to na SSH muli jak diabli. Bezpośrednio chodzi jak szatan. Temperatura trzyma się około 40 stopni.
Zamel: MEW-01, ROW-02, THW-01, RNW-01, SLW-02, ROW-07, mROW-02, PNW-01. DIY: Supla Device RPI + 10 xiaomi mija2, Sonoff: basic + 7 DS18B20, basic x2, touch, mini x3, - Nodemcu x2, - ElectroDragon ESP8266 - Gosund SP111 x3
User avatar
Lector
Posts: 1428
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

myxhir wrote: Thu Nov 02, 2023 8:10 am dokładnie tak mam u siebie ;) dodałem kanał wilgotności i czytam już z wcześniejszych plików. Dodałem sobie je nawet w osobną lokalizację żeby nie mnożyło się to. Osobiście ja tego nie ukrywałem ale może nie mam aż tylu urządzeń raptem 58 kanałów ;)
Powiadomienia działają bo już w jednej lokalizacji bateria była wymieniana ;)
Mam zrobione tak samo, a i poszedłem troszkę dalej.
Jako ze jedno powiadomienie to mało (zawsze można zapomnieć), to rozszerzyłem o dwie sceny i harmonogram.

Przy każdym kanale ze stanem baterii mam wyślij powiadomienie jak stan baterii spadnie poniżej 15% z informacją jaki konkretnie to czujnik (tak jak u Ciebie).
Jest dodana dla takich samych warunków druga reakcja uruchamiająca harmonogram.
Harmonogram jest jako cykliczny i uruchamiany co 30 minut i uruchamia scenę "bateria komunikat".
Scena "bateria komunikat" (ukryta w aplikacji) wysyła powiadomienie o słabej baterii w jednym z czujników (nie ma tu możliwości rozpoznania który ma słabą, ale ma przypominać o wymianie do puki jej nie wymienimy).
Kolejna scena "bateria wymieniona" (widoczna w aplikacji) wyłącza harmonogram, aby nie bombardował nas dalej komunikatami.

Więc wszystko samo się uruchamia, dostajemy główny komunikat który czujnik ma problem z baterią i kolejne przypominające komunikaty, a po wymianie baterii w aplikacji uruchamiamy scenę "bateria wymieniona" i komunikaty się wyłączają.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
User avatar
myxhir
Posts: 364
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań

Post

Lector wrote: Fri Feb 02, 2024 10:53 am
myxhir wrote: Thu Nov 02, 2023 8:10 am dokładnie tak mam u siebie ;) dodałem kanał wilgotności i czytam już z wcześniejszych plików. Dodałem sobie je nawet w osobną lokalizację żeby nie mnożyło się to. Osobiście ja tego nie ukrywałem ale może nie mam aż tylu urządzeń raptem 58 kanałów ;)
Powiadomienia działają bo już w jednej lokalizacji bateria była wymieniana ;)
Mam zrobione tak samo, a i poszedłem troszkę dalej.
Jako ze jedno powiadomienie to mało (zawsze można zapomnieć), to rozszerzyłem o dwie sceny i harmonogram.

Przy każdym kanale ze stanem baterii mam wyślij powiadomienie jak stan baterii spadnie poniżej 15% z informacją jaki konkretnie to czujnik (tak jak u Ciebie).
Jest dodana dla takich samych warunków druga reakcja uruchamiająca harmonogram.
Harmonogram jest jako cykliczny i uruchamiany co 30 minut i uruchamia scenę "bateria komunikat".
Scena "bateria komunikat" (ukryta w aplikacji) wysyła powiadomienie o słabej baterii w jednym z czujników (nie ma tu możliwości rozpoznania który ma słabą, ale ma przypominać o wymianie do puki jej nie wymienimy).
Kolejna scena "bateria wymieniona" (widoczna w aplikacji) wyłącza harmonogram, aby nie bombardował nas dalej komunikatami.

Więc wszystko samo się uruchamia, dostajemy główny komunikat który czujnik ma problem z baterią i kolejne przypominające komunikaty, a po wymianie baterii w aplikacji uruchamiamy scenę "bateria wymieniona" i komunikaty się wyłączają.
A jesteś pewny że na takim poziomie napięcia to działa? Ja miałem ustawione powiadomienie < 20% to przyszło powiadomienie potem poziom bateri był kolejno 30%, 19% i czujnik padł:-)
User avatar
Lector
Posts: 1428
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Wydaje mi się ze u mnie schodziło poniżej 10% i chodziły.

Najmniej mam teraz 37%, zobaczymy czy zadziała.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
User avatar
Gang
Posts: 625
Joined: Fri Nov 09, 2018 12:44 pm

Post

Mi przy 5 procentach dalej wysyła.

Ps. Rozwiązałem problem SSH... Wystarczy że malinka jest dhe niż 2metry do unifi i jest ok ;)
Zamel: MEW-01, ROW-02, THW-01, RNW-01, SLW-02, ROW-07, mROW-02, PNW-01. DIY: Supla Device RPI + 10 xiaomi mija2, Sonoff: basic + 7 DS18B20, basic x2, touch, mini x3, - Nodemcu x2, - ElectroDragon ESP8266 - Gosund SP111 x3
User avatar
myxhir
Posts: 364
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań

Post

Gang wrote: Sun Feb 04, 2024 11:19 am Mi przy 5 procentach dalej wysyła.

Ps. Rozwiązałem problem SSH... Wystarczy że malinka jest dhe niż 2metry do unifi i jest ok ;)
Ja mam ZTE Mesha i tak samo mam :) ale to też różnie raz działa SSH dobrze raz nie
User avatar
Lector
Posts: 1428
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Mam problem z jednym czujnikiem, chodził kilka ładnych dni bez rwania. Aż tu nagle rwania i brak kontaktu, a nic nie zmieniałem, nie przedstawiałem.
Screenshot_20240212-200400.png
Ma ktoś jakiś pomysł, jak zwiększam decybele to też nie pomaga, jedynie zmiana położenia czujnika.

Jak poprawnie zmienić siłę nadawania?
You do not have the required permissions to view the files attached to this post.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/
User avatar
myxhir
Posts: 364
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań

Post

Lector wrote: Mon Feb 12, 2024 7:11 pm Mam problem z jednym czujnikiem, chodził kilka ładnych dni bez rwania. Aż tu nagle rwania i brak kontaktu, a nic nie zmieniałem, nie przedstawiałem.
Screenshot_20240212-200400.png
Ma ktoś jakiś pomysł, jak zwiększam decybele to też nie pomaga, jedynie zmiana położenia czujnika.

Jak poprawnie zmienić siłę nadawania?
też miałem taki problem i ja to trochę obszedłem :D a mianowicie w pliku YAML dałem dłuższy czas po jakim wyświetlą się ---. Ustawiłem na 5 min czyli 300 sec. Problem potem ustał

Code: Select all

#Maly Pokoj
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:31:50:09.txt"
      expiration_time_sec: 300
    parser:
      type: Simple
      refresh_time_ms: 5000
    temperature: 0
    humidity: 1
    multiplier_temp: 1
    multiplier_humi: 1
    battery_level: 2
może zwiększ sobie tą tolerancje i sprawdź jak to się zachowa. U mnie jak wszedłem w folder który zbiera pliki z adresami MAC to się przeżegnałem ile tego tam jest :D
User avatar
Lector
Posts: 1428
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Dzięki zmieniłem.

A może ktoś kombinował dodać RSSI pod (i)?

Zmieniając:

Code: Select all

./LYWSD03MMC.py -p --atc --battery --rssi --round --debounce --callback save-to-file.sh
Pobieramy siłę sygnału, jest problem z zapisem bo jest z minusem (tak mi się zdaję).
Ale jak damy:

Code: Select all

#!/bin/bash
echo $3 > $2.txt
echo $4 >> $2.txt
echo $6 >> $2.txt
echo [$7] >> $2.txt
To zapisuje, tylko jak to ustawić w supla-device.yaml? Będzie to zmienna 4 ale jaka komendę daję WiFi RSSI pod (i). I czy problemem nie będzie nawias kwadratowy.
Niespełniony automatyk. :mrgreen:
https://3d-lamp.photos/

Return to “FAQ / Jak to zrobić”