* [DISC] Nexa additional discovery properties (#1953) * State as binary_sensor ON/OFF * Alphabetical sorting
This commit is contained in:
1 parent
07d9ed9df5
commit
33511b5b25
2 files changed
+57
-44
No files matched your search
@@ -152,6 +152,16 @@ void launchRTL_433Discovery(bool overrideDiscovery) {
|
|||||||
(char*)idWoKey.c_str(), "", pdevice->modelName, (char*)idWoKey.c_str(), false, // device name, device manufacturer, device model, device ID, retain
|
(char*)idWoKey.c_str(), "", pdevice->modelName, (char*)idWoKey.c_str(), false, // device name, device manufacturer, device model, device ID, retain
|
||||||
"" //State Class
|
"" //State Class
|
||||||
);
|
);
|
||||||
|
} else if (strcmp(parameters[i][0], "state") == 0 && (strcmp(pdevice->modelName, "Nexa-Security") == 0 || strcmp(pdevice->modelName, "Brennenstuhl-RCS2044") == 0 || strcmp(pdevice->modelName, "Proove-Security") == 0 || strcmp(pdevice->modelName, "Waveman-Switch") == 0)) {
|
||||||
|
createDiscovery("binary_sensor", //set Type
|
||||||
|
(char*)topic.c_str(), parameters[i][1], pdevice->uniqueId, //set state_topic,name,uniqueId
|
||||||
|
"", parameters[i][3], (char*)value_template.c_str(), //set availability_topic,device_class,value_template,
|
||||||
|
"ON", "OFF", parameters[i][2], //set,payload_on,payload_off,unit_of_meas,
|
||||||
|
0, //set off_delay
|
||||||
|
"", "", false, "", //set,payload_available,payload_not available ,is a gateway entity, command topic
|
||||||
|
(char*)idWoKey.c_str(), "", pdevice->modelName, (char*)idWoKey.c_str(), false, // device name, device manufacturer, device model, device ID, retain
|
||||||
|
"" //State Class
|
||||||
|
);
|
||||||
} else if (strcmp(parameters[i][0], "strike_count") == 0) {
|
} else if (strcmp(parameters[i][0], "strike_count") == 0) {
|
||||||
createDiscovery("sensor", //set Type
|
createDiscovery("sensor", //set Type
|
||||||
(char*)topic.c_str(), parameters[i][1], pdevice->uniqueId, //set state_topic,name,uniqueId
|
(char*)topic.c_str(), parameters[i][1], pdevice->uniqueId, //set state_topic,name,uniqueId
|
||||||
|
|||||||
+47
-44
@@ -80,56 +80,59 @@ struct RTL_433device {
|
|||||||
bool isDisc;
|
bool isDisc;
|
||||||
};
|
};
|
||||||
|
|
||||||
const char parameters[50][4][24] = {
|
const char parameters[53][4][24] = {
|
||||||
// RTL_433 key, name, unit, device_class
|
// RTL_433 key, name, unit, device_class
|
||||||
{"temperature_C", "temperature", "°C", "temperature"},
|
{"alarm", "alarm", "", ""},
|
||||||
{"temperature_1_C", "temperature", "°C", "temperature"},
|
|
||||||
{"temperature_2_C", "temperature", "°C", "temperature"},
|
|
||||||
{"temperature_F", "temperature", "°F", "temperature"},
|
|
||||||
{"time", "timestamp", "", "timestamp"},
|
|
||||||
{"battery_ok", "battery", "%", "battery"},
|
|
||||||
{"battery_mV", "battery", "mV", "voltage"},
|
{"battery_mV", "battery", "mV", "voltage"},
|
||||||
{"humidity", "humidity", "%", "humidity"},
|
{"battery_ok", "battery", "%", "battery"},
|
||||||
{"moisture", "moisture", "%", "humidity"},
|
{"co2_ppm", "Carbon Dioxide", "ppm", "carbon_dioxide"},
|
||||||
{"pressure_hPa", "pressure", "hPa", "pressure"},
|
|
||||||
{"pressure_kPa", "pressure", "kPa", "pressure"},
|
|
||||||
{"wind_speed_km_h", "wind speed", "km/h", "wind_speed"},
|
|
||||||
{"wind_avg_km_h", "wind average", "km/h", "wind_speed"},
|
|
||||||
{"wind_avg_mi_h", "wind average", "mi/h", "wind_speed"},
|
|
||||||
{"wind_avg_m_s", "wind average", "m/s", "wind_speed"},
|
|
||||||
{"wind_speed_m_s", "wind speed", "m/s", "wind_speed"},
|
|
||||||
{"gust_speed_km_h", "gust speed", "km/h", "wind_speed"},
|
|
||||||
{"wind_max_km_h", "wind max", "km/h", "wind_speed"},
|
|
||||||
{"wind_max_m_s", "wind max", "m/s", "wind_speed"},
|
|
||||||
{"gust_speed_m_s", "gust speed", "m/s", "wind_speed"},
|
|
||||||
{"wind_dir_deg", "wind direction", "°", ""},
|
|
||||||
{"rain_mm", "rain", "mm", "precipitation"},
|
|
||||||
{"rain_rate_mm_h", "rain", "mm/h", "precipitation_intensity"},
|
|
||||||
{"rain_in", "rain", "in", "precipitation"},
|
|
||||||
{"rain_rate_in_h", "rain", "in/h", "precipitation_intensity"},
|
|
||||||
{"rssi", "rssi", "dB", "signal_strength"},
|
|
||||||
{"snr", "snr", "dB", ""},
|
|
||||||
{"noise", "noise", "dB", "sound_pressure"},
|
|
||||||
{"depth_cm", "depth", "cm", "distance"},
|
{"depth_cm", "depth", "cm", "distance"},
|
||||||
{"power_W", "power", "W", "power"},
|
{"estimated_pm10_0_ug_m3", "estimated PM10", "μg/m³", "pm10"},
|
||||||
|
{"event", "Status", "", "moisture"},
|
||||||
|
{"group", "Group", "", ""},
|
||||||
|
{"gust_speed_km_h", "gust speed", "km/h", "wind_speed"},
|
||||||
|
{"gust_speed_m_s", "gust speed", "m/s", "wind_speed"},
|
||||||
|
{"humidity", "humidity", "%", "humidity"},
|
||||||
{"light_lux", "light", "lx", "illuminance"},
|
{"light_lux", "light", "lx", "illuminance"},
|
||||||
{"lux", "lux", "lx", "illuminance"},
|
{"lux", "lux", "lx", "illuminance"},
|
||||||
{"uvi", "UVI", "UV index", ""},
|
{"moisture", "moisture", "%", "humidity"},
|
||||||
{"uv", "UV", "UV level", ""},
|
|
||||||
{"storm_dist", "storm distance", "mi", "distance"},
|
|
||||||
{"storm_dist_km", "storm distance", "km", "distance"},
|
|
||||||
{"strike_count", "strike count", "", ""}, // from rtl_433_mqtt_hass.py
|
|
||||||
{"strike_distance", "strike distance", "mi", "distance"},
|
|
||||||
{"strike_distance_km", "strike distance", "km", "distance"},
|
|
||||||
{"co2_ppm", "Carbon Dioxide", "ppm", "carbon_dioxide"},
|
|
||||||
{"pm2_5_ug_m3", "PM2.5", "μg/m³", "pm25"},
|
|
||||||
{"pm10_ug_m3", "PM10", "μg/m³", "pm10"},
|
|
||||||
{"estimated_pm10_0_ug_m3", "estimated PM10", "μg/m³", "pm10"},
|
|
||||||
{"pm1_ug_m3", "PM1", "μg/m³", "pm1"},
|
|
||||||
{"tamper", "tamper", "", ""},
|
|
||||||
{"alarm", "alarm", "", ""},
|
|
||||||
{"motion", "motion", "", "motion"},
|
{"motion", "motion", "", "motion"},
|
||||||
{"event", "Status", "", "moisture"}};
|
{"noise", "noise", "dB", "sound_pressure"},
|
||||||
|
{"pm1_ug_m3", "PM1", "μg/m³", "pm1"},
|
||||||
|
{"pm10_ug_m3", "PM10", "μg/m³", "pm10"},
|
||||||
|
{"pm2_5_ug_m3", "PM2.5", "μg/m³", "pm25"},
|
||||||
|
{"power_W", "power", "W", "power"},
|
||||||
|
{"pressure_hPa", "pressure", "hPa", "pressure"},
|
||||||
|
{"pressure_kPa", "pressure", "kPa", "pressure"},
|
||||||
|
{"rain_in", "rain", "in", "precipitation"},
|
||||||
|
{"rain_mm", "rain", "mm", "precipitation"},
|
||||||
|
{"rain_rate_in_h", "rain", "in/h", "precipitation_intensity"},
|
||||||
|
{"rain_rate_mm_h", "rain", "mm/h", "precipitation_intensity"},
|
||||||
|
{"rssi", "rssi", "dB", "signal_strength"},
|
||||||
|
{"snr", "snr", "dB", ""},
|
||||||
|
{"state", "State", "", ""},
|
||||||
|
{"storm_dist_km", "storm distance", "km", "distance"},
|
||||||
|
{"storm_dist", "storm distance", "mi", "distance"},
|
||||||
|
{"strike_count", "strike count", "", ""}, // from rtl_433_mqtt_hass.py
|
||||||
|
{"strike_distance_km", "strike distance", "km", "distance"},
|
||||||
|
{"strike_distance", "strike distance", "mi", "distance"},
|
||||||
|
{"tamper", "tamper", "", ""},
|
||||||
|
{"temperature_1_C", "temperature", "°C", "temperature"},
|
||||||
|
{"temperature_2_C", "temperature", "°C", "temperature"},
|
||||||
|
{"temperature_C", "temperature", "°C", "temperature"},
|
||||||
|
{"temperature_F", "temperature", "°F", "temperature"},
|
||||||
|
{"time", "timestamp", "", "timestamp"},
|
||||||
|
{"unit", "Unit", "", ""},
|
||||||
|
{"uv", "UV", "UV level", ""},
|
||||||
|
{"uvi", "UVI", "UV index", ""},
|
||||||
|
{"wind_avg_km_h", "wind average", "km/h", "wind_speed"},
|
||||||
|
{"wind_avg_m_s", "wind average", "m/s", "wind_speed"},
|
||||||
|
{"wind_avg_mi_h", "wind average", "mi/h", "wind_speed"},
|
||||||
|
{"wind_dir_deg", "wind direction", "°", ""},
|
||||||
|
{"wind_max_km_h", "wind max", "km/h", "wind_speed"},
|
||||||
|
{"wind_max_m_s", "wind max", "m/s", "wind_speed"},
|
||||||
|
{"wind_speed_km_h", "wind speed", "km/h", "wind_speed"},
|
||||||
|
{"wind_speed_m_s", "wind speed", "m/s", "wind_speed"}};
|
||||||
# endif
|
# endif
|
||||||
# ifdef RTL_433_DISCOVERY_LOGGING
|
# ifdef RTL_433_DISCOVERY_LOGGING
|
||||||
# define DISCOVERY_TRACE_LOG(...) Log.trace(__VA_ARGS__)
|
# define DISCOVERY_TRACE_LOG(...) Log.trace(__VA_ARGS__)
|
||||||
|
|||||||
Reference in new issue
Block a user