mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-07 19:05:53 +00:00
Publish internal temperature to Home Assistant (#1243)
This commit is contained in:
@ -96,6 +96,9 @@ void hass_populate_unique_id(ENTITY_TYPE type, int index, char* uniq_id) {
|
||||
case PRESSURE_SENSOR:
|
||||
sprintf(uniq_id, "%s_%s_%d", longDeviceName, "pressure", index);
|
||||
break;
|
||||
case HASS_TEMP:
|
||||
sprintf(uniq_id, "%s_temp", longDeviceName);
|
||||
break;
|
||||
case HASS_RSSI:
|
||||
sprintf(uniq_id, "%s_rssi", longDeviceName);
|
||||
break;
|
||||
@ -281,6 +284,9 @@ HassDeviceInfo* hass_init_device_info(ENTITY_TYPE type, int index, const char* p
|
||||
case ILLUMINANCE_SENSOR:
|
||||
sprintf(g_hassBuffer, "Illuminance");
|
||||
break;
|
||||
case HASS_TEMP:
|
||||
sprintf(g_hassBuffer, "Temperature");
|
||||
break;
|
||||
case HASS_RSSI:
|
||||
sprintf(g_hassBuffer, "RSSI");
|
||||
break;
|
||||
@ -649,6 +655,13 @@ HassDeviceInfo* hass_init_sensor_device_info(ENTITY_TYPE type, int channel, int
|
||||
cJSON_AddStringToObject(info->root, "stat_t", g_hassBuffer);
|
||||
cJSON_AddStringToObject(info->root, "val_tpl", g_template_lowMidHigh);
|
||||
|
||||
break;
|
||||
case HASS_TEMP:
|
||||
cJSON_AddStringToObject(info->root, "dev_cla", "temperature");
|
||||
cJSON_AddStringToObject(info->root, "stat_t", "~/temp");
|
||||
cJSON_AddStringToObject(info->root, "unit_of_meas", "°C");
|
||||
cJSON_AddStringToObject(info->root, "entity_category", "diagnostic");
|
||||
//cJSON_AddStringToObject(info->root, "icon_template", "mdi:access-point");
|
||||
break;
|
||||
case HASS_RSSI:
|
||||
cJSON_AddStringToObject(info->root, "dev_cla", "signal_strength");
|
||||
|
||||
@ -65,6 +65,8 @@ typedef enum {
|
||||
READONLYLOWMIDHIGH_SENSOR,
|
||||
// lx unit
|
||||
ILLUMINANCE_SENSOR,
|
||||
/// @brief °C unit
|
||||
HASS_TEMP,
|
||||
/// @brief dBm unit
|
||||
HASS_RSSI,
|
||||
/// @brief Time firmware is alive in secs
|
||||
|
||||
@ -2010,6 +2010,8 @@ void doHomeAssistantDiscovery(const char* topic, http_request_t* request) {
|
||||
}
|
||||
if (1) {
|
||||
//use -1 for channel as these don't correspond to channels
|
||||
dev_info = hass_init_sensor_device_info(HASS_TEMP, -1, -1, -1, 1);
|
||||
MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN);
|
||||
dev_info = hass_init_sensor_device_info(HASS_RSSI, -1, -1, -1, 1);
|
||||
MQTT_QueuePublish(topic, dev_info->channel, hass_build_discovery_json(dev_info), OBK_PUBLISH_FLAG_RETAIN);
|
||||
hass_free_device_info(dev_info);
|
||||
|
||||
Reference in New Issue
Block a user