Brakuje implementacji tego fragmentu dla ESP 32. Dorobię to razem z tym licznikiem impulsówbigthomas wrote: ↑Sun Oct 25, 2020 6:25 pm Co może być przyczyną że w channel info widzę tylko:
- Czas pracy
- Czas połączenia
- Powód restartu połączenia
Czy dodatkowe informacje inaczej się uruchamia?
Biblioteki mam najnowsze, ściągnięte z https://github.com/klew/arduino .
Wersja płytki : ESP32
CHANNELSTATE w bibliotece Arduino
-
- Posts: 9670
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Kiedy będzie Supla Offline Party / SOP#2025 ?
-
- Posts: 235
- Joined: Mon Aug 12, 2019 3:35 pm
Dzięki że pamiętasz ...
Mam dodatkowe pytanie, dla tej samej płytki co robię nie tak żeby wyłączyć w kanale czujnika temperatury channelstate?
Code: Select all
...
Supla::Sensor::DS18B20 *Temp1_ch0 = {nullptr};
....
void setup() {
DeviceAddress ds0addr = { 0x28, 0xFF, 0x8C, 0x5C, 0x6C, 0x18, 0x01, 0xB2 };
Temp1_ch0 = new Supla::Sensor::DS18B20(pin_temp, ds0addr);
Temp1_ch0->disableChannelState();
...
-
- Posts: 9670
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
-
- Posts: 162
- Joined: Fri May 24, 2019 6:49 am
@klew - czy mógłbyś podpowiedzieć w jaki sposób do channel_state dodać własne informacje? Chciałbym dodać informacje o poziomie baterii, napięciu i rssi z czujników temperatury Xiaomi. Mam te dane wyciągnięte, w sensie przechowuję je w zmiennych, tylko nie wiem jak je wrzucić do channel_state.
Pozdrawiam
Andrzej
Pozdrawiam
Andrzej
-
- Posts: 9670
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Musisz w obiekcie czujnika zaimplementować metodę:andrew01 wrote: ↑Thu Oct 29, 2020 7:02 pm @klew - czy mógłbyś podpowiedzieć w jaki sposób do channel_state dodać własne informacje? Chciałbym dodać informacje o poziomie baterii, napięciu i rssi z czujników temperatury Xiaomi. Mam te dane wyciągnięte, w sensie przechowuję je w zmiennych, tylko nie wiem jak je wrzucić do channel_state.
Pozdrawiam
Andrzej
Code: Select all
virtual void handleGetChannelState(TDSC_ChannelState &channelState);
Tutaj jest definicja struktury, którą możesz wypełnić danymi:
https://github.com/klew/arduino/blob/1d ... to.h#L1486
Dodając jakiś parametr (np. battery level) musisz też dodać flagę dotyczącą baterii (flagi są zdefiniowane nad definicją struktury w proto.h).
W metodzie handleGetChannelState otrzymasz referencje na parametr channelState. On będzie wstępnie wypełniony danymi (uptime z SuplaDevice, dane o sieci z interfejsu sieciowego). Oczywiście RSSI i inne możesz sobie nadpisać.
Tutaj możesz zobaczyć, jak przeliczamy RSSI do % zasięgu: https://github.com/klew/arduino/blob/1d ... ifi.h#L194
Kiedy będzie Supla Offline Party / SOP#2025 ?
-
- Posts: 162
- Joined: Fri May 24, 2019 6:49 am
Dzięki bardzo, poniżej rezultat, wszystkie dane dotyczą czujnika, łącznie z jego adresemklew wrote: ↑Fri Oct 30, 2020 7:22 am
Musisz w obiekcie czujnika zaimplementować metodę:Code: Select all
virtual void handleGetChannelState(TDSC_ChannelState &channelState);
You do not have the required permissions to view the files attached to this post.
-
- Posts: 182
- Joined: Sun Mar 29, 2020 10:03 pm
- Location: Zbąszynek
A jak pozbyć się informacji Channelstate z czujnika ciśnienia w BME280
Z czujnika temperatury się udało.
Code: Select all
Supla::Sensor::BME280 *bme = new Supla::Sensor::BME280(0x76, 77);
bme->disableChannelState();
-
- Posts: 9670
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Poprawię to wieczoremXoggo wrote: ↑Sun Nov 08, 2020 3:48 pmA jak pozbyć się informacji Channelstate z czujnika ciśnienia w BME280
Z czujnika temperatury się udało.Code: Select all
Supla::Sensor::BME280 *bme = new Supla::Sensor::BME280(0x76, 77); bme->disableChannelState();
Kiedy będzie Supla Offline Party / SOP#2025 ?
-
- Posts: 182
- Joined: Sun Mar 29, 2020 10:03 pm
- Location: Zbąszynek
Pójdzie z automatu czy też trzeba będzie dla tego jednego kanału usuwać z cloud?
-
- Posts: 9670
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław