diff --git a/main/zh_espnow_sensor.c b/main/zh_espnow_sensor.c index 4b84001..de7ba79 100644 --- a/main/zh_espnow_sensor.c +++ b/main/zh_espnow_sensor.c @@ -359,6 +359,7 @@ uint8_t zh_send_sensor_config_message(const sensor_config_t *sensor_config) unit_of_measurement = "V"; strcpy(data.payload_data.config_message.sensor_config_message.unit_of_measurement, unit_of_measurement); zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); + ++messages_quantity; switch (sensor_config->hardware_config.sensor_type) { case HAST_DS18B20: @@ -435,17 +436,20 @@ void zh_send_sensor_status_message_task(void *pvParameter) break; } } + esp_err_t err = ESP_OK; switch (sensor_config->hardware_config.sensor_type) { case HAST_DS18B20: - if (zh_ds18b20_read(NULL, &temperature) == ESP_OK) + err = zh_ds18b20_read(NULL, &temperature); + if (err == ESP_OK) { data.payload_data.status_message.sensor_status_message.temperature = temperature; data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development. } break; case HAST_DHT: - if (zh_dht_read(&humidity, &temperature) == ESP_OK) + err = zh_dht_read(&humidity, &temperature); + if (err == ESP_OK) { data.payload_data.status_message.sensor_status_message.humidity = humidity; data.payload_data.status_message.sensor_status_message.temperature = temperature; @@ -453,7 +457,8 @@ void zh_send_sensor_status_message_task(void *pvParameter) } break; case HAST_BH1750: - if (zh_bh1750_read(&illuminance) == ESP_OK) + err = zh_bh1750_read(&illuminance); + if (err == ESP_OK) { data.payload_data.status_message.sensor_status_message.illuminance = illuminance; data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development. @@ -465,10 +470,25 @@ void zh_send_sensor_status_message_task(void *pvParameter) break; case HAST_BME680: // For future development. break; + case HAST_AHT: // For future development. + break; + case HAST_SHT: // For future development. + break; + case HAST_HTU21D: // For future development. + break; + case HAST_HDC1080: // For future development. + break; default: break; } - zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); + if (err == ESP_OK) + { + zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); + } + else + { + zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); // For future development. Will be changed for sensor read error message. + } if (gpio_get_level(sensor_config->hardware_config.power_pin) == 1) { gpio_set_level(sensor_config->hardware_config.power_pin, 0);