Hi Justin,
I’ve now captured a fresh v1.10.29 integration report together with the EcoFlow combined-battery screen.
The EcoFlow app shows a System SOC of 57% and battery discharge of 383 W. The AC 5000 reports 405 W, while both original STREAM batteries show 0 W. Homey’s existing STREAM Verbund still reports 0% and 0 W.
One detail in the new report caught my attention: reporterShadow.status is now resolution_stale, and the candidate reporter is unavailable. The comparison therefore could not be repeated in this capture.
The capture was taken at approximately 22:45 CEST on 10 October 2026. I’m sending the complete v1.10.29 JSON and the screenshot together.
Could you please check whether the stale reporter resolution explains this and whether another read-only check is needed before changing the existing Home Battery’s reading source?
I have not deleted or re-paired any devices.
Thanks again for your work on this!
{
“schemaVersion”: 8,
“capturedAt”: “2026-10-10T20:44:52.600Z”,
“appVersion”: “1.10.29”,
“homeyVersion”: “13.5.2-rc.4”,
“platform”: “local”,
“betaPairingEnabled”: true,
“drivers”: [
{
“id”: “stream”,
“role”: “installation_energy”,
“packaged”: true,
“deprecated”: false,
“registered”: true,
“pairedCount”: 1,
“reporting”: [
{
“deviceIndex”: 0,
“currentReadings”: {
“measure_battery”: 0,
“measure_power”: 0,
“measure_power.pv”: 0,
“measure_power.grid”: 0,
“measure_power.load”: 0,
“measure_power.grid_import”: null,
“measure_power.grid_export”: null,
“stream_unit_power_battery_flow”: null,
“stream_5000_direct_pv”: null
},
“lastControlFailure”: null,
“mainResolution”: {
“status”: “changed”,
“ageSec”: 3735,
“stale”: true,
“resolvedFamily”: “ac_5000”,
“installationScopeVerified”: false,
“automaticRepairAllowed”: false
},
“observations”: {
“measure_battery”: {
“value”: 0,
“ageSec”: 19,
“source”: “rest”
},
“measure_power”: {
“value”: 0,
“ageSec”: 19,
“source”: “rest”
},
“measure_power.pv”: {
“value”: 0,
“ageSec”: 19,
“source”: “rest”
},
“measure_power.grid”: {
“value”: 0,
“ageSec”: 19,
“source”: “rest”
},
“measure_power.load”: {
“value”: 0,
“ageSec”: 19,
“source”: “rest”
}
},
“readAddressMatchesSavedMain”: true,
“currentInstallationReporterVerified”: false
}
],
“accounting”: [
{
“source”: “device_counters”,
“samples”: 771,
“skippedSamples”: 700,
“ignoredGaps”: 0,
“counterResets”: 0,
“chargedCounterSeen”: true,
“dischargedCounterSeen”: true,
“lastSampleAgeSec”: 6,
“chargedKWh”: 501.575,
“dischargedKWh”: 475.681,
“checkpoint”: {
“pending”: true,
“writing”: false,
“failures”: 0
}
}
],
“topology”: [
{
“deviceIndex”: 0,
“source”: “bk_main_address”,
“membership”: “unverified”,
“pairedAddressFamily”: “original_stream”,
“observedPeerCount”: 0,
“freshPeerCount”: 0,
“peerFamilies”: {
“original_stream”: 0,
“ac_5000”: 0,
“stream_5000”: 0,
“unknown”: 0
},
“peerVisibility”: ,
“expansionPackCount”: null,
“installedCapacityKWh”: null,
“maxReportedRecordCount”: 0,
“lastPeerRecordAgeSec”: null,
“peerEvidenceStale”: true,
“systemSocObserved”: false,
“truncated”: false
}
],
“systemReporter”: ,
“configuration”: ,
“assessment”: ,
“readingFreshness”: ,
“connection”:
},
{
“id”: “stream_unit”,
“role”: “physical_monitor”,
“packaged”: true,
“deprecated”: false,
“registered”: true,
“pairedCount”: 2,
“reporting”: [
{
“deviceIndex”: 0,
“currentReadings”: {
“measure_battery”: 56.68198,
“measure_power”: null,
“measure_power.pv”: null,
“measure_power.grid”: null,
“measure_power.load”: null,
“measure_power.grid_import”: null,
“measure_power.grid_export”: null,
“stream_unit_power_battery_flow”: null,
“stream_5000_direct_pv”: null
},
“lastControlFailure”: null,
“mainResolution”: {
“status”: “not_checked”,
“ageSec”: null,
“stale”: true,
“resolvedFamily”: “unknown”,
“installationScopeVerified”: false,
“automaticRepairAllowed”: false
},
“observations”: {},
“readAddressMatchesSavedMain”: null,
“currentInstallationReporterVerified”: false
},
{
“deviceIndex”: 1,
“currentReadings”: {
“measure_battery”: 56.962055,
“measure_power”: null,
“measure_power.pv”: null,
“measure_power.grid”: null,
“measure_power.load”: null,
“measure_power.grid_import”: null,
“measure_power.grid_export”: null,
“stream_unit_power_battery_flow”: null,
“stream_5000_direct_pv”: null
},
“lastControlFailure”: null,
“mainResolution”: {
“status”: “not_checked”,
“ageSec”: null,
“stale”: true,
“resolvedFamily”: “unknown”,
“installationScopeVerified”: false,
“automaticRepairAllowed”: false
},
“observations”: {},
“readAddressMatchesSavedMain”: null,
“currentInstallationReporterVerified”: false
}
],
“accounting”: ,
“topology”: [
{
“deviceIndex”: 0,
“source”: “unavailable”,
“membership”: “unverified”
},
{
“deviceIndex”: 1,
“source”: “unavailable”,
“membership”: “unverified”
}
],
“systemReporter”: ,
“configuration”: ,
“assessment”: ,
“readingFreshness”: [
{
“deviceIndex”: 0,
“readings”: {
“stream_unit_pv3_voltage”: {
“ageSec”: 43,
“stale”: false
},
“stream_unit_pv3_current”: {
“ageSec”: 43,
“stale”: false
},
“stream_unit_pv4_voltage”: {
“ageSec”: 43,
“stale”: false
},
“stream_unit_pv4_current”: {
“ageSec”: 43,
“stale”: false
}
}
},
{
“deviceIndex”: 1,
“readings”: {}
}
],
“connection”:
},
{
“id”: “stream_5000_system”,
“role”: “installation_energy”,
“packaged”: true,
“deprecated”: false,
“registered”: true,
“pairedCount”: 0,
“reporting”: ,
“accounting”: ,
“topology”: ,
“systemReporter”: ,
“configuration”: ,
“assessment”: ,
“readingFreshness”: ,
“connection”:
},
{
“id”: “stream_5000_unit”,
“role”: “physical_monitor”,
“packaged”: true,
“deprecated”: false,
“registered”: true,
“pairedCount”: 1,
“reporting”: [
{
“deviceIndex”: 0,
“currentReadings”: {
“measure_battery”: 58,
“measure_power”: null,
“measure_power.pv”: null,
“measure_power.grid”: 7,
“measure_power.load”: 369,
“measure_power.grid_import”: 7,
“measure_power.grid_export”: 0,
“stream_unit_power_battery_flow”: null,
“stream_5000_direct_pv”: null
},
“lastControlFailure”: null,
“mainResolution”: {
“status”: “not_checked”,
“ageSec”: null,
“stale”: true,
“resolvedFamily”: “unknown”,
“installationScopeVerified”: false,
“automaticRepairAllowed”: false
},
“observations”: {},
“readAddressMatchesSavedMain”: null,
“currentInstallationReporterVerified”: false
}
],
“accounting”: ,
“topology”: [
{
“deviceIndex”: 0,
“source”: “es22_peer_records”,
“membership”: “unverified”,
“pairedAddressFamily”: “ac_5000”,
“observedPeerCount”: 2,
“freshPeerCount”: 2,
“peerFamilies”: {
“original_stream”: 2,
“ac_5000”: 0,
“stream_5000”: 0,
“unknown”: 0
},
“peerVisibility”: [
{
“observationIndex”: 0,
“prefix”: “BK11”,
“family”: “original_stream”,
“entityRole”: “unverified”,
“fresh”: true,
“fieldsSeenThisSession”: {
“soc”: true,
“rawBatteryPower”: true,
“pv”: true
}
},
{
“observationIndex”: 1,
“prefix”: “BK31”,
“family”: “original_stream”,
“entityRole”: “unverified”,
“fresh”: true,
“fieldsSeenThisSession”: {
“soc”: true,
“rawBatteryPower”: true,
“pv”: true
}
}
],
“expansionPackCount”: null,
“installedCapacityKWh”: null,
“maxReportedRecordCount”: 3,
“lastPeerRecordAgeSec”: 1,
“peerEvidenceStale”: false,
“systemSocObserved”: true,
“truncated”: false
}
],
“systemReporter”: [
{
“deviceIndex”: 0,
“fields”: {
“socPct”: {
“value”: 57,
“ageSec”: 1,
“stale”: false,
“source”: “app_protocol_system_soc”
},
“batteryW”: {
“value”: -362,
“ageSec”: 1,
“stale”: false,
“source”: “derived_app_protocol_flow_matrix”
}
},
“installationScopeVerified”: false
}
],
“configuration”: [
{
“deviceIndex”: 0,
“source”: “captured_app_protocol”,
“scope”: “subscription_source”,
“ordering”: “receipt_only”,
“controlsEnabled”: false,
“values”: {
“maxGridInputW”: {
“value”: 1500,
“ageSec”: 69,
“stale”: false
},
“maxGridOutputW”: {
“value”: 800,
“ageSec”: 69,
“stale”: false
},
“outputCeilingObservedW”: {
“value”: 800,
“ageSec”: 69,
“stale”: false
},
“backupReservePct”: {
“value”: 10,
“ageSec”: 69,
“stale”: false
},
“maxChargeSocPct”: {
“value”: 100,
“ageSec”: 9,
“stale”: false
},
“minDischargeSocPct”: {
“value”: 0,
“ageSec”: 9,
“stale”: false
},
“backupSocketEnabled”: {
“value”: false,
“ageSec”: 69,
“stale”: false
},
“backupReserveEnabled”: {
“value”: true,
“ageSec”: 69,
“stale”: false
},
“mode”: {
“value”: “custom”,
“ageSec”: 69,
“stale”: false
},
“tasks”: {
“value”: [
{
“enabled”: true,
“slot”: 1,
“startMinute”: 660,
“endMinute”: 900,
“chargeW”: 2500,
“chargeTargetSoc”: 100
},
{
“enabled”: true,
“slot”: 2,
“startMinute”: 1080,
“endMinute”: 1410,
“chargeW”: 0,
“chargeTargetSoc”: 100
}
],
“ageSec”: 69,
“stale”: false
}
}
}
],
“assessment”: [
{
“deviceIndex”: 0,
“controlsEnabled”: false,
“gridInput”: {
“scope”: “addressed_device_grid_input_not_total_battery_charge”,
“observation”: “recent_receipt_not_verified_application”,
“modelWriteEvidence”: “offline_es22_payload_replay”,
“safeCeilingVerified”: false,
“zeroBlocksSolarVerified”: false
},
“scheduling”: {
“observedEnabledTaskCount”: 2,
“controllerOwnership”: “unverified”,
“setpointIsMeasuredPower”: false,
“replacementAllowed”: false
},
“topology”: {
“status”: “mixed_family_peer_evidence_for_review”,
“freshPeerCount”: 2,
“autoMergeAllowed”: false,
“capacitySummationAllowed”: false,
“socAveragingAllowed”: false
},
“hardwareAcceptance”: “pending”
}
],
“readingFreshness”: [
{
“deviceIndex”: 0,
“readings”: {
“measure_battery”: {
“ageSec”: 1,
“stale”: false
},
“measure_power.load”: {
“ageSec”: 1,
“stale”: false
},
“measure_power.grid”: {
“ageSec”: 10,
“stale”: false
},
“measure_power.grid_import”: {
“ageSec”: 1,
“stale”: false
},
“measure_power.grid_export”: {
“ageSec”: 1,
“stale”: false
},
“measure_temperature”: {
“ageSec”: 9,
“stale”: false
},
“battery_soh”: {
“ageSec”: 9,
“stale”: false
}
}
}
],
“connection”: [
{
“deviceIndex”: 0,
“subscriptionState”: “active”,
“frameAgeSec”: 1,
“telemetryAgeSec”: 1,
“subscriptionAttempts”: 1,
“reconnectCount”: 0
}
]
},
{
“id”: “stream_ac5000”,
“role”: “legacy_physical_monitor”,
“packaged”: true,
“deprecated”: true,
“registered”: true,
“pairedCount”: 0,
“reporting”: ,
“accounting”: ,
“topology”: ,
“systemReporter”: ,
“configuration”: ,
“assessment”: ,
“readingFreshness”: ,
“connection”:
}
],
“smartMeters”: ,
“installationTopology”: {
“autoGroupingEnabled”: false,
“stableMembershipVerified”: false,
“aggregateCount”: 1,
“evidenceAvailableCount”: 1,
“potentialOverlapPairs”:
},
“reporterShadow”: [
{
“driverId”: “stream”,
“deviceIndex”: 0,
“status”: “resolution_stale”,
“exactResolvedReporterCount”: 1,
“candidateDevice”: null,
“comparisons”: {
“socPct”: {
“status”: “candidate_unavailable”,
“legacy”: {
“value”: 0,
“ageSec”: 19,
“fresh”: true
},
“candidate”: {
“value”: null,
“ageSec”: null,
“fresh”: false
},
“candidateSource”: “app_protocol_system_soc”,
“receiptSkewSec”: null,
“candidateMinusLegacy”: null
},
“batteryW”: {
“status”: “candidate_unavailable”,
“legacy”: {
“value”: 0,
“ageSec”: 19,
“fresh”: true
},
“candidate”: {
“value”: null,
“ageSec”: null,
“fresh”: false
},
“candidateSource”: “derived_app_protocol_flow_matrix”,
“receiptSkewSec”: null,
“candidateMinusLegacy”: null
}
},
“maxComparisonReceiptSkewSec”: 30,
“deviceTimestampsVerified”: false,
“installationScopeVerified”: false,
“telemetryOnly”: true,
“energyAccountingUnchanged”: true,
“repairAllowed”: false,
“controlMigrationAllowed”: false
}
],
“reporterRepair”: [
{
“driverId”: “stream_5000_unit”,
“deviceIndex”: 0,
“correlatedAggregates”: [
{
“driverId”: “stream”,
“deviceIndex”: 0
}
],
“status”: “candidate_requires_validation”,
“freshSystemSoc”: true,
“freshSystemBatteryPower”: true,
“matchedAggregateCount”: 1,
“repairAllowed”: false,
“blockers”: [
“installation_scope_unverified”,
“counter_source_transition_unverified”,
“hardware_acceptance_pending”
],
“preservesExistingDevices”: true,
“requiresRePairing”: false,
“controlMigrationAllowed”: false
}
],
“streamDiscovery”: {
“source”: “unavailable”,
“scope”: “account_not_installation”,
“membership”: “unverified”,
“expansionCapacity”: “unverified”,
“lastObservationAgeSec”: null,
“stale”: true,
“observedDeviceCount”: 0,
“invalidRecordCount”: 0,
“truncated”: false,
“groups”: ,
“productResearch”:
}
}
![]()
------ Originalnachricht ------
Von “Justin Zarb” <notifications@athom.discoursemail.com>
An rg@rgr.de
Datum 10.10.2026 22:37:33
Betreff Homey Community Forum: [APP][Pro] EcoFlow STREAM Series - solar, battery, smart meter and Homey Energy automation
(attachments)