diff --git a/.ha_mcp/logs/mcp_usage.jsonl b/.ha_mcp/logs/mcp_usage.jsonl index 50a56ceb..9187e00a 100644 --- a/.ha_mcp/logs/mcp_usage.jsonl +++ b/.ha_mcp/logs/mcp_usage.jsonl @@ -2920,3 +2920,4 @@ {"timestamp": "2026-08-26T17:49:15.369514+00:00", "tool_name": "ha_get_state", "parameters": {"entity_id": ["binary_sensor.night_light_occupancy", "sensor.night_light_illuminance", "input_boolean.in_a_meeting", "input_boolean.away_mode", "light.night_light"], "fields": null, "attribute_keys": null}, "execution_time_ms": 36.18049621582031, "success": true, "error_message": null, "response_size_bytes": 2858, "user_context": null} {"timestamp": "2026-08-26T17:49:29.311858+00:00", "tool_name": "ha_get_automation_traces", "parameters": {"automation_id": "automation.office_manual_meeting_status_busy_light_working_hours", "run_id": null, "limit": 3, "deduplicate": true, "detailed": false, "sections": null, "offset": 0, "order": "newest", "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 28.49555015563965, "success": true, "error_message": null, "response_size_bytes": 1001, "user_context": null} {"timestamp": "2026-08-26T17:49:38.007628+00:00", "tool_name": "ha_get_automation_traces", "parameters": {"automation_id": "automation.office_manual_meeting_status_busy_light_working_hours", "run_id": "a7220735365674c35847e1cbc0d022d5", "limit": 10, "deduplicate": true, "detailed": true, "sections": null, "offset": 0, "order": "newest", "ctx": {"_STATE_TTL_SECONDS": 86400}}, "execution_time_ms": 6.405830383300781, "success": true, "error_message": null, "response_size_bytes": 2186, "user_context": null} +{"timestamp": "2026-08-26T17:54:14.026157+00:00", "tool_name": "ha_config_set_automation", "parameters": {"config": null, "identifier": "automation.office_manual_meeting_status_busy_light_working_hours", "python_transform": "config['triggers'].append({'trigger': 'homeassistant', 'event': 'start', 'id': 'ha_started'}); new_branch = {'alias': '--- HA RESTART: SET INITIAL LIGHT STATE ---', 'conditions': [{'condition': 'template', 'value_template': \"{{ trigger.id == 'ha_started' }}\"}], 'sequence': [{'choose': [{'alias': 'Work hours, not away, in meeting: Red', 'conditions': [{'condition': 'template', 'value_template': \"{{ is_work_hours and not is_away and is_state('input_boolean.in_a_meeting', 'on') }}\"}], 'sequence': [{'action': 'light.turn_on', 'target': {'entity_id': 'light.night_light'}, 'data': {'brightness_pct': 100, 'rgb_color': [255, 0, 0]}}]}, {'alias': 'Work hours, not away, not in meeting: Green', 'conditions': [{'condition': 'template', 'value_template': \"{{ is_work_hours and not is_away and is_state('input_boolean.in_a_meeting', 'off') }}\"}], 'sequence': [{'action': 'light.turn_on', 'target': {'entity_id': 'light.night_light'}, 'data': {'brightness_pct': 30, 'rgb_color': [5, 245, 45]}}]}, {'alias': 'After hours or away, motion on and dark: Warm light', 'conditions': [{'condition': 'template', 'value_template': \"{{ (not is_work_hours or is_away) and is_dark and is_state('binary_sensor.night_light_occupancy', 'on') }}\"}], 'sequence': [{'action': 'light.turn_on', 'target': {'entity_id': 'light.night_light'}, 'data': {'brightness_pct': 40, 'color_temp_kelvin': 2700}}]}, {'alias': 'After hours or away, no motion or not dark: Light off', 'conditions': [{'condition': 'template', 'value_template': \"{{ not is_work_hours or is_away }}\"}], 'sequence': [{'action': 'light.turn_off', 'target': {'entity_id': 'light.night_light'}}]}]}]}; config['actions'][0]['choose'].insert(0, new_branch)", "config_hash": "92a53d9976cc3182", "category": null, "wait": true, "MandatoryBPS": true, "BestPracticeKey": null}, "execution_time_ms": 68.53771209716797, "success": false, "error_message": "{\n \"success\": false,\n \"error\": {\n \"code\": \"VALIDATION_FAILED\",\n \"message\": \"Expression raised at runtime: KeyError: 'choose'\",\n \"suggestion\": \"Verify referenced keys/indices exist in the input\",\n \"suggestions\": [\n \"Verify referenced keys/indices exist in the input\",\n \"Check that types match (e.g. dict vs list operations)\",\n \"Use .get(key, default) to handle missing keys\",\n \"Expression: config['triggers'].append({'trigger': 'homeassistant', 'event': 'start', 'id': 'ha_started'}); new_b...\",\n \"For Home Assistant best-practice guidance, call ha_get_skill_guide(skill='home-assistant-best-practices') and consult the relevant reference file before retrying.\"\n ]\n },\n \"action\": \"python_transform\",\n \"identifier\": \"automation.office_manual_meeting_status_busy_light_working_hours\"\n}", "response_size_bytes": null, "user_context": null} diff --git a/zigbee2mqtt/state.json b/zigbee2mqtt/state.json index 7ea40abc..68175d02 100644 --- a/zigbee2mqtt/state.json +++ b/zigbee2mqtt/state.json @@ -29,7 +29,7 @@ "countdown_to_turn_on": 0, "power": 267.9, "current": 2.3, - "energy": 33.09, + "energy": 33.11, "power_factor": 0.9, "update": { "state": "idle", @@ -45,10 +45,10 @@ "state": "ON", "led_brightness": 100, "countdown_to_turn_off": 0, - "voltage": 119.6, + "voltage": 119.1, "countdown_to_turn_on": 0, "energy": 67.05, - "power_factor": 0.17, + "power_factor": 0.2, "ac_frequency": 60, "update": { "state": "idle", @@ -77,8 +77,8 @@ "voltage": 118.6, "state": "ON", "ac_frequency": 60, - "energy": 135.56, - "power": 99.6, + "energy": 135.57, + "power": 99.3, "current": 0.9, "power_factor": 0.94, "update": { @@ -98,8 +98,8 @@ "voltage": 118.6, "energy": 64.78, "state": "ON", - "power": 49.5, - "current": 0.65, + "power": 50.9, + "current": 0.75, "ac_frequency": 60, "power_factor": 0.71, "update": { @@ -119,7 +119,7 @@ "energy": 8.94, "current": 0.01, "power": 0.1, - "power_factor": 0.13, + "power_factor": 0.22, "linkquality": 91, "update": { "state": "idle", @@ -143,7 +143,7 @@ "current": 0.02, "ac_frequency": 60, "power": 0.4, - "power_factor": 0.2, + "power_factor": 0.14, "update": { "state": "idle", "installed_version": 268513381, @@ -192,7 +192,7 @@ }, "0xa4c1380d0679ffff": { "battery": 100, - "temperature": 27.8, + "temperature": 27.9, "temperature_units": "celsius", "temperature_calibration": 0, "update": { @@ -245,7 +245,7 @@ }, "0xb40e060fffe717c5": { "battery": 100, - "occupancy": false, + "occupancy": true, "tamper": false, "battery_low": false, "linkquality": 142,