Skip to content

Commit

Permalink
Fix mqtt condig payload for low battery warning for miflora
Browse files Browse the repository at this point in the history
  • Loading branch information
lordthorzonus committed Jan 13, 2024
1 parent c9a6404 commit 1d3ffd4
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ exports[`HomeAssistant MQTT Message producer should generate corresponding disco
"topic": "homeassistant/sensor/super_plant_soil_conductivity/config",
},
{
"payload": "{"name":"Battery Low","device_class":"battery","object_id":"super_plant_battery_low","unique_id":"super_plant_battery_low","availability_topic":"a_base_topic/miflora/aa:bb/availability","availability_template":"{{ value_json.state }}","expire_after":30,"suggested_display_precision":2,"icon":"mdi:battery-alert","device":{"manufacturer":"Xiaomi Inc.","model":"MiFlora Plant Sensor HHCCJCV01","name":"Miflora Super Plant","connections":[["mac","aa:bb"]]},"value_template":"{{ 'on' if value_json.lowBatteryWarning else 'off' }}","state_topic":"a_base_topic/miflora/aa:bb/state","payload_available":"on","payload_not_available":"off"}",
"payload": "{"name":"Battery Low","device_class":"battery","entity_cateogry":"diagnostic","object_id":"super_plant_battery_low","unique_id":"super_plant_battery_low","availability_topic":"a_base_topic/miflora/aa:bb/availability","availability_template":"{{ value_json.state }}","expire_after":30,"suggested_display_precision":2,"icon":"mdi:battery-alert","device":{"manufacturer":"Xiaomi Inc.","model":"MiFlora Plant Sensor HHCCJCV01","name":"Miflora Super Plant","connections":[["mac","aa:bb"]]},"value_template":"{{ value_json.lowBatteryWarning | default('None') }}","state_topic":"a_base_topic/miflora/aa:bb/state","payload_on":true,"payload_off":false}",
"retain": true,
"topic": "homeassistant/binary_sensor/super_plant_battery_low/config",
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import {
HomeAssistantDeviceClass,
HomeAssistantEntityCategory,
HomeAssistantMQTTComponent,
HomeAssistantSensorConfiguration,
HomeAssistantSensorConfigurationForDevice,
Expand Down Expand Up @@ -49,10 +50,12 @@ export const miFloraSensorConfiguration: HomeAssistantSensorConfigurationForDevi
lowBatteryWarning: {
component: HomeAssistantMQTTComponent.BinarySensor,
deviceClass: HomeAssistantDeviceClass.Battery,
entityCategory: HomeAssistantEntityCategory.Diagnostic,
icon: "mdi:battery-alert",
name: "Battery Low",
uniqueId: "battery_low",
valueTemplate: "{{ 'on' if value_json.lowBatteryWarning else 'off' }}",
device: miFloraDeviceConfiguration,
payloadOn: true,
payloadOff: false,
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ interface HADiscoveryPayload {
unit_of_measurement?: string;
object_id: string;
unique_id: string;
entity_cateogry?: string;
availability_topic: string;
availability_template: string;
suggested_display_precision?: number;
Expand All @@ -57,6 +58,8 @@ interface HADiscoveryPayload {
state_class?: string;
payload_available?: string;
payload_not_available?: string;
payload_on?: string | boolean;
payload_off?: string | boolean;
icon?: string;
device: {
name: string;
Expand All @@ -83,6 +86,7 @@ const getHaDiscoveryPayload = (
const commonDiscoveryPayload = {
name: getEntityName(configEntry),
device_class: configEntry.deviceClass === HomeAssistantDeviceClass.None ? undefined : configEntry.deviceClass,
entity_cateogry: configEntry.entityCategory,
unit_of_measurement: configEntry.unitOfMeasurement,
object_id: getObjectID(deviceMessage, configEntry),
unique_id: getObjectID(deviceMessage, configEntry),
Expand All @@ -108,8 +112,8 @@ const getHaDiscoveryPayload = (
case HomeAssistantMQTTComponent.BinarySensor:
return {
...commonDiscoveryPayload,
payload_available: "on",
payload_not_available: "off",
payload_on: configEntry.payloadOn,
payload_off: configEntry.payloadOff,
};
}
};
Expand Down
6 changes: 6 additions & 0 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ export enum HomeAssistantMQTTComponent {
Sensor = "sensor",
BinarySensor = "binary_sensor",
}
export enum HomeAssistantEntityCategory {
Diagnostic = "diagnostic",
}

export interface HomeAssistantSensorConfiguration {
name: string;
Expand All @@ -83,7 +86,10 @@ export interface HomeAssistantSensorConfiguration {
uniqueId: string;
icon?: string;
stateClass?: string;
entityCategory?: HomeAssistantEntityCategory;
suggestedDecimalPrecision?: number | null;
payloadOn?: string | boolean;
payloadOff?: string | boolean;
device: {
manufacturer: string;
model: string;
Expand Down

0 comments on commit 1d3ffd4

Please sign in to comment.