Brakuje implementacji tego fragmentu dla ESP 32. Dorobię to razem z tym licznikiem impulsówbigthomas pisze: ↑ndz paź 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
Widzimy się na Supla Offline Party vol. 2
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?
Kod: Zaznacz cały
...
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();
...
@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
Musisz w obiekcie czujnika zaimplementować metodę:andrew01 pisze: ↑czw paź 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
Kod: Zaznacz cały
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
Widzimy się na Supla Offline Party vol. 2
Dzięki bardzo, poniżej rezultat, wszystkie dane dotyczą czujnika, łącznie z jego adresemklew pisze: ↑pt paź 30, 2020 7:22 am
Musisz w obiekcie czujnika zaimplementować metodę:Kod: Zaznacz cały
virtual void handleGetChannelState(TDSC_ChannelState &channelState);
- Załączniki
-
- Screenshot_20201030-184722_SUPLA.jpg (89.19 KiB) Przejrzano 2242 razy
A jak pozbyć się informacji Channelstate z czujnika ciśnienia w BME280
Z czujnika temperatury się udało.
Kod: Zaznacz cały
Supla::Sensor::BME280 *bme = new Supla::Sensor::BME280(0x76, 77);
bme->disableChannelState();
Poprawię to wieczoremXoggo pisze: ↑ndz lis 08, 2020 3:48 pmA jak pozbyć się informacji Channelstate z czujnika ciśnienia w BME280
Z czujnika temperatury się udało.Kod: Zaznacz cały
Supla::Sensor::BME280 *bme = new Supla::Sensor::BME280(0x76, 77); bme->disableChannelState();
Widzimy się na Supla Offline Party vol. 2