diff --git a/lib/extension/frontend.ts b/lib/extension/frontend.ts index e274577b5..e5c8b0d5d 100644 --- a/lib/extension/frontend.ts +++ b/lib/extension/frontend.ts @@ -221,7 +221,7 @@ export class Frontend extends Extension { } else { // PublishEntityState topic = data.entity.name; - payload = data.payload; + payload = data.message; } for (const client of this.wss.clients) { diff --git a/test/extensions/frontend.test.ts b/test/extensions/frontend.test.ts index 784d00a0e..3e2d17177 100644 --- a/test/extensions/frontend.test.ts +++ b/test/extensions/frontend.test.ts @@ -230,6 +230,7 @@ describe("Extension: Frontend", () => { mockWSClient.readyState = "open"; mockWS.clients.push(mockWSClient); await mockWSEvents.connection(mockWSClient); + devices.bulb_color.linkquality = 20; const allTopics = mockWSClient.send.mock.calls.map(([m]) => JSON.parse(m).topic); expect(allTopics).toContain("bridge/devices"); @@ -249,7 +250,7 @@ describe("Extension: Frontend", () => { state: "ON", effect: null, power_on_behavior: null, - linkquality: null, + linkquality: 20, update: {state: null, installed_version: -1, latest_version: -1}, }), {retain: false, qos: 0}, @@ -268,7 +269,13 @@ describe("Extension: Frontend", () => { expect(mockWSClient.send).toHaveBeenCalledWith( stringify({ topic: "bulb_color", - payload: {state: "ON"}, + payload: { + state: "ON", + power_on_behavior: null, + effect: null, + linkquality: 20, + update: {state: null, installed_version: -1, latest_version: -1}, + }, }), ); @@ -288,7 +295,14 @@ describe("Extension: Frontend", () => { expect(mockWSClient.send).toHaveBeenCalledWith( stringify({ topic: "bulb_color", - payload: {state: "ON", brightness: 90}, + payload: { + state: "ON", + brightness: 90, + power_on_behavior: null, + effect: null, + linkquality: 20, + update: {state: null, installed_version: -1, latest_version: -1}, + }, }), );