Skip to content

Enhance device state verification#13

Merged
Desmond-Dong merged 7 commits into
ha-china:mainfrom
knoop7:main
May 16, 2026
Merged

Enhance device state verification#13
Desmond-Dong merged 7 commits into
ha-china:mainfrom
knoop7:main

Conversation

@knoop7

@knoop7 knoop7 commented May 15, 2026

Copy link
Copy Markdown
Contributor

No description provided.

KNOOP and others added 7 commits May 10, 2026 21:39
…c provider

handlers.py:
- Return error immediately when all device operations fail
- Add _expected_state_after_service: infer expected state by domain/service
  (light/switch/fan on/off, cover open/closed, lock locked/unlocked, etc.)
- Add _verify_device_operation: poll state 3 times (0.15/0.35/0.7s) after
  service call to confirm device reached expected state
- _execute_device_operations: record pre-call state, use blocking=True,
  verify post-call state, count verification failures as errors

anthropic_compatible.py:
- Remove extended thinking (reasoning_content) support — not stable upstream
- Remove _extract_reasoning_content method
- Remove thinking budget injection in request builder
- Simplify assistant message tool_calls serialization
Keep handlers.py device state verification changes intact.
- Add stream_client_timeout() with generous total and strict per-chunk
  sock_read limit for streaming LLM responses
- Increase first_chunk_timeout from 15s to 30s
- Add retry on aiohttp.ServerDisconnectedError, ClientPayloadError,
  and ClientOSError with 3s backoff before retry
Remove _expected_state_after_service and _verify_device_operation
methods along with the error response on full verification failure.
State verification added unnecessary latency and false negatives
for devices with delayed state updates.
Add _log_request_payload static method to log model, message count,
tool count, message contents (truncated at 2000 chars), and tool
definitions at INFO level. Also log response preview and stream URL
for end-to-end request tracing.
@knoop7 knoop7 changed the title Enhance device state verification and simplify Anthropic provider Enhance device state verification May 16, 2026
@Desmond-Dong Desmond-Dong merged commit 0a9bf1c into ha-china:main May 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants