This commit is contained in:
2024-07-03 13:08:19 +03:00
parent 9d871c6be8
commit cebee7859e

View File

@ -359,6 +359,7 @@ uint8_t zh_send_sensor_config_message(const sensor_config_t *sensor_config)
unit_of_measurement = "V"; unit_of_measurement = "V";
strcpy(data.payload_data.config_message.sensor_config_message.unit_of_measurement, unit_of_measurement); 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)); zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t));
++messages_quantity;
switch (sensor_config->hardware_config.sensor_type) switch (sensor_config->hardware_config.sensor_type)
{ {
case HAST_DS18B20: case HAST_DS18B20:
@ -435,17 +436,20 @@ void zh_send_sensor_status_message_task(void *pvParameter)
break; break;
} }
} }
esp_err_t err = ESP_OK;
switch (sensor_config->hardware_config.sensor_type) switch (sensor_config->hardware_config.sensor_type)
{ {
case HAST_DS18B20: 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.temperature = temperature;
data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development. data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development.
} }
break; break;
case HAST_DHT: 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.humidity = humidity;
data.payload_data.status_message.sensor_status_message.temperature = temperature; data.payload_data.status_message.sensor_status_message.temperature = temperature;
@ -453,7 +457,8 @@ void zh_send_sensor_status_message_task(void *pvParameter)
} }
break; break;
case HAST_BH1750: 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.illuminance = illuminance;
data.payload_data.status_message.sensor_status_message.voltage = 3.3; // For future development. 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; break;
case HAST_BME680: // For future development. case HAST_BME680: // For future development.
break; 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: default:
break; break;
} }
if (err == ESP_OK)
{
zh_send_message(sensor_config->gateway_mac, (uint8_t *)&data, sizeof(zh_espnow_data_t)); 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) if (gpio_get_level(sensor_config->hardware_config.power_pin) == 1)
{ {
gpio_set_level(sensor_config->hardware_config.power_pin, 0); gpio_set_level(sensor_config->hardware_config.power_pin, 0);