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

User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

Gang wrote: Fri Oct 27, 2023 12:34 pm
shimano73 wrote: Fri Oct 27, 2023 11:52 am Kupiłem nową RPi Zero 2 W i poszło szybko i bez problemów , dzięki @leśny8 kawał dobej roboty z tym skryptem . Jako że działam z tą maliką po ssh , gdzie szukac konfiguracyjnego pliku yaml. Jako że podczas instalacji wykryło mi nie wszystkie czujniki bo maja rozładowane baterie , to czy wystarczy że je dopisze do pliku konfiguracyjnego yaml ?
howk, który system wgrywałeś?
Ten który leśny8 zaznaczył w pierwszym poście.

EDIT: ale cos namieszałem , zmieniłem nazwę , chcąc zwiększyć ilość kanałów , skopiowałem w pliku yaml ostatni zapisany czujnik , zachowując wcięcia, no i nagle przestały sie odświeżać dane z czujników :? reset systemu nie pomaga :(
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
myxhir
Posts: 664
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań
Has thanked: 6 times
Been thanked: 9 times

Post

shimano73 wrote: Fri Oct 27, 2023 12:56 pm
Gang wrote: Fri Oct 27, 2023 12:34 pm
shimano73 wrote: Fri Oct 27, 2023 11:52 am Kupiłem nową RPi Zero 2 W i poszło szybko i bez problemów , dzięki @leśny8 kawał dobej roboty z tym skryptem . Jako że działam z tą maliką po ssh , gdzie szukac konfiguracyjnego pliku yaml. Jako że podczas instalacji wykryło mi nie wszystkie czujniki bo maja rozładowane baterie , to czy wystarczy że je dopisze do pliku konfiguracyjnego yaml ?
howk, który system wgrywałeś?
Ten który leśny8 zaznaczył w pierwszym poście.

EDIT: ale cos namieszałem , zmieniłem nazwę , chcąc zwiększyć ilość kanałów , skopiowałem w pliku yaml ostatni zapisany czujnik , zachowując wcięcia, no i nagle przestały sie odświeżać dane z czujników :? reset systemu nie pomaga :(
ja pamiętam ze tam te wcięcia miały znaczenie spróbuj z mojego pliku, najlepiej skopiuj do notatnika i potem do pliku yaml

Code: Select all

channels:
#Salon
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:54:8A:5D.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
#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
#Korytarz
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:08:91:CC.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
#Lazienka
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:FB:B2:99.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
#Sypialnia
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:53:C6:F0.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
a i po zmianie pliku yaml jak dodawałeś coś to

Code: Select all

sudo systemctl restart supla-device.service
Spełniony Automatyk / Mąż / Świeżo Upieczony Ojciec
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

myxhir wrote: Fri Oct 27, 2023 1:26 pm
shimano73 wrote: Fri Oct 27, 2023 12:56 pm
Gang wrote: Fri Oct 27, 2023 12:34 pm

howk, który system wgrywałeś?
Ten który leśny8 zaznaczył w pierwszym poście.

EDIT: ale cos namieszałem , zmieniłem nazwę , chcąc zwiększyć ilość kanałów , skopiowałem w pliku yaml ostatni zapisany czujnik , zachowując wcięcia, no i nagle przestały sie odświeżać dane z czujników :? reset systemu nie pomaga :(
ja pamiętam ze tam te wcięcia miały znaczenie spróbuj z mojego pliku, najlepiej skopiuj do notatnika i potem do pliku yaml

Code: Select all

channels:
#Salon
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:54:8A:5D.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
#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
#Korytarz
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:08:91:CC.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
#Lazienka
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:FB:B2:99.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
#Sypialnia
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:53:C6:F0.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
a i po zmianie pliku yaml jak dodawałeś coś to

Code: Select all

sudo systemctl restart supla-device.service
co do wcięć to jestem pewien .Po tych zmianach i ich powrotach zawsze robiłem "sudo rebbot"

edit : usunąłem pliki txt te od czujników i nowe sie nie pojawiają , albo nie działa bluetooth albo skrypt nasłuchujący czujniki albo nie wiem :(
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
myxhir
Posts: 664
Joined: Thu Jan 07, 2021 12:16 pm
Location: Skórzewo, Poznań
Has thanked: 6 times
Been thanked: 9 times

Post

shimano73 wrote: Fri Oct 27, 2023 1:35 pm
myxhir wrote: Fri Oct 27, 2023 1:26 pm
shimano73 wrote: Fri Oct 27, 2023 12:56 pm

Ten który leśny8 zaznaczył w pierwszym poście.

EDIT: ale cos namieszałem , zmieniłem nazwę , chcąc zwiększyć ilość kanałów , skopiowałem w pliku yaml ostatni zapisany czujnik , zachowując wcięcia, no i nagle przestały sie odświeżać dane z czujników :? reset systemu nie pomaga :(
ja pamiętam ze tam te wcięcia miały znaczenie spróbuj z mojego pliku, najlepiej skopiuj do notatnika i potem do pliku yaml

Code: Select all

channels:
#Salon
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:54:8A:5D.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
#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
#Korytarz
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:08:91:CC.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
#Lazienka
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:FB:B2:99.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
#Sypialnia
  - type: ThermHygroMeterParsed
    source:
      type: File
      file: "/home/pi/MiTemperature2/A4:C1:38:53:C6:F0.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
a i po zmianie pliku yaml jak dodawałeś coś to

Code: Select all

sudo systemctl restart supla-device.service
co do wcięć to jestem pewien .Po tych zmianach i ich powrotach zawsze robiłem "sudo rebbot"

edit : usunąłem pliki txt te od czujników i nowe sie nie pojawiają , albo nie działa bluetooth albo skrypt nasłuchujący czujniki albo nie wiem :(
to nie zostaje nic innego jak przejść proces ręcznie, nie jest to takie złe :)
Spełniony Automatyk / Mąż / Świeżo Upieczony Ojciec
User avatar
Gang
Posts: 748
Joined: Fri Nov 09, 2018 12:44 pm

Post

EDIT:
DZIAŁA! ;)

chat gpt i jakoś ogarnąłem ;)

Największa dla mnie trudność to było to w jakim katalogu co robić.

Leśny8 Dziękuję!
Tu jest za mało miejsca abym wszystko mógł wypisać, co mam z supli :mrgreen:
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

@Gang, na czym Ty to stawiasz?
Wczoraj wieczorem w międzyczasie, wrzuciłem czystą kartę z nagranym OS przez imager do RPi ZeroW, bo mnie intrygowało czemu u Ciebie jest problem z tymi podniesionymi usprawnieniami i instaluje się na koncie root zamiast na Twoim.
Nawet specjalnie ściągnąłem najnowszym imager na W10 i łączyłem się przez putty :lol:
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Gang wrote: Sat Oct 28, 2023 5:47 am EDIT:
DZIAŁA! ;)

chat gpt i jakoś ogarnąłem ;)

Największa dla mnie trudność to było to w jakim katalogu co robić.

Leśny8 Dziękuję!
A wiesz już czemu skrypt nie przechodził?
Czy po zalogowaniu nie podbosileś uprawnień?

Code: Select all

sudo su
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila
User avatar
Gang
Posts: 748
Joined: Fri Nov 09, 2018 12:44 pm

Post

Na zeroW z botlandu.
Pojęcia nie mam co nie działało, sformatowałem kartę, od nowa wgrałem wersję lite ta poprzednią i robiłem po kolei krok po kroku wg turtoriala. Co prawda kilka błędów było i sobie chatem gpt ratowałem, ale w większości to były moje błędy. Jedyne co teraz zmieniłem to zamiast Damian dałem admin.

Ale zmieniłem też jeszcze jedno ustawienie. Na unifi miałem kraj jako USA [unifi podobno wtedy może mocniej nadawać w trybie automatycznym.] Zmieniłem na Poland. Ale czy to miało znaczenie nie wiem.
Tu jest za mało miejsca abym wszystko mógł wypisać, co mam z supli :mrgreen:
User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

Zainstalowałem wszystko od nowa i podobna sytuacja . Działają wszystkie 4 zainstalowane czujniki . Czujniki się odświeżają ale pierwszego restartu maliny , gdy zrobię "sudo reboot" to po ponownym uruchomieniu już nie działa - nie odświeżają sie pliki txt z danymi.

EDIT: i jeszcze raz to zrobiłem od początku . tzn wykonałem full automat via leśny8 na Rpi Zero W 2 i mam pewność , wszystko działa poprawnie do pierwszego resetu np wyłączenie zasilania. To tak jak by coś się nie załączało po ponownym uruchomieniu :( .
"No to jak, pomożecie ?" ale to zabrzmiało :lol: :lol: :lol:

EDIT2:teraz gdy nie ma odczytów ,po wpisaniu sudo bluetoothctl i scan on system pokazuje znalezione urządzenia . to znaczy że bluetooth chyba działa.

EDIT3: nie czekam bezczynnie :lol: , po wykonaniu

Code: Select all

./LYWSD03MMC.py -p --atc --battery --round --debounce --callback save-to-file.sh
dane z czujników pojawiły się , to znaczy że nie działa supervisor , po wykonaniu

Code: Select all

 sudo service supervisor restart
znów wszystko działa, tzn że nie startuje supervisor
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
User avatar
lesny8
Posts: 3132
Joined: Mon Dec 11, 2017 9:43 pm
Has thanked: 10 times
Been thanked: 9 times

Post

Yyyyyy.... u mnie działa :P

Mam dwie malinki aktualnie w domu i obie czytają z tych samych czujników, ale nie ma to w sumie żadnego znaczenia.
Instalacje na testowej robiłem przedwczoraj. Niedawno zrobiłem restart, tak jak Ty i bez problemu rusza po ponownym uruchomieniu.

Code: Select all

systemctl status supervisor

Code: Select all

lesny8@RPiZeroW-test:~ $ systemctl status supervisor
● supervisor.service - Supervisor process control system for UNIX
     Loaded: loaded (/lib/systemd/system/supervisor.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2023-10-29 12:31:50 CET; 33min ago
       Docs: http://supervisord.org
   Main PID: 338 (supervisord)
      Tasks: 4 (limit: 414)
        CPU: 42.754s
     CGroup: /system.slice/supervisor.service
             ├─338 /usr/bin/python3 /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
             ├─460 /bin/bash /home/lesny8/MiTemperature2/start-listening.sh
             └─461 python3 -u ./LYWSD03MMC.py -p --atc --battery --round --debounce --callback save-to-file.sh

Oct 29 12:31:50 RPiZeroW-test systemd[1]: Started Supervisor process control system for UNIX.
Oct 29 12:32:06 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:06,913 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config>
Oct 29 12:32:06 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:06,920 INFO Included extra file "/etc/supervisor/conf.d/mi-listener.conf" during parsing
Oct 29 12:32:07 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:07,014 INFO RPC interface 'supervisor' initialized
Oct 29 12:32:07 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:07,018 CRIT Server 'unix_http_server' running without any HTTP authentication checking
Oct 29 12:32:07 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:07,025 INFO supervisord started with pid 338
Oct 29 12:32:08 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:08,071 INFO spawned: 'mi-listener' with pid 460
Oct 29 12:32:09 RPiZeroW-test supervisord[338]: 2023-10-29 12:32:09,819 INFO success: mi-listener entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Supervisor uruchomiony, pliki czujników się aktualizują ;)
SOP 2023 :heavy_check_mark:
SOP 2024 :heavy_check_mark:
Czekam na kolejne Supla Offline Party :upside_down_face:
🧩: 🔑cz->b ⛴️+ila

Return to “FAQ / Jak to zrobić”