Add water quality PH Type (#1283)

* Update new_pins.h

* Update new_pins.h

* Update new_pins.c

* Update hass.c

* Update http_fns.c

* Update hass.h

* Update new_pins.c

* Update new_pins.h

* Update new_pins.c

* Update http_fns.c

* Orp Channel Type

* Add Orp Channel Title

* Bugfix Case Type

* TDS Water Quality Type

* tds change channelname

* Add Tds Pin
This commit is contained in:
Bjoern3003
2024-07-04 18:30:31 +02:00
committed by GitHub
parent 7696882fa2
commit 9423561ca0
5 changed files with 74 additions and 2 deletions

View File

@ -666,7 +666,22 @@ HassDeviceInfo* hass_init_sensor_device_info(ENTITY_TYPE type, int channel, int
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
cJSON_AddStringToObject(info->root, "val_tpl", g_template_lowMidHigh);
break;
case WATER_QUALITY_PH:
cJSON_AddStringToObject(info->root, "dev_cla", "ph");
cJSON_AddStringToObject(info->root, "unit_of_meas", "Ph");
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
break;
case WATER_QUALITY_ORP:
cJSON_AddStringToObject(info->root, "unit_of_meas", "mV");
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
break;
case WATER_QUALITY_TDS:
cJSON_AddStringToObject(info->root, "unit_of_meas", "ppm");
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
break;
case HASS_TEMP:
cJSON_AddStringToObject(info->root, "dev_cla", "temperature");

View File

@ -83,6 +83,12 @@ typedef enum {
PRESSURE_SENSOR,
/// @Brief Timestamp Sensor
TIMESTAMP_SENSOR,
// Ph
WATER_QUALITY_PH,
// ORP
WATER_QUALITY_ORP,
// TDS
WATER_QUALITY_TDS,
} ENTITY_TYPE;

View File

@ -1971,6 +1971,21 @@ void doHomeAssistantDiscovery(const char* topic, http_request_t* request) {
dev_info = hass_init_sensor_device_info(ENERGY_SENSOR, i, 3, 3, 1);
}
break;
case ChType_Ph:
{
dev_info = hass_init_sensor_device_info(WATER_QUALITY_PH, i, 2, 2, 1);
}
break;
case ChType_Orp:
{
dev_info = hass_init_sensor_device_info(WATER_QUALITY_ORP, i, -1, 2, 1);
}
break;
case ChType_Tds:
{
dev_info = hass_init_sensor_device_info(WATER_QUALITY_TDS, i, -1, 2, 1);
}
break;
}
if (dev_info) {
MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN);