diff --git a/futurehome/config.yaml b/futurehome/config.yaml index 0c3f66c..e52c584 100644 --- a/futurehome/config.yaml +++ b/futurehome/config.yaml @@ -1,6 +1,6 @@ # https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config name: Futurehome -version: "0.0.34" +version: "0.0.35" slug: futurehome description: Local Futurehome Smarthub integration url: "https://github.com/adrianjagielak/home-assistant-futurehome" diff --git a/futurehome/src/index.ts b/futurehome/src/index.ts index 89ceba8..ec5c959 100644 --- a/futurehome/src/index.ts +++ b/futurehome/src/index.ts @@ -227,12 +227,17 @@ import { delay } from './utils'; } break; } - case 'evt.sensor.report': - case 'evt.presence.report': - case 'evt.open.report': - case 'evt.lvl.report': + case 'evt.alarm.report': - case 'evt.binary.report': { + case 'evt.binary.report': + case 'evt.color.report': + case 'evt.lvl.report': + case 'evt.mode.report': + case 'evt.open.report': + case 'evt.presence.report': + case 'evt.scene.report': + case 'evt.sensor.report': + case 'evt.setpoint.report': { haUpdateStateSensorReport({ topic, value: msg.val, @@ -240,6 +245,7 @@ import { delay } from './utils'; }); break; } + case 'evt.network.all_nodes_report': { const devicesAvailability = msg.val; if (!devicesAvailability) { diff --git a/futurehome/src/services/basic.ts b/futurehome/src/services/basic.ts index e42138e..b59100e 100644 --- a/futurehome/src/services/basic.ts +++ b/futurehome/src/services/basic.ts @@ -35,7 +35,7 @@ export function basic__components( max: MAX_LVL, step: 1, command_topic: cmdTopic, - optimistic: true, + optimistic: false, value_template: `{{ value_json['${svc.addr}'].lvl }}`, }, }, diff --git a/futurehome/src/services/color_ctrl.ts b/futurehome/src/services/color_ctrl.ts index 1443994..f22c6a1 100644 --- a/futurehome/src/services/color_ctrl.ts +++ b/futurehome/src/services/color_ctrl.ts @@ -62,18 +62,18 @@ export function color_ctrl__components( // Basic on/off control command_topic: commandTopic, state_topic: stateTopic, - state_value_template: `{{ 'ON' if (value_json['${svc.addr}'].red > 0 or value_json['${svc.addr}'].green > 0 or value_json['${svc.addr}'].blue > 0) else 'OFF' }}`, + state_value_template: `{{ 'ON' if (value_json['${svc.addr}'].color.red > 0 or value_json['${svc.addr}'].color.green > 0 or value_json['${svc.addr}'].color.blue > 0) else 'OFF' }}`, // RGB color control rgb_command_topic: rgbCommandTopic, rgb_state_topic: stateTopic, - rgb_value_template: `{{ value_json['${svc.addr}'].red }},{{ value_json['${svc.addr}'].green }},{{ value_json['${svc.addr}'].blue }}`, + rgb_value_template: `{{ value_json['${svc.addr}'].color.red }},{{ value_json['${svc.addr}'].color.green }},{{ value_json['${svc.addr}'].color.blue }}`, // Brightness support (derived from RGB values) brightness_state_topic: stateTopic, - brightness_value_template: `{{ [value_json['${svc.addr}'].red, value_json['${svc.addr}'].green, value_json['${svc.addr}'].blue] | max }}`, + brightness_value_template: `{{ [value_json['${svc.addr}'].color.red, value_json['${svc.addr}'].color.green, value_json['${svc.addr}'].color.blue] | max }}`, - optimistic: true, + optimistic: false, }; // Add color temperature support if available diff --git a/futurehome/src/services/fan_ctrl.ts b/futurehome/src/services/fan_ctrl.ts index 4a7f674..6cece42 100644 --- a/futurehome/src/services/fan_ctrl.ts +++ b/futurehome/src/services/fan_ctrl.ts @@ -22,7 +22,7 @@ export function fan_ctrl__components( unique_id: svc.addr, platform: 'fan', command_topic: commandTopic, - optimistic: true, + optimistic: false, preset_modes: supModes, preset_mode_command_topic: commandTopic, preset_mode_value_template: `{{ value_json['${svc.addr}'].mode }}`, diff --git a/futurehome/src/services/scene_ctrl.ts b/futurehome/src/services/scene_ctrl.ts index c319e68..4c4b885 100644 --- a/futurehome/src/services/scene_ctrl.ts +++ b/futurehome/src/services/scene_ctrl.ts @@ -59,7 +59,7 @@ export function scene_ctrl__components( platform: 'select', options: supScenes, command_topic: commandTopic, - optimistic: true, + optimistic: false, value_template: `{{ value_json['${svc.addr}'].scene }}`, }; diff --git a/futurehome/src/services/thermostat.ts b/futurehome/src/services/thermostat.ts index 2615b7a..8f62bdf 100644 --- a/futurehome/src/services/thermostat.ts +++ b/futurehome/src/services/thermostat.ts @@ -76,7 +76,7 @@ export function thermostat__components( max_temp: maxTemp, temp_step: step, - optimistic: true, + optimistic: false, }; // ───────────── command handlers ─────────────