mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2026-07-02 18:11:36 +00:00
Mock water_leak value for Home Assistant when it's not available. #3146
This commit is contained in:
@@ -1445,10 +1445,25 @@ class HomeAssistant extends BaseExtension {
|
||||
* Publish a value for update_available (if not there yet) to prevent Home Assistant generating warnings of
|
||||
* this value not being available.
|
||||
*/
|
||||
if (data.entity.device && data.entity.mapped && data.entity.mapped.hasOwnProperty('ota') &&
|
||||
!data.payload.hasOwnProperty('update_available')) {
|
||||
logger.debug(`Mocking update_available value for Home Assistant`);
|
||||
this.publishEntityState(data.entity.device.ieeeAddr, {update_available: false});
|
||||
const mockedValues = [
|
||||
{
|
||||
property: 'update_available',
|
||||
condition: data.entity.device && data.entity.mapped && data.entity.mapped.hasOwnProperty('ota'),
|
||||
value: false,
|
||||
},
|
||||
{
|
||||
property: 'water_leak',
|
||||
condition: data.entity.device && data.entity.mapped &&
|
||||
mapping[data.entity.mapped.model].includes(cfg.binary_sensor_water_leak),
|
||||
value: false,
|
||||
},
|
||||
];
|
||||
|
||||
for (const entry of mockedValues) {
|
||||
if (entry.condition && !data.payload.hasOwnProperty(entry.property)) {
|
||||
logger.debug(`Mocking '${entry.property}' value for Home Assistant`);
|
||||
this.publishEntityState(data.entity.device.ieeeAddr, {[entry.property]: entry.value});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user