mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-10 17:45:52 +00:00
add pressure channel
This commit is contained in:
@ -86,6 +86,9 @@ void hass_populate_unique_id(ENTITY_TYPE type, int index, char* uniq_id) {
|
||||
case CURRENT_SENSOR:
|
||||
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "current", index);
|
||||
break;
|
||||
case PRESSURE_SENSOR:
|
||||
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "pressure", index);
|
||||
break;
|
||||
case HASS_RSSI:
|
||||
sprintf(uniq_id, "%s_rssi", longDeviceName);
|
||||
break;
|
||||
@ -235,6 +238,10 @@ HassDeviceInfo* hass_init_device_info(ENTITY_TYPE type, int index, const char* p
|
||||
isSensor = true;
|
||||
sprintf(g_hassBuffer, "Smoke");
|
||||
break;
|
||||
case PRESSURE_SENSOR:
|
||||
isSensor = true;
|
||||
sprintf(g_hassBuffer, "Pressure");
|
||||
break;
|
||||
case TVOC_SENSOR:
|
||||
isSensor = true;
|
||||
sprintf(g_hassBuffer, "Tvoc");
|
||||
@ -540,6 +547,12 @@ HassDeviceInfo* hass_init_sensor_device_info(ENTITY_TYPE type, int channel, int
|
||||
cJSON_AddStringToObject(info->root, "unit_of_meas", "ppm");
|
||||
sprintf(g_hassBuffer, "~/%d/get", channel);
|
||||
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
|
||||
break;
|
||||
case PRESSURE_SENSOR:
|
||||
cJSON_AddStringToObject(info->root, "dev_cla", "pressure");
|
||||
cJSON_AddStringToObject(info->root, "unit_of_meas", "hPa");
|
||||
sprintf(g_hassBuffer, "~/%d/get", channel);
|
||||
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
|
||||
break;
|
||||
case TVOC_SENSOR:
|
||||
cJSON_AddStringToObject(info->root, "dev_cla", "volatile_organic_compounds");
|
||||
|
||||
@ -65,8 +65,9 @@ typedef enum {
|
||||
ILLUMINANCE_SENSOR,
|
||||
// dBm unit
|
||||
HASS_RSSI,
|
||||
|
||||
ENERGY_SENSOR,
|
||||
// hPa
|
||||
PRESSURE_SENSOR,
|
||||
|
||||
} ENTITY_TYPE;
|
||||
|
||||
|
||||
@ -2101,6 +2101,15 @@ void doHomeAssistantDiscovery(const char* topic, http_request_t* request) {
|
||||
discoveryQueued = true;
|
||||
}
|
||||
break;
|
||||
case ChType_Pressure_div100:
|
||||
{
|
||||
dev_info = hass_init_sensor_device_info(PRESSURE_SENSOR, i, 3, 2, 1);
|
||||
MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN);
|
||||
hass_free_device_info(dev_info);
|
||||
|
||||
discoveryQueued = true;
|
||||
}
|
||||
break;
|
||||
case ChType_PowerFactor_div1000:
|
||||
{
|
||||
dev_info = hass_init_sensor_device_info(POWERFACTOR_SENSOR, i, 4, 3, 1);
|
||||
|
||||
Reference in New Issue
Block a user