illuminance channel type for Homa Assistant Discovery

This commit is contained in:
Tester23
2023-06-19 00:11:04 +02:00
parent 1dec740371
commit 1e8bb1f688
5 changed files with 38 additions and 1 deletions

View File

@@ -67,6 +67,9 @@ void hass_populate_unique_id(ENTITY_TYPE type, int index, char* uniq_id) {
case CO2_SENSOR:
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "co2", index);
break;
case ILLUMINANCE_SENSOR:
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "illuminance", index);
break;
case SMOKE_SENSOR:
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "smoke", index);
break;
@@ -235,6 +238,9 @@ HassDeviceInfo* hass_init_device_info(ENTITY_TYPE type, int index, char* payload
case VOLTAGE_SENSOR:
sprintf(g_hassBuffer, "%s Voltage", CFG_GetShortDeviceName());
break;
case ILLUMINANCE_SENSOR:
sprintf(g_hassBuffer, "%s Illuminance", CFG_GetShortDeviceName());
break;
default:
sprintf(g_hassBuffer, "%s %s", CFG_GetShortDeviceName(), CHANNEL_GetLabel(index));
break;
@@ -499,6 +505,12 @@ 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 ILLUMINANCE_SENSOR:
cJSON_AddStringToObject(info->root, "dev_cla", "illuminance");
cJSON_AddStringToObject(info->root, "unit_of_meas", "lx");
sprintf(g_hassBuffer, "~/%d/get", channel);
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
break;
case BATTERY_SENSOR:
cJSON_AddStringToObject(info->root, "dev_cla", "battery");
cJSON_AddStringToObject(info->root, "unit_of_meas", "%");