ReadOnly HA discovery

This commit is contained in:
openshwprojects
2023-05-02 12:22:47 +02:00
parent 4ff42e76eb
commit f9e17be5fb
3 changed files with 15 additions and 0 deletions

View File

@ -489,6 +489,10 @@ 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);
break;
case CUSTOM_SENSOR:
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
break;
default:
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);

View File

@ -55,6 +55,8 @@ typedef enum {
POWERFACTOR_SENSOR,
/// @brief
FREQUENCY_SENSOR,
/// @brief
CUSTOM_SENSOR,
} ENTITY_TYPE;

View File

@ -1763,6 +1763,15 @@ void doHomeAssistantDiscovery(const char* topic, http_request_t* request) {
discoveryQueued = true;
}
break;
case ChType_ReadOnly:
{
dev_info = hass_init_sensor_device_info(CUSTOM_SENSOR, i, -1, -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_Temperature:
{
dev_info = hass_init_sensor_device_info(TEMPERATURE_SENSOR, i, -1, -1);