Add lights/jets/salt control, app-traffic mimicry, and optional local read path
- New entities: number (salt output level 0-10), switch (lights, jets); the read-only salt sensor is replaced by the settable number. - Look identical to the official app on the wire: send the app's Dalvik UA on REST, okhttp/4.12.0 on the mTLS creds fetch, and "mqtt-<uuid>" client ids. - Consolidate every constant value into constants.py (well commented); protocol.py keeps only the command builders; const.py removed. - Optional local read path: a `local_status_url` config option polls the dongle's local /status endpoint for telemetry instead of the cloud MQTT subscription (control stays cloud MQTT). State getters handle both schemas. No private/internal values in the repo (the spa IP is runtime config only). Fixes bug-41mqxddz7zeh Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01F6B8b3iYNv6QUftK2FDfYb
This commit is contained in:
co-authored by
Claude Opus 5
parent
8cda06f7f3
commit
cde2bbc772
@@ -7,7 +7,11 @@
|
||||
"data": {
|
||||
"email": "E-mail",
|
||||
"password": "Password",
|
||||
"cert_dir": "Certificate directory"
|
||||
"cert_dir": "Certificate directory",
|
||||
"local_status_url": "Local /status URL (optional)"
|
||||
},
|
||||
"data_description": {
|
||||
"local_status_url": "If Home Assistant is on the spa's LAN, e.g. http://<spa-ip>/status, monitoring is polled locally instead of over the cloud; control still uses the cloud."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -24,8 +28,14 @@
|
||||
"entity": {
|
||||
"sensor": {
|
||||
"water_temperature": { "name": "Water temperature" },
|
||||
"salt_output_level": { "name": "Salt output level" },
|
||||
"cartridge": { "name": "Salt cartridge" }
|
||||
},
|
||||
"number": {
|
||||
"salt_output_level": { "name": "Salt output level" }
|
||||
},
|
||||
"switch": {
|
||||
"lights": { "name": "Lights" },
|
||||
"jets": { "name": "Jets" }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user