mirror of
https://github.com/Koenkk/zigbee2mqtt.git
synced 2024-11-16 10:28:33 -07:00
parent
2454136b9b
commit
b17b9c76ef
@ -286,6 +286,9 @@ class Controller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// filter mqtt message attributes
|
// filter mqtt message attributes
|
||||||
|
if (deviceOptions.filtered_attributes) {
|
||||||
|
deviceOptions.filtered_attributes.forEach((a) => delete messagePayload[a]);
|
||||||
|
}
|
||||||
if (entity.settings.filtered_attributes) {
|
if (entity.settings.filtered_attributes) {
|
||||||
entity.settings.filtered_attributes.forEach((a) => delete messagePayload[a]);
|
entity.settings.filtered_attributes.forEach((a) => delete messagePayload[a]);
|
||||||
}
|
}
|
||||||
|
@ -427,6 +427,19 @@ describe('Controller', () => {
|
|||||||
expect(MQTT.publish).toHaveBeenCalledWith("zigbee2mqtt/bulb", '{"state":"ON","brightness":200}', {"qos": 0, "retain": true}, expect.any(Function));
|
expect(MQTT.publish).toHaveBeenCalledWith("zigbee2mqtt/bulb", '{"state":"ON","brightness":200}', {"qos": 0, "retain": true}, expect.any(Function));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Publish entity state attribute_json output filtered (device_options)', async () => {
|
||||||
|
await controller.start();
|
||||||
|
settings.set(['experimental', 'output'], 'attribute_and_json');
|
||||||
|
settings.set(['device_options', 'filtered_attributes'], ['color_temp', 'linkquality']);
|
||||||
|
MQTT.publish.mockClear();
|
||||||
|
await controller.publishEntityState('bulb', {state: 'ON', brightness: 200, color_temp: 370, linkquality: 99});
|
||||||
|
await flushPromises();
|
||||||
|
expect(MQTT.publish).toHaveBeenCalledTimes(3);
|
||||||
|
expect(MQTT.publish).toHaveBeenCalledWith("zigbee2mqtt/bulb/state", "ON", {"qos": 0, "retain": true}, expect.any(Function));
|
||||||
|
expect(MQTT.publish).toHaveBeenCalledWith("zigbee2mqtt/bulb/brightness", "200", {"qos": 0, "retain": true}, expect.any(Function));
|
||||||
|
expect(MQTT.publish).toHaveBeenCalledWith("zigbee2mqtt/bulb", '{"state":"ON","brightness":200}', {"qos": 0, "retain": true}, expect.any(Function));
|
||||||
|
});
|
||||||
|
|
||||||
it('Publish entity state with device information', async () => {
|
it('Publish entity state with device information', async () => {
|
||||||
await controller.start();
|
await controller.start();
|
||||||
settings.set(['mqtt', 'include_device_information'], true);
|
settings.set(['mqtt', 'include_device_information'], true);
|
||||||
|
Loading…
Reference in New Issue
Block a user