diff --git a/_weather_sensor_8h_source.html b/_weather_sensor_8h_source.html
index 1b02bea1..a9abd862 100644
--- a/_weather_sensor_8h_source.html
+++ b/_weather_sensor_8h_source.html
@@ -165,368 +165,379 @@
-
-
-
-
-
- 87 #ifndef WeatherSensor_h
- 88 #define WeatherSensor_h
-
-
-
-
- 93 #include <Preferences.h>
-
-
+
+
+
+
+
+
+ 88 #ifndef WeatherSensor_h
+ 89 #define WeatherSensor_h
+
+
+
+
+ 94 #include <Preferences.h>
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 111 #define SENSOR_TYPE_WEATHER0 0
- 112 #define SENSOR_TYPE_WEATHER1 1
- 113 #define SENSOR_TYPE_THERMO_HYGRO 2
- 114 #define SENSOR_TYPE_POOL_THERMO 3
- 115 #define SENSOR_TYPE_SOIL 4
- 116 #define SENSOR_TYPE_LEAKAGE 5
- 117 #define SENSOR_TYPE_AIR_PM 8
- 118 #define SENSOR_TYPE_RAIN 9
- 119 #define SENSOR_TYPE_LIGHTNING 9
- 120 #define SENSOR_TYPE_CO2 10
- 121 #define SENSOR_TYPE_HCHO_VOC 11
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 112 #define SENSOR_TYPE_WEATHER0 0
+ 113 #define SENSOR_TYPE_WEATHER1 1
+ 114 #define SENSOR_TYPE_THERMO_HYGRO 2
+ 115 #define SENSOR_TYPE_POOL_THERMO 3
+ 116 #define SENSOR_TYPE_SOIL 4
+ 117 #define SENSOR_TYPE_LEAKAGE 5
+ 118 #define SENSOR_TYPE_AIR_PM 8
+ 119 #define SENSOR_TYPE_RAIN 9
+ 120 #define SENSOR_TYPE_LIGHTNING 9
+ 121 #define SENSOR_TYPE_CO2 10
+ 122 #define SENSOR_TYPE_HCHO_VOC 11
-
- 125 #define WEATHER0_RAIN_OV 1000
- 126 #define WEATHER1_RAIN_OV 100000
-
+
+
+ 126 #define WEATHER0_RAIN_OV 1000
+ 127 #define WEATHER1_RAIN_OV 100000
-
- 130 #define DATA_COMPLETE 0x1
- 131 #define DATA_TYPE 0x2
- 132 #define DATA_ALL_SLOTS 0x8
-
-
- 135 #define MSG_BUF_SIZE 27
-
-
- 138 typedef enum DecodeStatus {
- 139 DECODE_INVALID, DECODE_OK, DECODE_PAR_ERR, DECODE_CHK_ERR, DECODE_DIG_ERR, DECODE_SKIP, DECODE_FULL
-
+
+
+ 131 #define DATA_COMPLETE 0x1
+ 132 #define DATA_TYPE 0x2
+ 133 #define DATA_ALL_SLOTS 0x8
+
+
+ 136 #define DECODER_5IN1 0x01
+ 137 #define DECODER_6IN1 0x02
+ 138 #define DECODER_7IN1 0x04
+ 139 #define DECODER_LIGHTNING 0x08
+ 140 #define DECODER_LEAKAGE 0x10
-
-
-
-
-
-
-
-
-
-
- 163 Preferences cfgPrefs;
- 164 std::vector<uint32_t> sensor_ids_inc;
- 165 std::vector<uint32_t> sensor_ids_exc;
-
-
-
-
-
-
-
-
- 201 bool getData(uint32_t timeout, uint8_t flags = 0, uint8_t type = 0,
void (*func)() = NULL);
-
-
-
+
+ 143 #define MSG_BUF_SIZE 27
+
+
+ 146 typedef enum DecodeStatus {
+ 147 DECODE_INVALID, DECODE_OK, DECODE_PAR_ERR, DECODE_CHK_ERR, DECODE_DIG_ERR, DECODE_SKIP, DECODE_FULL
+
+
+
+
+
+
+
+
+
+
+
+
+ 171 Preferences cfgPrefs;
+ 172 std::vector<uint32_t> sensor_ids_inc;
+ 173 std::vector<uint32_t> sensor_ids_exc;
+ 174 static uint8_t _dummy_en_decoders;
+
+
+
+
+
+
+
+
+ 210 bool getData(uint32_t timeout, uint8_t flags = 0, uint8_t type = 0,
void (*func)() = NULL);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 232 #ifdef WIND_DATA_FLOATINGPOINT
- 233 float wind_direction_deg = 0.0;
- 234 float wind_gust_meter_sec = 0.0;
- 235 float wind_avg_meter_sec = 0.0;
-
- 237 #ifdef WIND_DATA_FIXEDPOINT
-
-
-
- 241 uint16_t wind_direction_deg_fp1 = 0;
- 242 uint16_t wind_gust_meter_sec_fp1 = 0;
- 243 uint16_t wind_avg_meter_sec_fp1 = 0;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 241 #ifdef WIND_DATA_FLOATINGPOINT
+ 242 float wind_direction_deg = 0.0;
+ 243 float wind_gust_meter_sec = 0.0;
+ 244 float wind_avg_meter_sec = 0.0;
+
+ 246 #ifdef WIND_DATA_FIXEDPOINT
+
+
+
+ 250 uint16_t wind_direction_deg_fp1 = 0;
+ 251 uint16_t wind_gust_meter_sec_fp1 = 0;
+ 252 uint16_t wind_avg_meter_sec_fp1 = 0;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 312 #pragma GCC diagnostic push
- 313 #pragma GCC diagnostic ignored "-Wclass-memaccess"
- 314 memset(
this, 0,
sizeof(*
this));
- 315 #pragma GCC diagnostic pop
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
- 329 bool genMessage(
int i, uint32_t
id = 0xff, uint8_t s_type = 1, uint8_t channel = 0, uint8_t startup = 0);
-
-
-
-
- 342 for (
int i=0; i<
sensor.size(); i++) {
- 343 if ((type == 0xFF) || (
sensor[i].s_type == type)) {
-
- 345 sensor[i].complete =
false;
-
- 347 if (
sensor[i].s_type == SENSOR_TYPE_WEATHER1) {
- 348 sensor[i].w.temp_ok =
false;
- 349 sensor[i].w.humidity_ok =
false;
- 350 sensor[i].w.light_ok =
false;
- 351 sensor[i].w.uv_ok =
false;
- 352 sensor[i].w.wind_ok =
false;
- 353 sensor[i].w.rain_ok =
false;
-
-
-
-
-
-
+
+
+ 321 #pragma GCC diagnostic push
+ 322 #pragma GCC diagnostic ignored "-Wclass-memaccess"
+ 323 memset(
this, 0,
sizeof(*
this));
+ 324 #pragma GCC diagnostic pop
+
+
+
+
+
+
+
+
+
+ 339 bool genMessage(
int i, uint32_t
id = 0xff, uint8_t s_type = 1, uint8_t channel = 0, uint8_t startup = 0);
+
+
+
+
+ 352 for (
int i=0; i<
sensor.size(); i++) {
+ 353 if ((type == 0xFF) || (
sensor[i].s_type == type)) {
+
+ 355 sensor[i].complete =
false;
+
+ 357 if (
sensor[i].s_type == SENSOR_TYPE_WEATHER1) {
+ 358 sensor[i].w.temp_ok =
false;
+ 359 sensor[i].w.humidity_ok =
false;
+ 360 sensor[i].w.light_ok =
false;
+ 361 sensor[i].w.uv_ok =
false;
+ 362 sensor[i].w.wind_ok =
false;
+ 363 sensor[i].w.rain_ok =
false;
+
+
+
- 376 int findType(uint8_t type, uint8_t channel = 0xFF);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 429 struct Sensor *pData;
+
+
+
+ 386 int findType(uint8_t type, uint8_t channel = 0xFF);
+
+
+
+
+
+ 411 void setSensorsCfg(uint8_t max_sensors, uint8_t rx_flags, uint8_t en_decoders = 0xFF);
+
+
+
+
- 440 void initList(std::vector<uint32_t> &list,
const std::vector<uint32_t> list_def,
const char *key);
-
- 459 int findSlot(uint32_t
id, DecodeStatus * status);
-
-
- 462 #ifdef BRESSER_5_IN_1
- 472 DecodeStatus decodeBresser5In1Payload(
const uint8_t *msg, uint8_t msgSize);
-
- 474 #ifdef BRESSER_6_IN_1
- 486 DecodeStatus decodeBresser6In1Payload(
const uint8_t *msg, uint8_t msgSize);
-
- 488 #ifdef BRESSER_7_IN_1
- 498 DecodeStatus decodeBresser7In1Payload(
const uint8_t *msg, uint8_t msgSize);
+ 438 void getSensorsCfg(uint8_t &max_sensors, uint8_t &rx_flags, uint8_t &en_decoders = _dummy_en_decoders);
+
+
+ 441 struct Sensor *pData;
+
+ 452 void initList(std::vector<uint32_t> &list,
const std::vector<uint32_t> list_def,
const char *key);
+
+ 471 int findSlot(uint32_t
id, DecodeStatus * status);
+
+
+ 474 #ifdef BRESSER_5_IN_1
+ 484 DecodeStatus decodeBresser5In1Payload(
const uint8_t *msg, uint8_t msgSize);
+
+ 486 #ifdef BRESSER_6_IN_1
+ 498 DecodeStatus decodeBresser6In1Payload(
const uint8_t *msg, uint8_t msgSize);
- 500 #ifdef BRESSER_LIGHTNING
- 510 DecodeStatus decodeBresserLightningPayload(
const uint8_t *msg, uint8_t msgSize);
+ 500 #ifdef BRESSER_7_IN_1
+ 510 DecodeStatus decodeBresser7In1Payload(
const uint8_t *msg, uint8_t msgSize);
- 512 #ifdef BRESSER_LEAKAGE
- 522 DecodeStatus decodeBresserLeakagePayload(
const uint8_t *msg, uint8_t msgSize);
+ 512 #ifdef BRESSER_LIGHTNING
+ 522 DecodeStatus decodeBresserLightningPayload(
const uint8_t *msg, uint8_t msgSize);
-
-
- 529 uint16_t lfsr_digest16(uint8_t
const message[],
unsigned bytes, uint16_t gen, uint16_t key);
-
- 539 int add_bytes(uint8_t
const message[],
unsigned num_bytes);
-
- 551 uint16_t crc16(uint8_t
const message[],
unsigned nBytes, uint16_t polynomial, uint16_t init);
+ 524 #ifdef BRESSER_LEAKAGE
+ 534 DecodeStatus decodeBresserLeakagePayload(
const uint8_t *msg, uint8_t msgSize);
+
+
+
+ 541 uint16_t lfsr_digest16(uint8_t
const message[],
unsigned bytes, uint16_t gen, uint16_t key);
+
+ 551 int add_bytes(uint8_t
const message[],
unsigned num_bytes);
- 553 #if CORE_DEBUG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG
- 565 void log_message(
const char *descr,
const uint8_t *msg, uint8_t msgSize) {
-
- 567 const char txt[] =
"Byte #: ";
-
- 569 int len1 = strlen(txt);
- 570 int len2 = strlen(descr) + 2;
- 571 int prefix_len = max(len1, len2);
-
- 573 memset(buf,
' ', prefix_len);
- 574 buf[prefix_len] =
'\0';
- 575 offs = (len1 < len2) ? (len2 - len1) : 0;
- 576 strcpy(&buf[offs], txt);
-
-
- 579 for (
size_t i = 0 ; i < msgSize; i++) {
- 580 sprintf(&buf[strlen(buf)],
"%02d ", i);
-
-
-
- 584 memset(buf,
' ', prefix_len);
- 585 buf[prefix_len] =
'\0';
- 586 offs = (len1 > len2) ? (len1 - len2) : 0;
- 587 sprintf(&buf[offs],
"%s: ", descr);
-
- 589 for (
size_t i = 0 ; i < msgSize; i++) {
- 590 sprintf(&buf[strlen(buf)],
"%02X ", msg[i]);
-
-
-
-
-
-
-
-
-Receive, decode and store Bresser Weather Sensor Data Uses CC1101 or SX1276 radio module for receivin...
Definition: WeatherSensor.h:161
-DecodeStatus getMessage(void)
Tries to receive radio message (non-blocking) and to decode it. Timeout occurs after a multitude of e...
Definition: WeatherSensor.cpp:309
-int findId(uint32_t id)
Definition: WeatherSensor.cpp:543
-void radioReset(void)
Reset radio transceiver.
Definition: WeatherSensor.cpp:225
-void setSensorsCfg(uint8_t maxSensors, uint8_t rxFlags)
Definition: WeatherSensor.cpp:680
-uint8_t rxFlags
receive flags (see getData())
Definition: WeatherSensor.h:322
-float rssi
received signal strength indicator in dBm
Definition: WeatherSensor.h:321
-bool getData(uint32_t timeout, uint8_t flags=0, uint8_t type=0, void(*func)()=NULL)
Wait for reception of data or occurrance of timeout. With BRESSER_6_IN_1, data is distributed across ...
Definition: WeatherSensor.cpp:235
-void sleep(void)
Set transceiver into sleep mode.
Definition: WeatherSensor.cpp:230
-int16_t begin(void)
Presence check and initialization of radio module.
Definition: WeatherSensor.cpp:129
-int findType(uint8_t type, uint8_t channel=0xFF)
Definition: WeatherSensor.cpp:556
-uint8_t getSensorsInc(uint8_t *payload)
Definition: WeatherSensor.cpp:633
-bool genMessage(int i, uint32_t id=0xff, uint8_t s_type=1, uint8_t channel=0, uint8_t startup=0)
Generates data otherwise received and decoded from a radio message.
Definition: WeatherSensor.cpp:405
-struct Sensor sensor_t
Shortcut for struct Sensor.
Definition: WeatherSensor.h:319
-std::vector< sensor_t > sensor
sensor data array
Definition: WeatherSensor.h:320
-void setSensorsInc(uint8_t *bytes, uint8_t size)
Definition: WeatherSensor.cpp:610
-uint8_t getSensorsExc(uint8_t *payload)
Definition: WeatherSensor.cpp:668
-void clearSlots(uint8_t type=0xFF)
Clear sensor data.
Definition: WeatherSensor.h:340
-DecodeStatus decodeMessage(const uint8_t *msg, uint8_t msgSize)
Decode message Tries the available decoders until a decoding was successful.
Definition: WeatherSensor.cpp:356
-void getSensorsCfg(uint8_t &maxSensors, uint8_t &rxFlags)
Definition: WeatherSensor.cpp:692
-void setSensorsExc(uint8_t *bytes, uint8_t size)
Definition: WeatherSensor.cpp:645
-Mapping of sensor IDs to names.
Definition: WeatherSensor.h:148
-std::string name
Name of sensor (e.g. for MQTT topic)
Definition: WeatherSensor.h:150
-uint32_t id
ID if sensor (as transmitted in radio message)
Definition: WeatherSensor.h:149
-Definition: WeatherSensor.h:274
-bool co2_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:276
-uint16_t co2_ppm
CO2 concentration in ppm.
Definition: WeatherSensor.h:275
-Definition: WeatherSensor.h:265
-uint16_t pm_1_0
air quality PM1.0 in µg/m³
Definition: WeatherSensor.h:266
-uint16_t pm_1_0_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:269
-bool pm_10_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:271
-bool pm_2_5_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:270
-uint16_t pm_2_5
air quality PM2.5 in µg/m³
Definition: WeatherSensor.h:267
-uint16_t pm_10
air quality PM10 in µg/m³
Definition: WeatherSensor.h:268
-Definition: WeatherSensor.h:279
-bool hcho_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:282
-uint8_t voc_level
volatile organic oompounds; 1 - bad air quality .. 5 - very good air quality
Definition: WeatherSensor.h:281
-bool voc_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:283
-uint16_t hcho_ppb
formaldehyde concentrartion in ppb
Definition: WeatherSensor.h:280
-Definition: WeatherSensor.h:261
-bool alarm
water leakage alarm (only water leakage)
Definition: WeatherSensor.h:262
-Definition: WeatherSensor.h:253
-uint16_t unknown1
unknown part 1
Definition: WeatherSensor.h:256
-uint8_t distance_km
lightning distance in km (only lightning)
Definition: WeatherSensor.h:254
-uint16_t unknown2
unknown part 2
Definition: WeatherSensor.h:257
-uint16_t strike_count
lightning strike counter (only lightning)
Definition: WeatherSensor.h:255
-sensor data and status flags
Definition: WeatherSensor.h:291
-bool battery_ok
battery o.k.
Definition: WeatherSensor.h:297
-float rssi
received signal strength indicator in dBm
Definition: WeatherSensor.h:293
-bool complete
data is split into two separate messages is complete (only 6-in-1 WS)
Definition: WeatherSensor.h:299
-uint8_t s_type
sensor type
Definition: WeatherSensor.h:294
-bool startup
startup after reset / battery change
Definition: WeatherSensor.h:296
-uint32_t sensor_id
sensor ID (5-in-1: 1 byte / 6-in-1: 4 bytes / 7-in-1: 2 bytes)
Definition: WeatherSensor.h:292
-uint8_t chan
channel
Definition: WeatherSensor.h:295
-bool valid
data valid (but not necessarily complete)
Definition: WeatherSensor.h:298
-Definition: WeatherSensor.h:248
-float temp_c
temperature in degC
Definition: WeatherSensor.h:249
-uint8_t moisture
moisture in % (only 6-in-1)
Definition: WeatherSensor.h:250
-Definition: WeatherSensor.h:220
-float light_klx
Light KLux (only 7-in-1)
Definition: WeatherSensor.h:228
-bool light_ok
light o.k. (only 7-in-1)
Definition: WeatherSensor.h:223
-float light_lux
Light lux (only 7-in-1)
Definition: WeatherSensor.h:229
-bool temp_ok
temperature o.k. (only 6-in-1)
Definition: WeatherSensor.h:221
-float temp_c
temperature in degC
Definition: WeatherSensor.h:227
-uint8_t humidity
humidity in %
Definition: WeatherSensor.h:245
-float uv
uv radiation (only 6-in-1)
Definition: WeatherSensor.h:230
-bool humidity_ok
humidity o.k.
Definition: WeatherSensor.h:222
-bool wind_ok
wind speed/direction o.k. (only 6-in-1)
Definition: WeatherSensor.h:225
-bool uv_ok
uv radiation o.k. (only 6-in-1)
Definition: WeatherSensor.h:224
-float rain_mm
rain gauge level in mm
Definition: WeatherSensor.h:231
-bool rain_ok
rain gauge level o.k.
Definition: WeatherSensor.h:226
+ 563 uint16_t crc16(uint8_t
const message[],
unsigned nBytes, uint16_t polynomial, uint16_t init);
+
+ 565 #if CORE_DEBUG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG
+ 577 void log_message(
const char *descr,
const uint8_t *msg, uint8_t msgSize) {
+
+ 579 const char txt[] =
"Byte #: ";
+
+ 581 int len1 = strlen(txt);
+ 582 int len2 = strlen(descr) + 2;
+ 583 int prefix_len = max(len1, len2);
+
+ 585 memset(buf,
' ', prefix_len);
+ 586 buf[prefix_len] =
'\0';
+ 587 offs = (len1 < len2) ? (len2 - len1) : 0;
+ 588 strcpy(&buf[offs], txt);
+
+
+ 591 for (
size_t i = 0 ; i < msgSize; i++) {
+ 592 sprintf(&buf[strlen(buf)],
"%02d ", i);
+
+
+
+ 596 memset(buf,
' ', prefix_len);
+ 597 buf[prefix_len] =
'\0';
+ 598 offs = (len1 > len2) ? (len1 - len2) : 0;
+ 599 sprintf(&buf[offs],
"%s: ", descr);
+
+ 601 for (
size_t i = 0 ; i < msgSize; i++) {
+ 602 sprintf(&buf[strlen(buf)],
"%02X ", msg[i]);
+
+
+
+
+
+
+
+
+Receive, decode and store Bresser Weather Sensor Data Uses CC1101 or SX1276 radio module for receivin...
Definition: WeatherSensor.h:169
+DecodeStatus getMessage(void)
Tries to receive radio message (non-blocking) and to decode it. Timeout occurs after a multitude of e...
Definition: WeatherSensor.cpp:311
+int findId(uint32_t id)
Definition: WeatherSensor.cpp:555
+void radioReset(void)
Reset radio transceiver.
Definition: WeatherSensor.cpp:227
+uint8_t rxFlags
receive flags (see getData())
Definition: WeatherSensor.h:331
+float rssi
received signal strength indicator in dBm
Definition: WeatherSensor.h:330
+bool getData(uint32_t timeout, uint8_t flags=0, uint8_t type=0, void(*func)()=NULL)
Wait for reception of data or occurrance of timeout. With BRESSER_6_IN_1, data is distributed across ...
Definition: WeatherSensor.cpp:237
+void setSensorsCfg(uint8_t max_sensors, uint8_t rx_flags, uint8_t en_decoders=0xFF)
Definition: WeatherSensor.cpp:692
+uint8_t enDecoders
enabled Decoders
Definition: WeatherSensor.h:332
+void sleep(void)
Set transceiver into sleep mode.
Definition: WeatherSensor.cpp:232
+void getSensorsCfg(uint8_t &max_sensors, uint8_t &rx_flags, uint8_t &en_decoders=_dummy_en_decoders)
Definition: WeatherSensor.cpp:708
+int16_t begin(void)
Presence check and initialization of radio module.
Definition: WeatherSensor.cpp:130
+int findType(uint8_t type, uint8_t channel=0xFF)
Definition: WeatherSensor.cpp:568
+uint8_t getSensorsInc(uint8_t *payload)
Definition: WeatherSensor.cpp:645
+bool genMessage(int i, uint32_t id=0xff, uint8_t s_type=1, uint8_t channel=0, uint8_t startup=0)
Generates data otherwise received and decoded from a radio message.
Definition: WeatherSensor.cpp:417
+struct Sensor sensor_t
Shortcut for struct Sensor.
Definition: WeatherSensor.h:328
+std::vector< sensor_t > sensor
sensor data array
Definition: WeatherSensor.h:329
+void setSensorsInc(uint8_t *bytes, uint8_t size)
Definition: WeatherSensor.cpp:622
+uint8_t getSensorsExc(uint8_t *payload)
Definition: WeatherSensor.cpp:680
+void clearSlots(uint8_t type=0xFF)
Clear sensor data.
Definition: WeatherSensor.h:350
+DecodeStatus decodeMessage(const uint8_t *msg, uint8_t msgSize)
Decode message Tries the available decoders until a decoding was successful.
Definition: WeatherSensor.cpp:358
+void setSensorsExc(uint8_t *bytes, uint8_t size)
Definition: WeatherSensor.cpp:657
+Mapping of sensor IDs to names.
Definition: WeatherSensor.h:156
+std::string name
Name of sensor (e.g. for MQTT topic)
Definition: WeatherSensor.h:158
+uint32_t id
ID if sensor (as transmitted in radio message)
Definition: WeatherSensor.h:157
+Definition: WeatherSensor.h:283
+bool co2_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:285
+uint16_t co2_ppm
CO2 concentration in ppm.
Definition: WeatherSensor.h:284
+Definition: WeatherSensor.h:274
+uint16_t pm_1_0
air quality PM1.0 in µg/m³
Definition: WeatherSensor.h:275
+uint16_t pm_1_0_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:278
+bool pm_10_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:280
+bool pm_2_5_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:279
+uint16_t pm_2_5
air quality PM2.5 in µg/m³
Definition: WeatherSensor.h:276
+uint16_t pm_10
air quality PM10 in µg/m³
Definition: WeatherSensor.h:277
+Definition: WeatherSensor.h:288
+bool hcho_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:291
+uint8_t voc_level
volatile organic oompounds; 1 - bad air quality .. 5 - very good air quality
Definition: WeatherSensor.h:290
+bool voc_init
measurement value invalid due to initialization
Definition: WeatherSensor.h:292
+uint16_t hcho_ppb
formaldehyde concentrartion in ppb
Definition: WeatherSensor.h:289
+Definition: WeatherSensor.h:270
+bool alarm
water leakage alarm (only water leakage)
Definition: WeatherSensor.h:271
+Definition: WeatherSensor.h:262
+uint16_t unknown1
unknown part 1
Definition: WeatherSensor.h:265
+uint8_t distance_km
lightning distance in km (only lightning)
Definition: WeatherSensor.h:263
+uint16_t unknown2
unknown part 2
Definition: WeatherSensor.h:266
+uint16_t strike_count
lightning strike counter (only lightning)
Definition: WeatherSensor.h:264
+sensor data and status flags
Definition: WeatherSensor.h:300
+bool battery_ok
battery o.k.
Definition: WeatherSensor.h:306
+float rssi
received signal strength indicator in dBm
Definition: WeatherSensor.h:302
+bool complete
data is split into two separate messages is complete (only 6-in-1 WS)
Definition: WeatherSensor.h:308
+uint8_t s_type
sensor type
Definition: WeatherSensor.h:303
+bool startup
startup after reset / battery change
Definition: WeatherSensor.h:305
+uint32_t sensor_id
sensor ID (5-in-1: 1 byte / 6-in-1: 4 bytes / 7-in-1: 2 bytes)
Definition: WeatherSensor.h:301
+uint8_t chan
channel
Definition: WeatherSensor.h:304
+bool valid
data valid (but not necessarily complete)
Definition: WeatherSensor.h:307
+Definition: WeatherSensor.h:257
+float temp_c
temperature in degC
Definition: WeatherSensor.h:258
+uint8_t moisture
moisture in % (only 6-in-1)
Definition: WeatherSensor.h:259
+Definition: WeatherSensor.h:229
+float light_klx
Light KLux (only 7-in-1)
Definition: WeatherSensor.h:237
+bool light_ok
light o.k. (only 7-in-1)
Definition: WeatherSensor.h:232
+float light_lux
Light lux (only 7-in-1)
Definition: WeatherSensor.h:238
+bool temp_ok
temperature o.k. (only 6-in-1)
Definition: WeatherSensor.h:230
+float temp_c
temperature in degC
Definition: WeatherSensor.h:236
+uint8_t humidity
humidity in %
Definition: WeatherSensor.h:254
+float uv
uv radiation (only 6-in-1)
Definition: WeatherSensor.h:239
+bool humidity_ok
humidity o.k.
Definition: WeatherSensor.h:231
+bool wind_ok
wind speed/direction o.k. (only 6-in-1)
Definition: WeatherSensor.h:234
+bool uv_ok
uv radiation o.k. (only 6-in-1)
Definition: WeatherSensor.h:233
+float rain_mm
rain gauge level in mm
Definition: WeatherSensor.h:240
+bool rain_ok
rain gauge level o.k.
Definition: WeatherSensor.h:235
diff --git a/class_weather_sensor-members.html b/class_weather_sensor-members.html
index 5f32437a..c3018779 100644
--- a/class_weather_sensor-members.html
+++ b/class_weather_sensor-members.html
@@ -92,23 +92,24 @@
begin(void) | WeatherSensor | |
clearSlots(uint8_t type=0xFF) | WeatherSensor | inline |
decodeMessage(const uint8_t *msg, uint8_t msgSize) | WeatherSensor | |
- findId(uint32_t id) | WeatherSensor | |
- findType(uint8_t type, uint8_t channel=0xFF) | WeatherSensor | |
- genMessage(int i, uint32_t id=0xff, uint8_t s_type=1, uint8_t channel=0, uint8_t startup=0) | WeatherSensor | |
- getData(uint32_t timeout, uint8_t flags=0, uint8_t type=0, void(*func)()=NULL) | WeatherSensor | |
- getMessage(void) | WeatherSensor | |
- getSensorsCfg(uint8_t &maxSensors, uint8_t &rxFlags) | WeatherSensor | |
- getSensorsExc(uint8_t *payload) | WeatherSensor | |
- getSensorsInc(uint8_t *payload) | WeatherSensor | |
- radioReset(void) | WeatherSensor | |
- rssi | WeatherSensor | |
- rxFlags | WeatherSensor | |
- sensor | WeatherSensor | |
- sensor_t typedef | WeatherSensor | |
- setSensorsCfg(uint8_t maxSensors, uint8_t rxFlags) | WeatherSensor | |
- setSensorsExc(uint8_t *bytes, uint8_t size) | WeatherSensor | |
- setSensorsInc(uint8_t *bytes, uint8_t size) | WeatherSensor | |
- sleep(void) | WeatherSensor | |
+ enDecoders | WeatherSensor | |
+ findId(uint32_t id) | WeatherSensor | |
+ findType(uint8_t type, uint8_t channel=0xFF) | WeatherSensor | |
+ genMessage(int i, uint32_t id=0xff, uint8_t s_type=1, uint8_t channel=0, uint8_t startup=0) | WeatherSensor | |
+ getData(uint32_t timeout, uint8_t flags=0, uint8_t type=0, void(*func)()=NULL) | WeatherSensor | |
+ getMessage(void) | WeatherSensor | |
+ getSensorsCfg(uint8_t &max_sensors, uint8_t &rx_flags, uint8_t &en_decoders=_dummy_en_decoders) | WeatherSensor | |
+ getSensorsExc(uint8_t *payload) | WeatherSensor | |
+ getSensorsInc(uint8_t *payload) | WeatherSensor | |
+ radioReset(void) | WeatherSensor | |
+ rssi | WeatherSensor | |
+ rxFlags | WeatherSensor | |
+ sensor | WeatherSensor | |
+ sensor_t typedef | WeatherSensor | |
+ setSensorsCfg(uint8_t max_sensors, uint8_t rx_flags, uint8_t en_decoders=0xFF) | WeatherSensor | |
+ setSensorsExc(uint8_t *bytes, uint8_t size) | WeatherSensor | |
+ setSensorsInc(uint8_t *bytes, uint8_t size) | WeatherSensor | |
+ sleep(void) | WeatherSensor | |
diff --git a/class_weather_sensor.html b/class_weather_sensor.html
index 29834317..95cd39ff 100644
--- a/class_weather_sensor.html
+++ b/class_weather_sensor.html
@@ -161,14 +161,14 @@
|
void | setSensorsExc (uint8_t *bytes, uint8_t size) |
|
-void | setSensorsCfg (uint8_t maxSensors, uint8_t rxFlags) |
- |
+void | setSensorsCfg (uint8_t max_sensors, uint8_t rx_flags, uint8_t en_decoders=0xFF) |
+ |
uint8_t | getSensorsInc (uint8_t *payload) |
|
uint8_t | getSensorsExc (uint8_t *payload) |
|
-void | getSensorsCfg (uint8_t &maxSensors, uint8_t &rxFlags) |
- |
+void | getSensorsCfg (uint8_t &max_sensors, uint8_t &rx_flags, uint8_t &en_decoders=_dummy_en_decoders) |
+ |
Receive, decode and store Bresser Weather Sensor Data Uses CC1101 or SX1276 radio module for receiving FSK modulated signal at 868 MHz.
@@ -460,8 +465,8 @@