Live power APIs: detail/load/EMS queries + power module + host_probe8
This commit is contained in:
1 parent
c11188dd0b
commit
f15ae42db7
5 files changed
+393
No files matched your search
@@ -366,6 +366,30 @@ consistent with all-silent probes.
|
||||
socket/HTTP hotspot APIs (`/terminal/*`, `wifi_iot` join) take it from
|
||||
there. Same envelope + cipher on both transports (§5, §9).
|
||||
|
||||
## 16. Live power readings
|
||||
|
||||
- `queryDeviceRealTimeData` — what the home page polls
|
||||
(`DeviceRealTimeDataMixin`, `startPollingDeviceRealTimeData`): cmd
|
||||
`deviceDetailInfo` (socket `1301`), no arguments on socket
|
||||
(`{"refreshData": 2}` is added only for mqtt mode). Reply `dataArea`:
|
||||
`apowerCount`, **`totalPower`** (the household-draw headline).
|
||||
- `queryLoadStatusInfo` — cmd `loadStatus` (socket `1411`), no arguments.
|
||||
Reply per smart switch: `Sw1Volt`/`Sw2Volt`, `SW1Curr`, `SW1ExpPower`
|
||||
(`SW2…`), `SW1ExpEnergy`, `index`. (`loadStatus2`, socket `1415`, is the
|
||||
newer variant.)
|
||||
- `queryEmsInfoBySocket` — cmd `ems` (socket `1707`), no arguments. Reply
|
||||
carries `gridVol1/2`, `gridCurr1/2`, `loadCurr1/2`, `gridFreq`, relay
|
||||
states. Household draw ≈
|
||||
`(loadCurr1 + loadCurr2) × (gridVol1 + gridVol2) / 2`
|
||||
(library: `power.ems_load_watts`).
|
||||
- `InstallSunRunSummaryEntity` (`homeloadPower`, `solarPower`,
|
||||
`gridPower`, `apowersPower`) is parsed in the bean factory layer, not
|
||||
off the local socket — cloud/HTTP-side entity.
|
||||
|
||||
Library: `power.get_power()` tries detail → load → EMS in order
|
||||
(`franklinwh_agate_client/power.py`); `LocalDeviceClient` gained
|
||||
`query_detail_info()` / `query_load_status()`.
|
||||
|
||||
## 9. Bluetooth (BLE) transport — `communication_center/bluetooth`
|
||||
|
||||
- `BluetoothManager` (singleton), `BluetoothStatus`: `closed / connected / connecting / interrupted`.
|
||||
|
||||
Reference in new issue
Block a user