The call interval to P1 seems to be changed. No new number in 8 minutes. I would expect an interval of a few seconds here.
Still no new net Total value. Is this a problem on my side?
Hi Arjen, the EMS doesn’t poll the P1 meter on a timer — it listens for events pushed by the P1 device (Tibber Pulse). So if the value isn’t updating, the issue is upstream: the Tibber Pulse device itself has stopped sending updates to Homey.
Can you check directly in the Tibber Pulse device page whether measure_power is updating there? If that value is also stuck, it’s a Tibber Pulse / network issue, not the EMS.
The Tibber Pulse device in Homey is updating normally, that’s the strange thing about it. The PV generation does update properly.
Did you also see this reply?
Ah yes… can you try a restart of the app? If it updates after this then I think I know what the issue was…
Already restarted it myself en shortly after it updated again.
ok, thanks! I’ll prepare an update shortly!
Just installed a Zendure battery, curious about the effect of this. ![]()
Ah great! send me the bug report to have a look if the capabilities are ok for this one.
does the zendure have variable charging or does it have a fixed charge power? I know that the Marstek had a fixed one… 800watt or 2400watt I believe..
Charging rate is dynamic on this Solarflow 2400.
Bug report
{
“_report”: “Ultimate EMS Bug Report”,
“_version”: “1.6.29”,
“_generatedAt”: “2026-06-29T09:20:50.261Z”,
“settings”: {
“contract_type”: “dynamic”,
“price_device_id”: “abe01a7c-7175-444a-b9f2-840116f30941”,
“zero_export”: true,
“pv_peak_kw_l1”: 4,
“pv_peak_kw_l2”: 3,
“pv_peak_kw_l3”: 3,
“pv_l2_peak_hour”: 10,
“pv_l3_peak_hour”: 15,
“gridMeterId”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“pvMeterIds”: [
“bfdb7b9e-0eb1-4015-a318-6559489180f7”
],
“pvMeterPhases”: [
0
],
“hasBattery”: true,
“batteryId”: “bf9d1a30-95bb-4440-a360-591704b02490”,
“batteryAutonomous”: false,
“bat_capacity_kwh”: 5.76,
“bat_max_charge_w”: 2400,
“bat_max_discharge_w”: 2400,
“hasEv”: true,
“evDeviceId”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“evChargerId”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“ev_capacity_kwh”: 55,
“ev_charge_mode”: “pv”,
“ev_default_soc”: 100,
“ev_solar_priority_soc”: 100,
“ev_night_charge”: false,
“hasHeatPump”: false,
“hasEvCharger”: true,
“hp_0_phase”: 0,
“hp_1_phase”: 0,
“hp_2_phase”: 0,
“pv_curtail_meter_0”: false,
“pv_curtail_meter_1”: false,
“pv_curtail_meter_2”: false
},
“devices”: [
{
“id”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“name”: “Tibber Pulse”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”,
“accumulatedCost”,
“measure_current.L1”,
“measure_current.L2”,
“measure_current.L3”,
“meter_power.imported”,
“meter_power.exported”
],
“values”: {
“measure_power”: -3394,
“meter_power”: 3.04,
“accumulatedCost”: 0.85,
“measure_current.L1”: 3,
“measure_current.L2”: 9,
“measure_current.L3”: 2,
“meter_power.imported”: 34358.95,
“meter_power.exported”: 30069.63
}
},
{
“id”: “bfdb7b9e-0eb1-4015-a318-6559489180f7”,
“name”: “PV Oostdak Hoymiles”,
“driverUri”: “”,
“capabilities”: [
“meter_power.today”,
“measure_power”,
“meter_power”,
“measure_power.pv1”,
“measure_voltage.pv1”,
“measure_current.pv1”,
“measure_power.pv2”,
“measure_voltage.pv2”,
“measure_current.pv2”,
“measure_power.pv3”,
“measure_voltage.pv3”,
“measure_current.pv3”,
“measure_power.pv4”,
“measure_voltage.pv4”,
“measure_current.pv4”,
“measure_power.pv5”,
“measure_voltage.pv5”,
“measure_current.pv5”,
“measure_power.pv6”,
“measure_voltage.pv6”,
“measure_current.pv6”,
“measure_power.pv7”,
“measure_voltage.pv7”,
“measure_current.pv7”,
“measure_power.pv8”,
“measure_voltage.pv8”,
“measure_current.pv8”,
“measure_power.pv9”,
“measure_voltage.pv9”,
“measure_current.pv9”,
“measure_power.pv10”,
“measure_voltage.pv10”,
“measure_current.pv10”,
“measure_power.pv11”,
“measure_voltage.pv11”,
“measure_current.pv11”,
“measure_power.pv12”,
“measure_voltage.pv12”,
“measure_current.pv12”,
“measure_voltage”,
“measure_current”,
“measure_frequency”,
“measure_temperature”,
“alarm_generic”
],
“values”: {
“meter_power.today”: 7.23,
“measure_power”: 2961.9,
“meter_power”: 7337.46,
“measure_power.pv1”: 230.3,
“measure_voltage.pv1”: 32.5,
“measure_current.pv1”: 7.07,
“measure_power.pv2”: 256,
“measure_voltage.pv2”: 32.4,
“measure_current.pv2”: 7.88,
“measure_power.pv3”: 189.8,
“measure_voltage.pv3”: 31.3,
“measure_current.pv3”: 6.06,
“measure_power.pv4”: 287.6,
“measure_voltage.pv4”: 31.9,
“measure_current.pv4”: 8.99,
“measure_power.pv5”: null,
“measure_voltage.pv5”: null,
“measure_current.pv5”: null,
“measure_power.pv6”: null,
“measure_voltage.pv6”: null,
“measure_current.pv6”: null,
“measure_power.pv7”: null,
“measure_voltage.pv7”: null,
“measure_current.pv7”: null,
“measure_power.pv8”: null,
“measure_voltage.pv8”: null,
“measure_current.pv8”: null,
“measure_power.pv9”: null,
“measure_voltage.pv9”: null,
“measure_current.pv9”: null,
“measure_power.pv10”: null,
“measure_voltage.pv10”: null,
“measure_current.pv10”: null,
“measure_power.pv11”: null,
“measure_voltage.pv11”: null,
“measure_current.pv11”: null,
“measure_power.pv12”: null,
“measure_voltage.pv12”: null,
“measure_current.pv12”: null,
“measure_voltage”: 227.4,
“measure_current”: 3.88,
“measure_frequency”: 50.01,
“measure_temperature”: 51.7,
“alarm_generic”: false
}
},
{
“id”: “bf9d1a30-95bb-4440-a360-591704b02490”,
“name”: “Zendure solarFlow2400AC”,
“driverUri”: “”,
“capabilities”: [
“measure_battery”,
“measure_power”,
“measure_temperature”,
“meter_power.charged”,
“meter_power.discharged”,
“efficiency”
],
“values”: {
“measure_battery”: 99,
“measure_power”: 212,
“measure_temperature”: 45,
“meter_power.charged”: 2.13,
“meter_power.discharged”: 0,
“efficiency”: 0
}
},
{
“id”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“name”: “Lightning McGreen Accu”,
“driverUri”: “”,
“capabilities”: [
“device_state”,
“measure_soc_level”,
“measure_soc_usable”,
“measure_soc_range_estimated”,
“measure_soc_range_ideal”,
“measure_charge_limit_soc”,
“battery_heater”,
“charging_state”,
“measure_charge_phases”,
“measure_charge_power”,
“measure_charge_voltage”,
“measure_charge_current”,
“measure_charge_current_max”,
“measure_charge_energy_added”,
“measure_charge_minutes_to_full_charge”,
“charging_port_cable”,
“measure_io_battery_power”,
“meter_charge_power”,
“charging_port”,
“charging_on”,
“charging_port_unlock”,
“module_temp”,
“measure_module_temp_min”,
“measure_module_temp_max”,
“measure_charge_power_ac”,
“measure_charge_power_dc”,
“measure_charge_energy_added_ac”
],
“values”: {
“device_state”: false,
“measure_soc_level”: 43,
“measure_soc_usable”: 43,
“measure_soc_range_estimated”: 0,
“measure_soc_range_ideal”: 174.13,
“measure_charge_limit_soc”: 100,
“battery_heater”: false,
“charging_state”: “Disconnected”,
“measure_charge_phases”: 0,
“measure_charge_power”: 0,
“measure_charge_voltage”: 2,
“measure_charge_current”: 0,
“measure_charge_current_max”: 16,
“measure_charge_energy_added”: 13.3,
“measure_charge_minutes_to_full_charge”: 0,
“charging_port_cable”: “”,
“measure_io_battery_power”: 0,
“meter_charge_power”: 973.72,
“charging_port”: false,
“charging_on”: false,
“charging_port_unlock”: null,
“module_temp”: “- … - °C”,
“measure_module_temp_min”: null,
“measure_module_temp_max”: null,
“measure_charge_power_ac”: null,
“measure_charge_power_dc”: null,
“measure_charge_energy_added_ac”: null
}
},
{
“id”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“name”: “Wallbox Pulsar Max”,
“driverUri”: “”,
“capabilities”: [
“locked”,
“evcharger_charging_state”,
“evcharger_charging”,
“meter_power”,
“measure_current”,
“measure_power”,
“status”,
“meter_power.charged”
],
“values”: {
“locked”: false,
“evcharger_charging_state”: “plugged_out”,
“evcharger_charging”: false,
“meter_power”: null,
“measure_current”: 6,
“measure_power”: 0,
“status”: null,
“meter_power.charged”: 15.18
}
}
],
“liveState”: {
“ready”: true,
“mode”: “auto”,
“pvW”: 1295.1,
“gridW”: -1573,
“batSoc”: 99,
“batPowerW”: 212,
“netW”: 1573,
“evW”: 0,
“status”: “Zon 1295W → accu +212W | dumplast aan | teruglevering 1573W”,
“hpMode”: “cooling”,
“hpOffset”: 0,
“evCharging”: false,
“evCurrentA”: 0,
“evSoc”: 43,
“evConnected”: false,
“evMode”: “pv”,
“activeTrip”: null,
“plan”: {
“totalPvKwh”: 9.02,
“totalConsumptionKwh”: 5.94,
“netKwh”: 3.08,
“evNeededKwh”: 0,
“batAvailKwh”: 4.49,
“batMaxChargeKw”: 2.4,
“batMaxDischargeKw”: 2.5,
“hoursToFull”: 0.3,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: true,
“hasCheapQuarterSlots”: true,
“cheapQuarterCount”: 5,
“batReserveKwh”: 5.54,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 4.76,
“evSolarStartHour”: 10
},
“updatedAt”: “2026-06-29T09:20:50.259Z”
},
“pvCurtailment”: {
“pvW”: 1295.1,
“pvExpectedW”: null,
“pvCurtailing”: null,
“ratio”: null,
“gridW”: -1573,
“netW”: 1573,
“gridPhases”: [
0,
0,
0
],
“pvPhases”: [
0,
0,
0
]
},
“planSummary”: {
“totalPvKwh”: 9.02,
“totalConsumptionKwh”: 5.94,
“netKwh”: 3.08,
“evNeededKwh”: 0,
“batAvailKwh”: 4.49,
“batMaxChargeKw”: 2.4,
“batMaxDischargeKw”: 2.5,
“hoursToFull”: 0.3,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: true,
“hasCheapQuarterSlots”: true,
“cheapQuarterCount”: 5,
“batReserveKwh”: 5.54,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 4.76,
“evSolarStartHour”: 10
},
“planDetails”: {
“date”: “2026-06-29”,
“calculatedAt”: “2026-06-29T08:35:54.262Z”,
“reason”: “manual_test”,
“pvHourNow”: {
“hour”: 9,
“pvKwh”: 0.894
},
“pvHourlyFull”: [
{
“hour”: 0,
“pvKwh”: 0
},
{
“hour”: 1,
“pvKwh”: 0
},
{
“hour”: 2,
“pvKwh”: 0
},
{
“hour”: 3,
“pvKwh”: 0
},
{
“hour”: 4,
“pvKwh”: 0
},
{
“hour”: 5,
“pvKwh”: 0
},
{
“hour”: 6,
“pvKwh”: 0.019
},
{
“hour”: 7,
“pvKwh”: 0.196
},
{
“hour”: 8,
“pvKwh”: 0.456
},
{
“hour”: 9,
“pvKwh”: 0.894
},
{
“hour”: 10,
“pvKwh”: 1.371
},
{
“hour”: 11,
“pvKwh”: 1.765
},
{
“hour”: 12,
“pvKwh”: 2.09
},
{
“hour”: 13,
“pvKwh”: 2.338
},
{
“hour”: 14,
“pvKwh”: 2.485
},
{
“hour”: 15,
“pvKwh”: 2.419
},
{
“hour”: 16,
“pvKwh”: 2.219
},
{
“hour”: 17,
“pvKwh”: 1.909
},
{
“hour”: 18,
“pvKwh”: 1.485
},
{
“hour”: 19,
“pvKwh”: 0.783
},
{
“hour”: 20,
“pvKwh”: 0.632
},
{
“hour”: 21,
“pvKwh”: 0.248
},
{
“hour”: 22,
“pvKwh”: 0.084
},
{
“hour”: 23,
“pvKwh”: 0
}
]
},
“planError”: null,
“evController”: {
“mode”: “pv”,
“targetA”: 0,
“phases”: 3,
“minCurrentA”: 5,
“startThresholdA”: 5,
“startThresholdW”: 3750,
“stopThresholdW”: 300,
“zeroExport”: true,
“zeroExportMinSurW”: 300,
“isPeakHour”: false,
“solarGridAssist”: false
},
“battery”: {
“type”: “BatteryAdapter”,
“isAutonomous”: false,
“count”: 1,
“ids”: [
“bf9d1a30-95bb-4440-a360-591704b02490”
],
“capacities”: [
5.76
],
“maxChargeW”: [
2400
]
},
“thermostat”: null,
“config”: {
“hasBattery”: true,
“batteryAutonomous”: false,
“hasEv”: true,
“hasHeatPump”: false,
“phases”: 3,
“pvPeakKw”: 10,
“pvStrings”: [
{
“peakKw”: 4,
“peakHour”: 13
},
{
“peakKw”: 3,
“peakHour”: 10
},
{
“peakKw”: 3,
“peakHour”: 15
}
],
“pvMeterIds”: [
“bfdb7b9e-0eb1-4015-a318-6559489180f7”
],
“gridMeterId”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“pvCurtailment”: {
“maxExportW”: [
0,
0,
0
],
“inverterEnabled”: [
false,
false,
false
]
},
“pvCurtailActive”: false
}
}
Is the expected PV generation also taking the inverters into account that are not in Homey? I entered a generation per phase of 4 / 3 / 3 kWP, but expected output is 2,5 kW at max later this afternoon. While I’m already exporting 6kW right now. (Battery already full)
Arjen, please do a reboot of the app and run the bug report again.
Bug report
{
“_report”: “Ultimate EMS Bug Report”,
“_version”: “1.6.29”,
“_generatedAt”: “2026-06-29T11:46:45.106Z”,
“settings”: {
“contract_type”: “dynamic”,
“price_device_id”: “abe01a7c-7175-444a-b9f2-840116f30941”,
“zero_export”: true,
“pv_peak_kw_l1”: 4,
“pv_peak_kw_l2”: 3,
“pv_peak_kw_l3”: 3,
“pv_l2_peak_hour”: 10,
“pv_l3_peak_hour”: 15,
“gridMeterId”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“pvMeterIds”: [
“bfdb7b9e-0eb1-4015-a318-6559489180f7”
],
“pvMeterPhases”: [
0
],
“hasBattery”: true,
“batteryId”: “bf9d1a30-95bb-4440-a360-591704b02490”,
“batteryAutonomous”: false,
“bat_capacity_kwh”: 5.76,
“bat_max_charge_w”: 2400,
“bat_max_discharge_w”: 2400,
“hasEv”: true,
“evDeviceId”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“evChargerId”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“ev_capacity_kwh”: 55,
“ev_charge_mode”: “pv”,
“ev_default_soc”: 100,
“ev_solar_priority_soc”: 100,
“ev_night_charge”: false,
“hasHeatPump”: false,
“hasEvCharger”: true,
“hp_0_phase”: 0,
“hp_1_phase”: 0,
“hp_2_phase”: 0,
“pv_curtail_meter_0”: false,
“pv_curtail_meter_1”: false,
“pv_curtail_meter_2”: false
},
“devices”: [
{
“id”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“name”: “Tibber Pulse”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”,
“accumulatedCost”,
“measure_current.L1”,
“measure_current.L2”,
“measure_current.L3”,
“meter_power.imported”,
“meter_power.exported”
],
“values”: {
“measure_power”: -2799,
“meter_power”: 3.05,
“accumulatedCost”: 0.85,
“measure_current.L1”: 1,
“measure_current.L2”: 4,
“measure_current.L3”: 7,
“meter_power.imported”: 34358.95,
“meter_power.exported”: 30069.63
}
},
{
“id”: “bfdb7b9e-0eb1-4015-a318-6559489180f7”,
“name”: “PV Oostdak Hoymiles”,
“driverUri”: “”,
“capabilities”: [
“meter_power.today”,
“measure_power”,
“meter_power”,
“measure_power.pv1”,
“measure_voltage.pv1”,
“measure_current.pv1”,
“measure_power.pv2”,
“measure_voltage.pv2”,
“measure_current.pv2”,
“measure_power.pv3”,
“measure_voltage.pv3”,
“measure_current.pv3”,
“measure_power.pv4”,
“measure_voltage.pv4”,
“measure_current.pv4”,
“measure_power.pv5”,
“measure_voltage.pv5”,
“measure_current.pv5”,
“measure_power.pv6”,
“measure_voltage.pv6”,
“measure_current.pv6”,
“measure_power.pv7”,
“measure_voltage.pv7”,
“measure_current.pv7”,
“measure_power.pv8”,
“measure_voltage.pv8”,
“measure_current.pv8”,
“measure_power.pv9”,
“measure_voltage.pv9”,
“measure_current.pv9”,
“measure_power.pv10”,
“measure_voltage.pv10”,
“measure_current.pv10”,
“measure_power.pv11”,
“measure_voltage.pv11”,
“measure_current.pv11”,
“measure_power.pv12”,
“measure_voltage.pv12”,
“measure_current.pv12”,
“measure_voltage”,
“measure_current”,
“measure_frequency”,
“measure_temperature”,
“alarm_generic”
],
“values”: {
“meter_power.today”: 13.19,
“measure_power”: 2205.5,
“meter_power”: 7343.42,
“measure_power.pv1”: 46.2,
“measure_voltage.pv1”: 34.5,
“measure_current.pv1”: 1.33,
“measure_power.pv2”: 151.6,
“measure_voltage.pv2”: 31,
“measure_current.pv2”: 4.88,
“measure_power.pv3”: 149.2,
“measure_voltage.pv3”: 31,
“measure_current.pv3”: 4.8,
“measure_power.pv4”: 244.1,
“measure_voltage.pv4”: 30.7,
“measure_current.pv4”: 7.93,
“measure_power.pv5”: null,
“measure_voltage.pv5”: null,
“measure_current.pv5”: null,
“measure_power.pv6”: null,
“measure_voltage.pv6”: null,
“measure_current.pv6”: null,
“measure_power.pv7”: null,
“measure_voltage.pv7”: null,
“measure_current.pv7”: null,
“measure_power.pv8”: null,
“measure_voltage.pv8”: null,
“measure_current.pv8”: null,
“measure_power.pv9”: null,
“measure_voltage.pv9”: null,
“measure_current.pv9”: null,
“measure_power.pv10”: null,
“measure_voltage.pv10”: null,
“measure_current.pv10”: null,
“measure_power.pv11”: null,
“measure_voltage.pv11”: null,
“measure_current.pv11”: null,
“measure_power.pv12”: null,
“measure_voltage.pv12”: null,
“measure_current.pv12”: null,
“measure_voltage”: 222.8,
“measure_current”: 2.44,
“measure_frequency”: 50.02,
“measure_temperature”: 51.2,
“alarm_generic”: false
}
},
{
“id”: “bf9d1a30-95bb-4440-a360-591704b02490”,
“name”: “Zendure solarFlow2400AC”,
“driverUri”: “”,
“capabilities”: [
“measure_battery”,
“measure_power”,
“measure_temperature”,
“meter_power.charged”,
“meter_power.discharged”,
“efficiency”
],
“values”: {
“measure_battery”: 99,
“measure_power”: 29,
“measure_temperature”: 34,
“meter_power.charged”: 2.23,
“meter_power.discharged”: 0,
“efficiency”: 0
}
},
{
“id”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“name”: “Lightning McGreen Accu”,
“driverUri”: “”,
“capabilities”: [
“device_state”,
“measure_soc_level”,
“measure_soc_usable”,
“measure_soc_range_estimated”,
“measure_soc_range_ideal”,
“measure_charge_limit_soc”,
“battery_heater”,
“charging_state”,
“measure_charge_phases”,
“measure_charge_power”,
“measure_charge_voltage”,
“measure_charge_current”,
“measure_charge_current_max”,
“measure_charge_energy_added”,
“measure_charge_minutes_to_full_charge”,
“charging_port_cable”,
“measure_io_battery_power”,
“meter_charge_power”,
“charging_port”,
“charging_on”,
“charging_port_unlock”,
“module_temp”,
“measure_module_temp_min”,
“measure_module_temp_max”,
“measure_charge_power_ac”,
“measure_charge_power_dc”,
“measure_charge_energy_added_ac”
],
“values”: {
“device_state”: false,
“measure_soc_level”: 43,
“measure_soc_usable”: 43,
“measure_soc_range_estimated”: 0,
“measure_soc_range_ideal”: 174.13,
“measure_charge_limit_soc”: 100,
“battery_heater”: false,
“charging_state”: “Disconnected”,
“measure_charge_phases”: 0,
“measure_charge_power”: 0,
“measure_charge_voltage”: 2,
“measure_charge_current”: 0,
“measure_charge_current_max”: 16,
“measure_charge_energy_added”: 13.3,
“measure_charge_minutes_to_full_charge”: 0,
“charging_port_cable”: “”,
“measure_io_battery_power”: 0,
“meter_charge_power”: 973.72,
“charging_port”: false,
“charging_on”: false,
“charging_port_unlock”: null,
“module_temp”: “- … - °C”,
“measure_module_temp_min”: null,
“measure_module_temp_max”: null,
“measure_charge_power_ac”: null,
“measure_charge_power_dc”: null,
“measure_charge_energy_added_ac”: null
}
},
{
“id”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“name”: “Wallbox Pulsar Max”,
“driverUri”: “”,
“capabilities”: [
“locked”,
“evcharger_charging_state”,
“evcharger_charging”,
“meter_power”,
“measure_current”,
“measure_power”,
“status”,
“meter_power.charged”
],
“values”: {
“locked”: false,
“evcharger_charging_state”: “plugged_out”,
“evcharger_charging”: false,
“meter_power”: null,
“measure_current”: 6,
“measure_power”: 0,
“status”: null,
“meter_power.charged”: 15.18
}
}
],
“liveState”: {
“ready”: true,
“mode”: “auto”,
“pvW”: 2205.5,
“gridW”: -2799,
“batSoc”: 99,
“batPowerW”: 30,
“netW”: 2799,
“evW”: 0,
“status”: “Zon 2206W → dumplast aan | teruglevering 2799W”,
“hpMode”: “cooling”,
“hpOffset”: 0,
“evCharging”: false,
“evCurrentA”: 0,
“evSoc”: 43,
“evConnected”: false,
“evMode”: “pv”,
“activeTrip”: null,
“plan”: {
“totalPvKwh”: 7.16,
“totalConsumptionKwh”: 5.94,
“netKwh”: 1.22,
“evNeededKwh”: 0,
“batAvailKwh”: 5.7,
“batMaxChargeKw”: 2.4,
“batMaxDischargeKw”: 2.4,
“hoursToFull”: 0,
“hoursToEmpty”: 0.1,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: true,
“hasCheapQuarterSlots”: true,
“cheapQuarterCount”: 5,
“batReserveKwh”: 5.54,
“batAvailableForEv”: 0.17,
“avgNightLoadKwh”: 4.76,
“evSolarStartHour”: 10
},
“updatedAt”: “2026-06-29T11:46:45.103Z”
},
“pvCurtailment”: {
“pvW”: 2205.5,
“pvExpectedW”: null,
“pvCurtailing”: null,
“ratio”: null,
“gridW”: -2799,
“netW”: 2799,
“gridPhases”: [
0,
0,
0
],
“pvPhases”: [
0,
0,
0
]
},
“planSummary”: {
“totalPvKwh”: 7.16,
“totalConsumptionKwh”: 5.94,
“netKwh”: 1.22,
“evNeededKwh”: 0,
“batAvailKwh”: 5.7,
“batMaxChargeKw”: 2.4,
“batMaxDischargeKw”: 2.4,
“hoursToFull”: 0,
“hoursToEmpty”: 0.1,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: true,
“hasCheapQuarterSlots”: true,
“cheapQuarterCount”: 5,
“batReserveKwh”: 5.54,
“batAvailableForEv”: 0.17,
“avgNightLoadKwh”: 4.76,
“evSolarStartHour”: 10
},
“planDetails”: {
“date”: “2026-06-30”,
“calculatedAt”: “2026-06-29T11:46:18.531Z”,
“reason”: “startup”,
“pvHourNow”: {
“hour”: 11,
“pvKwh”: 0.718
},
“pvHourlyFull”: [
{
“hour”: 0,
“pvKwh”: 0
},
{
“hour”: 1,
“pvKwh”: 0
},
{
“hour”: 2,
“pvKwh”: 0
},
{
“hour”: 3,
“pvKwh”: 0
},
{
“hour”: 4,
“pvKwh”: 0
},
{
“hour”: 5,
“pvKwh”: 0
},
{
“hour”: 6,
“pvKwh”: 0.019
},
{
“hour”: 7,
“pvKwh”: 0.199
},
{
“hour”: 8,
“pvKwh”: 0.406
},
{
“hour”: 9,
“pvKwh”: 0.603
},
{
“hour”: 10,
“pvKwh”: 0.615
},
{
“hour”: 11,
“pvKwh”: 0.718
},
{
“hour”: 12,
“pvKwh”: 0.655
},
{
“hour”: 13,
“pvKwh”: 0.357
},
{
“hour”: 14,
“pvKwh”: 0.251
},
{
“hour”: 15,
“pvKwh”: 0.335
},
{
“hour”: 16,
“pvKwh”: 0.431
},
{
“hour”: 17,
“pvKwh”: 0.529
},
{
“hour”: 18,
“pvKwh”: 0.598
},
{
“hour”: 19,
“pvKwh”: 0.68
},
{
“hour”: 20,
“pvKwh”: 0.484
},
{
“hour”: 21,
“pvKwh”: 0.257
},
{
“hour”: 22,
“pvKwh”: 0.024
},
{
“hour”: 23,
“pvKwh”: 0
}
]
},
“planError”: null,
“evController”: {
“mode”: “pv”,
“targetA”: 0,
“phases”: 3,
“minCurrentA”: 5,
“startThresholdA”: 5,
“startThresholdW”: 3750,
“stopThresholdW”: 300,
“zeroExport”: true,
“zeroExportMinSurW”: 300,
“isPeakHour”: false,
“solarGridAssist”: false
},
“battery”: {
“type”: “BatteryAdapter”,
“isAutonomous”: false,
“count”: 1,
“ids”: [
“bf9d1a30-95bb-4440-a360-591704b02490”
],
“capacities”: [
5.76
],
“maxChargeW”: [
2400
]
},
“thermostat”: null,
“config”: {
“hasBattery”: true,
“batteryAutonomous”: false,
“hasEv”: true,
“hasHeatPump”: false,
“phases”: 3,
“pvPeakKw”: 10,
“pvStrings”: [
{
“peakKw”: 4,
“peakHour”: 13
},
{
“peakKw”: 3,
“peakHour”: 10
},
{
“peakKw”: 3,
“peakHour”: 15
}
],
“pvMeterIds”: [
“bfdb7b9e-0eb1-4015-a318-6559489180f7”
],
“gridMeterId”: “d8ce0b63-0d91-43c7-865d-e42e8a24b85a”,
“pvCurtailment”: {
“maxExportW”: [
0,
0,
0
],
“inverterEnabled”: [
false,
false,
false
]
},
“pvCurtailActive”: false
}
}
Just had to intervene and shut of the EMS. At 6kW export it also started to discharge the battery with 2,4kW. Resulting in a phase load of more than 22A during a larger period of time. Luckily I had a Homey flow in place.
Arjen, Heb je voor mij de log file ook?
Sorry forgot to make it.
update is ready… did you see my other messages?
New version is ready for testing and will be available soon for everybody:
1.6.33 — Fixed crash in planning engine (evCanUseSolar not defined) causing plan=null and empty morgen widget. Fixed EV line not showing in morgen chart for night charging (formula returned 0 when no solar). Fixed thermostat unavailability logged as error every tick. Fixed: EV grid night charging (ev_night_charge=true, solar_and_grid mode) was never planned — no charging blocks appeared in the morgen chart for users without a battery.
1.6.32 — Fixed grid power (gridW) freezing when load changes exceeded the 1200W spike filter threshold. The filter blocked legitimate changes (export to import) permanently. Filter removed; hysteresis in control logic handles transient spikes. Fixed EV planning: ev_home_wed=false means EV away during solar hours, not no charging at night. Planner now targets full SOC via night charging when EV is connected. Default ev_home is now always true unless explicitly set otherwise.
1.6.31 — Zendure SolarFlow support: control via local HTTP API (HEMS mode required). EV priority over battery: available grid capacity is calculated after house load and EV, so the battery only charges with the remainder. PV curtailment adapter renamed to PvCurtailmentAdapter — works with any brand that exposes exportlimitenabled/exportlimitpowerrate capabilities. Fixed battery headroom calculation edge case when battery is discharging. Fixed Zendure settings section not appearing on page load (race condition). battery_min_soc default changed to 0 (emergency reserve, not operational threshold).
Is there any plans to translate the app to English?
