XIAOMI LYWSD03MMC - odczyt przez ESP32

Bartoni
Posts: 115
Joined: Sun Jul 18, 2021 6:48 pm

Post

Skaner BLE
You do not have the required permissions to view the files attached to this post.
User avatar
klew
Posts: 8798
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Bartoni wrote: Thu Jun 06, 2024 7:06 pmSkaner BLE
Niestety nie mam pojęcia co wysyłają te czujniki ;)
Widzimy się na Supla Offline Party vol. 2 :!:
Bartoni
Posts: 115
Joined: Sun Jul 18, 2021 6:48 pm

Post

Problem udało się rozwiązać, ponowne flashowanie czujników pomogło. Pojawiły sie wskazania czujników.

Mam dwa czujniki i jeden po rozłączeniu wskazuje --- --- w miejscach wartości, a drugi 00 00. W pierwszym przypadku wykres jest przerwany, a w drugim są takie szpilki.

Dlaczego tak się dzieje że w jednym przypadku mam -- --, a w drugim 00 00?
User avatar
Lector
Posts: 1471
Joined: Fri Nov 17, 2017 2:26 pm
Location: Poznań

Post

Czy ktoś z kolegów może posiada czujnik otwarcia okna/drzwi na bluetooth który współgra z bramką?
Można proces o model lub linka do produktu
Niespełniony automatyk. :mrgreen:
https://www.youtube.com/@3D_Lamp.Photos
User avatar
veeroos
Posts: 419
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów

Post

Bartoni wrote: Fri Jun 07, 2024 8:57 pm Dlaczego tak się dzieje że w jednym przypadku mam -- --, a w drugim 00 00?
A kod mój czy kolegi Adamusa? Bo ja w swoim kodzie ustawiałem wartości takie żeby pokazywało kreski, ale musiałbym sprawdzić czy dla wszystkich czujników tak zrobiłem.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4

https://github.com/v33r005
User avatar
veeroos
Posts: 419
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów

Post

Lector wrote: Sat Jun 08, 2024 3:20 am Czy ktoś z kolegów może posiada czujnik otwarcia okna/drzwi na bluetooth który współgra z bramką?
Można proces o model lub linka do produktu
Kolega Adamus miał robić bramkę Bluetooth, ale chyba brakuje mu czasu żeby ją skończyć, a z pod czujniki trzeba by było bramkę zrobić, Uśmiechnij się do kolegi Zibiego on zrobił czujniki różne wraz z bramką tyle że na radiu, plus tego rozwiązania jest taki że bateria trzyma latami...
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4

https://github.com/v33r005
lukasz06
Posts: 887
Joined: Sun Jul 17, 2022 6:53 pm

Post

Ok tam, oj tam. Kolega @Veeroos pewnie coś wymyśli 😉
Bartoni
Posts: 115
Joined: Sun Jul 18, 2021 6:48 pm

Post

veeroos wrote: Sat Jun 08, 2024 10:01 am
Bartoni wrote: Fri Jun 07, 2024 8:57 pm Dlaczego tak się dzieje że w jednym przypadku mam -- --, a w drugim 00 00?
A kod mój czy kolegi Adamusa? Bo ja w swoim kodzie ustawiałem wartości takie żeby pokazywało kreski, ale musiałbym sprawdzić czy dla wszystkich czujników tak zrobiłem.
Mam Twój kod. Pierwszy czujnik ma kreski, a drugi wskazuje 0. Sprawdź jak możesz i ewentualnie daj znać co zmienić
User avatar
veeroos
Posts: 419
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów

Post

dobra patrzę na mój ostatni kod i błędów nie widzę, w sumie można by było poprawić klasę "Czujnik" z:

Code: Select all

class Czujnik : public Supla::Sensor::ThermHygroMeter {
 public:
  explicit Czujnik(int sensorNumber)
      : sensorNumber(sensorNumber),
        temperature(-270),
        humidity(0)
  {

  }

  double getTemp() {
    temperature = temp[sensorNumber];
    return temperature;
  }

  double getHumi() {
    humidity = wilg[sensorNumber];
    return humidity;
  }

 private:
  void iterateAlways() {
    if (millis() - lastReadTime > 10000) {
      lastReadTime = millis();
      channel.setNewValue(getTemp(), getHumi());
      channel.setBatteryLevel(bat[sensorNumber]);
    }
  }

  void onInit() {
    channel.setNewValue(getTemp(), getHumi());
    channel.setBatteryLevel(bat[sensorNumber]);
  }

 protected:
  const int sensorNumber;
  float temperature;
  int humidity;
};
na:

Code: Select all

class Czujnik : public Supla::Sensor::ThermHygroMeter {
 public:
  explicit Czujnik(int sensorNumber)
      : sensorNumber(sensorNumber),
        temperature(-275),
        humidity(-1)
  {

  }

  double getTemp() {
    temperature = temp[sensorNumber];
    return temperature;
  }

  double getHumi() {
    humidity = wilg[sensorNumber];
    return humidity;
  }

 private:
  void iterateAlways() {
    if (millis() - lastReadTime > 10000) {
      lastReadTime = millis();
      channel.setNewValue(getTemp(), getHumi());
      channel.setBatteryLevel(bat[sensorNumber]);
    }
  }
  

  void onInit() {
    channel.setNewValue(getTemp(), getHumi());
    channel.setBatteryLevel(bat[sensorNumber]);
  }

 protected:
  const int sensorNumber;
  float temperature;
  int humidity;
};
Chociaż dziwne jest to, że pokazuje wartości "00" "00", bo to by oznaczało, że układ znalazł czujnik, ale nie odczytał wartości temperatury ani wilgotności. Przerwy w odczycie są wtedy, jak 5 krotnie bramka nie znajdzie czujnika to ustawia stan braku czujnika.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4

https://github.com/v33r005
Bartoni
Posts: 115
Joined: Sun Jul 18, 2021 6:48 pm

Post

Zauważyłem, że jeśli ESP nie odczyta czujnika to na wykresie jest przerwa, natomiast jeśli ESP się resetuje raz na 24 godz to pierwszy czujnik ma na wykresie przerwę (wskazuje ---) natomiast drugi na wykresie ma szpilkę do 0 (wskazuje 00). Czasem reset nie jest zauważalny na wykresie.

Po odłączeniu zasilania od ESP jeden wskazuje ---, a drugi 00. To jest główny problem.
You do not have the required permissions to view the files attached to this post.

Return to “Zagadnienia ogólne”