Ultimate EMS with zero export

Hello Menno

The watt per phase 1,2 and 3 is working perfect, but i recognized that in the widget the total sum is not correct. In homewizard the total is now around the 46kw

Hoi Gerrit,

Ah yes that is a known inconsistency. it shows the current production and not the total day production. Wil be fixed so all tiles show totals and not currents.

Hi Menno,

Here’s your friendly stalker again. :wink: I notice in the EV diagnose that it shows a time 2 hours ago. Don’t know what ts means, timestamp I guess? Would expect current date/time then.

EV current A shows 0, while it is charging with 5A. Still didn’t notice an amp increase earlier today.

Keep up the good work!

{
“ok”: true,
“ts”: “18:44:08”,
“solar_W”: 22,
“grid_W”: 264,
“ev_W”: 0,
“surplus_W”: -364,
“threshold_W”: 1150,
“surplus_ok”: false,
“ev_connected”: true,
“ev_charging”: false,
“ev_soc”: 75,
“ev_currentA”: 0,
“isChargingByEms”: false,
“vehiclePresent”: true,
“chargeMode”: “pv”,
“targetA”: 0,
“lastCommandAgo”: “1761s geleden”,
“inPeakHour”: false,
“postponedUntil”: “niet uitgesteld”,
“verdict”: “:hourglass_not_done: Surplus -364W < drempel 1150W — wacht op meer zon”
}

Ha yes, There was a time zone issue that caused a 2 hour delay. this is fixed in the udpate. I also added sliders in the EV widget for better control. then regarding the EV charging:

When you see “charging with 5A” — where exactly do you see that? Is it:

a) In the car app, under the active charging screen where you see the actual kW flowing into the battery?
b) Or in the app settings where you set the charge limit / charge current?

The reason I ask: if the grid import at that moment was only ~264W, the math doesn’t add up for 5A actual charging (that would need ~1150W from the grid). So we suspect the “5A” might be the configured charge rate, not the actual current flowing at that moment.

fixed in the update!

Gents
 I had to make some changes to the name because this was not allowed by homey.

so sorry to report that you have to install the new app which can be found here, please note your settings because they will get lost
 : Ultimate EMS | Homey

Hello Menno, no problem to install the new name app :grinning_face:

The data from today was going very good with the 3 inverters.

With the ev widget i am getting no data.

Also i recognized that the ems for tomorrow is only calculated for 1 inverter and i think L1

Can you check this or maybe i am still doing something wrong.

No problem Menno. Just installed the new App and added my configuration where possible.

Hi Gerrit, both issues are caused by missing settings after the reinstall — sorry about that inconvenience!

EV widget no data: please go to App Settings → EV and re-select your EV charger device and fill in your battery capacity. Once saved the widget will load normally.

Tomorrow plan (1 inverter): in App Settings → Solar, make sure you fill in the peak kWp for all three phases (L1, L2 and L3). After the reinstall only L1 was configured, so the forecast only knew about that one inverter. Fill in L2 and L3 and the plan will use all three. or when you have a 3 fase inverter just select this one and set it to auto.

let me know if this helps

I made an update that also lets you copy all the settings and device capabilities so you can send these to me in order to do better bug fixing. 1.6.14 is now the latest version.

Hello Menno,

Thank you for your fast support and the good work.

Your advice didnt help. Please find my report

{

“_report”: “Ultimate EMS Bug Report”,

“_version”: “1.6.15”,

“_generatedAt”: “2026-06-18T05:27:31.997Z”,

“settings”: {

"phases": 3,

"contract_type": "dynamic",

"pv_peak_kw_l1": 4,

"pv_peak_kw_l2": 3.5,

"pv_peak_kw_l3": 4,

"pv_l1_peak_hour": 15,

"pv_l3_peak_hour": 11,

"hasBattery": true,

"batteryId": "d3127375-ba5c-4db5-a291-899f36bfd434",

"batteryAutonomous": true,

"bat_capacity_kwh": 20,

"bat_max_charge_w": 10000,

"bat_max_discharge_w": 10000,

"hasEv": true,

"ev_capacity_kwh": 14,

"ev_charge_mode": "pv",

"ev_default_soc": 100,

"ev_min_soc": 0,

"ev_solar_priority_soc": 100,

"hasHeatPump": false,

"hasEvCharger": true,

"hp_0_phase": 0,

"hp_1_phase": 0,

"hp_2_phase": 0

},

“devices”: [

{

  "id": "d3127375-ba5c-4db5-a291-899f36bfd434",

  "name": "Batterij Management",

  "driverUri": "",

  "capabilities": \[

    "button.reconnect",

    "measure_temperature.sensor.solis_s6_gr1p_inverter_temperature",

    "meter_power.sensor.solis_s6_eh1p_today_battery_charge_energy",

    "meter_power.sensor.solis_s6_eh1p_today_battery_discharge_energy",

    "measure_battery",

    "measure_power",

    "measure_numeric.sensor.thuisbatterij_today",

    "measure_generic.sensor.thuisbatterij_battery_state",

    "measure_numeric",

    "dim.solis_s6_eh3p10k_h_zp_battery_max_charge_current",

    "measure_current.sensor.solis_s6_eh3p10k_h_zp_battery_max_charge_current",

    "dim.solis_s6_eh3p10k_h_zp_battery_max_discharge_current",

    "measure_current.sensor.solis_s6_eh3p10k_h_zp_battery_max_discharge_current"

  \]

}

],

“liveState”: {

"ready": true,

"mode": "auto",

"pvW": 2001.58,

"gridW": -1736,

"batSoc": 0,

"batPowerW": 0,

"netW": 1736,

"evW": 0,

"status": "Zon 2002W → teruglevering 1736W",

"hpMode": "cooling",

"hpOffset": 0,

"evCharging": false,

"evCurrentA": 0,

"evSoc": null,

"evConnected": false,

"evMode": "pv",

"activeTrip": {

  "departureTime": "2026-06-18T18:09:00.000Z",

  "targetSoc": 100,

  "setAt": "2026-06-17T18:11:42.930Z"

},

"plan": {

  "totalPvKwh": 22.58,

  "totalConsumptionKwh": 1.01,

  "netKwh": 21.58,

  "evNeededKwh": 0,

  "batAvailKwh": 6.2,

  "batMaxChargeKw": 10,

  "batMaxDischargeKw": 10,

  "hoursToFull": 1.2,

  "hoursToEmpty": 0.4,

  "prio1Feasible": true,

  "hpMode": "cooling",

  "hasCheapHours": false,

  "hasCheapQuarterSlots": false,

  "cheapQuarterCount": 0,

  "batReserveKwh": 0.56,

  "batAvailableForEv": 5.63,

  "avgNightLoadKwh": 0.56,

  "evSolarStartHour": 10

},

"updatedAt": "2026-06-18T05:27:31.996Z"

},

“planSummary”: {

"totalPvKwh": 22.58,

"totalConsumptionKwh": 1.01,

"netKwh": 21.58,

"evNeededKwh": 0,

"batAvailKwh": 6.2,

"batMaxChargeKw": 10,

"batMaxDischargeKw": 10,

"hoursToFull": 1.2,

"hoursToEmpty": 0.4,

"prio1Feasible": true,

"hpMode": "cooling",

"hasCheapHours": false,

"hasCheapQuarterSlots": false,

"cheapQuarterCount": 0,

"batReserveKwh": 0.56,

"batAvailableForEv": 5.63,

"avgNightLoadKwh": 0.56,

"evSolarStartHour": 10

},

“planError”: null,

“evController”: {

"mode": "pv",

"targetA": 0,

"phases": 1,

"minCurrentA": 5,

"isPeakHour": true

}

}

Hi Gerrit,

Thanks for sharing the bug report — very helpful! I can see a few things that need to be configured:

1. EV device not selected
In your settings, evDeviceId and evChargerId are both missing. Please go to App Settings → EV and select your EV and charger device from the dropdowns. Without this, the EV widget has nothing to display and the planner won’t schedule any charging.

2. EV minimum SoC is set to 0%
Your ev_min_soc is currently 0, which means even when your EV is plugged in, the planner calculates 0 kWh needed (0% minimum = nothing to charge to). Go to App Settings → EV → Minimum SoC and set it to something like 50% — this is the floor the planner will always try to reach overnight, even when the car won’t be home the next day for solar charging.

3. Solar L2 peak hour not set
You have L1 peak hour (15:00) and L3 peak hour (11:00) configured, but L2 is missing. Go to App Settings → Solar → L2 peak hour and fill this in. Without it the solar forecast for your L2 inverter won’t be correctly timed.

4. Battery SoC showing 0%
Your battery is correctly detected (20 kWh, the planner sees ~6.2 kWh available), but the display shows 0%. This is a bug on our side that we’re fixing in the next update — no action needed from you here.

Once you’ve made the EV and peak hour changes, please do a force recalculate in Settings → Diagnostics so the planner picks up the new configuration immediately.

Let me know if it works!

Hello Menno,

I checked.your advise and the car and L2 where already with the right data.

I changed them and put it back.

But i cant find the minimum soc

Please find the report

{
“_report”: “Ultimate EMS Bug Report”,
“_version”: “1.6.17”,
“_generatedAt”: “2026-06-18T07:21:19.276Z”,
“settings”: {
“phases”: 3,
“contract_type”: “dynamic”,
“pv_peak_kw_l1”: 4,
“pv_peak_kw_l2”: 3.5,
“pv_peak_kw_l3”: 4,
“pv_l1_peak_hour”: 15,
“pv_l2_peak_hour”: 13,
“pv_l3_peak_hour”: 11,
“gridMeterId”: “71834f10-4902-42dc-8ca2-c4b84131ff20”,
“pvMeterIds”: [
“9cc38a77-169e-4af6-a2e3-a96a4d1a8848”,
“af02630e-6543-4689-955a-edb289ca8c2d”,
“ee5d927b-c7ec-4848-80c2-3a25f290f35d”
],
“pvMeterPhases”: [
1,
2,
3
],
“hasBattery”: true,
“batteryId”: “d3127375-ba5c-4db5-a291-899f36bfd434”,
“batteryAutonomous”: true,
“bat_capacity_kwh”: 20,
“bat_max_charge_w”: 10000,
“bat_max_discharge_w”: 10000,
“hasEv”: true,
“evDeviceId”: “7c1a7c07-dc0c-4fb1-8d3c-c4b2bb3e972c”,
“evChargerId”: “75122417-642a-441a-b319-f636f72a4331”,
“wallConnectorIp”: “192.168.2.9”,
“ev_capacity_kwh”: 14,
“ev_charge_mode”: “pv”,
“ev_default_soc”: 100,
“ev_min_soc”: 0,
“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
},
“devices”: [
{
“id”: “71834f10-4902-42dc-8ca2-c4b84131ff20”,
“name”: “Slimme Meter”,
“driverUri”: “”,
“capabilities”: [
“meter_power”,
“rssi”,
“meter_power.returned”,
“identify”,
“meter_power.daily”,
“voltage_sag_l2”,
“voltage_sag_l3”,
“voltage_swell_l2”,
“voltage_swell_l3”,
“measure_power.l2”,
“measure_power.l3”,
“measure_voltage.l2”,
“measure_voltage.l3”,
“measure_current.l2”,
“measure_current.l3”,
“connection_error”,
“net_load_phase1_pct”,
“net_load_phase2_pct”,
“net_load_phase3_pct”,
“measure_power”,
“tariff”,
“meter_power.consumed.t1”,
“meter_power.consumed.t2”,
“meter_power.consumed”,
“measure_current.l1”,
“meter_power.produced.t1”,
“meter_power.produced.t2”,
“measure_voltage.l1”,
“long_power_fail_count”,
“voltage_sag_l1”,
“voltage_swell_l1”,
“measure_power.l1”,
“wifi_quality”,
“meter_power.consumed.t3”,
“meter_power.produced.t3”,
“measure_current”,
“alarm_connectivity”
]
},
{
“id”: “9cc38a77-169e-4af6-a2e3-a96a4d1a8848”,
“name”: “Panelen Voor”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”,
“measure_power.l1”,
“rssi”,
“meter_power.consumed.t1”,
“meter_power.produced.t1”,
“measure_voltage”,
“measure_current”,
“alarm_connectivity”
]
},
{
“id”: “af02630e-6543-4689-955a-edb289ca8c2d”,
“name”: “Panelen Tuin”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”,
“measure_power.l1”,
“rssi”,
“meter_power.consumed.t1”,
“meter_power.produced.t1”,
“measure_voltage”,
“measure_current”,
“alarm_connectivity”
]
},
{
“id”: “ee5d927b-c7ec-4848-80c2-3a25f290f35d”,
“name”: “Panelen Achter”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”,
“measure_power.l1”,
“rssi”,
“meter_power.consumed.t1”,
“meter_power.produced.t1”,
“measure_voltage”,
“measure_current”,
“alarm_connectivity”
]
},
{
“id”: “d3127375-ba5c-4db5-a291-899f36bfd434”,
“name”: “Batterij Management”,
“driverUri”: “”,
“capabilities”: [
“button.reconnect”,
“measure_temperature.sensor.solis_s6_gr1p_inverter_temperature”,
“meter_power.sensor.solis_s6_eh1p_today_battery_charge_energy”,
“meter_power.sensor.solis_s6_eh1p_today_battery_discharge_energy”,
“measure_battery”,
“measure_power”,
“measure_numeric.sensor.thuisbatterij_today”,
“measure_generic.sensor.thuisbatterij_battery_state”,
“measure_numeric”,
“dim.solis_s6_eh3p10k_h_zp_battery_max_charge_current”,
“measure_current.sensor.solis_s6_eh3p10k_h_zp_battery_max_charge_current”,
“dim.solis_s6_eh3p10k_h_zp_battery_max_discharge_current”,
“measure_current.sensor.solis_s6_eh3p10k_h_zp_battery_max_discharge_current”
]
},
{
“id”: “7c1a7c07-dc0c-4fb1-8d3c-c4b2bb3e972c”,
“name”: “A 250 e Limousine”,
“driverUri”: “”,
“capabilities”: [
“locked”,
“measure_battery”,
“measure_charge_power”,
“odometer”,
“distance_start”,
“distance_electrical”,
“driven_time_start”,
“ecoscore_accel”,
“ecoscore_const”,
“ecoscore_freewhl”,
“alarm_generic”,
“tire_pressure_bar.tire_fl”,
“tire_pressure_bar.tire_fr”,
“tire_pressure_bar.tire_rl”,
“tire_pressure_bar.tire_rr”,
“engine_running”,
“climate_active”,
“average_speed”,
“measure_latitude”,
“measure_longitude”,
“measure_heading”,
“text_geofence_last_event”,
“text_geofence_last_zone”,
“time_geofence_last_event”,
“text_charging_status”,
“text_charge_program”,
“text_end_charge_time”,
“window_sunroof”,
“measure_fuel”,
“measure_adblue_level”,
“measure_max_soc”,
“measure_oil_level”,
“text_connector_status”,
“window_front_left”,
“window_front_right”,
“window_rear_left”,
“window_rear_right”,
“door_front_left”,
“door_front_right”,
“door_rear_left”,
“door_rear_right”,
“door_trunk”,
“door_hood”,
“parking_brake_engaged”,
“alarm_theft”,
“measure_service_days”,
“measure_battery_temperature”,
“measure_range_electric”,
“measure_range_liquid”,
“onoff_precond”,
“onoff_auxheat”,
“onoff_remote_start”,
“ignition_on”,
“theft_system_armed”,
“onoff_charging”,
“onoff_connector”,
“text_departure_time”,
“text_departure_time_mode”
]
},
{
“id”: “75122417-642a-441a-b319-f636f72a4331”,
“name”: “Oplader Auto”,
“driverUri”: “”,
“capabilities”: [
“charger_status”,
“enabled”,
“measure_current.offered”,
“measure_power”,
“measure_current.p1”,
“measure_current.p2”,
“measure_current.p3”,
“measure_voltage”,
“meter_power.lastCharge”,
“meter_power”,
“onoff”,
“target_circuit_current”,
“target_charger_current”,
“evcharger_charging”,
“evcharger_charging_state”
]
}
],
“liveState”: {
“ready”: true,
“mode”: “auto”,
“pvW”: 3453.3900000000003,
“gridW”: -3085,
“batSoc”: 0,
“batPowerW”: 0,
“netW”: 3085,
“evW”: 0,
“status”: “Zon 3453W → teruglevering 3085W”,
“hpMode”: “cooling”,
“hpOffset”: 0,
“evCharging”: false,
“evCurrentA”: 0,
“evSoc”: null,
“evConnected”: false,
“evMode”: “pv”,
“activeTrip”: {
“departureTime”: “2026-06-18T18:09:00.000Z”,
“targetSoc”: 100,
“setAt”: “2026-06-17T18:11:42.930Z”
},
“plan”: {
“totalPvKwh”: 22.08,
“totalConsumptionKwh”: 1.01,
“netKwh”: 21.07,
“evNeededKwh”: 0,
“batAvailKwh”: 5.2,
“batMaxChargeKw”: 10,
“batMaxDischargeKw”: 10,
“hoursToFull”: 1.3,
“hoursToEmpty”: 0.3,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 0.56,
“batAvailableForEv”: 4.63,
“avgNightLoadKwh”: 0.56,
“evSolarStartHour”: 10
},
“updatedAt”: “2026-06-18T07:21:19.275Z”
},
“planSummary”: {
“totalPvKwh”: 22.08,
“totalConsumptionKwh”: 1.01,
“netKwh”: 21.07,
“evNeededKwh”: 0,
“batAvailKwh”: 5.2,
“batMaxChargeKw”: 10,
“batMaxDischargeKw”: 10,
“hoursToFull”: 1.3,
“hoursToEmpty”: 0.3,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 0.56,
“batAvailableForEv”: 4.63,
“avgNightLoadKwh”: 0.56,
“evSolarStartHour”: 10
},
“planError”: null,
“evController”: {
“mode”: “pv”,
“targetA”: 0,
“phases”: 3,
“minCurrentA”: 5,
“isPeakHour”: false
}
}

perfect, the min soc is in the widget.

Hi Menno,

Any chance to take a look at quarterly prices for Tibber?

I installed a new EV charger this week, a Wallbox Pulsar Max. When performing a diagnosis it says no EV connected while both Wallbox and Tesla claim otherwise. I also see a time discrepancy of 2 hours.

{
“ok”: true,
“ts”: “15:14:30”,
“solar_W”: 582,
“grid_W”: -3439,
“ev_W”: 0,
“surplus_W”: 3339,
“threshold_W”: 1150,
“surplus_ok”: true,
“ev_connected”: false,
“ev_charging”: false,
“ev_soc”: 86,
“ev_currentA”: 0,
“isChargingByEms”: false,
“vehiclePresent”: false,
“chargeMode”: “solar_only”,
“targetA”: 0,
“lastCommandAgo”: “7s geleden”,
“inPeakHour”: false,
“postponedUntil”: “niet uitgesteld”,
“verdict”: “:cross_mark: EV niet verbonden”
}

Hi Arjen,

Can you send me your bug report? This makes it easier for me to include your charger.

Tibber quarter-hour resolution is prepared in the code but doesn’t affect scheduling yet — the Tibber API only provides hourly prices anyway, so there’s no real 15-minute data to use. The planner already picks the cheapest hours for overnight charging when you have Tibber configured as your tariff provider (Settings → Tariffs → select Tibber + enter your API key). Is that set up on your end, or are you still running on a fixed price?

BTW, are you running the new app? Ultimate EMS | Homey

I do have Tibber configured on dynamic prices. Running the new app. Bug report;

{
“_report”: “Ultimate EMS Bug Report”,
“_version”: “1.6.18”,
“_generatedAt”: “2026-06-20T16:18:07.537Z”,
“settings”: {
“contract_type”: “dynamic”,
“day_ahead_provider”: “tibber”,
“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”,
“729c0239-90ad-4733-bba2-1b9a179e33d7”,
“2d70378e-64f5-4d60-a5d0-acf550e81c32”
],
“pvMeterPhases”: [
0,
0,
0
],
“hasBattery”: false,
“batteryAutonomous”: false,
“hasEv”: true,
“evDeviceId”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“evChargerId”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“ev_capacity_kwh”: 55,
“ev_default_soc”: 100,
“hasHeatPump”: false,
“hasEvCharger”: true,
“hp_0_phase”: 0,
“hp_1_phase”: 0,
“hp_2_phase”: 0
},
“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”
]
},
{
“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”
]
},
{
“id”: “729c0239-90ad-4733-bba2-1b9a179e33d7”,
“name”: “Zonnepanelen Garage”,
“driverUri”: “”,
“capabilities”: [
“meter_power”,
“measure_power”,
“ct1_type”,
“measure_power_ct1”,
“ct2_type”,
“measure_power_ct2”,
“ct3_type”,
“measure_power_ct3”,
“button.reset_meter”,
“button.reload_capabilities”
]
},
{
“id”: “2d70378e-64f5-4d60-a5d0-acf550e81c32”,
“name”: “Zonnepanelen West”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”
]
},
{
“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”
]
},
{
“id”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“name”: “Pulsar Max SN 1279082”,
“driverUri”: “”,
“capabilities”: [
“locked”,
“evcharger_charging_state”,
“evcharger_charging”,
“meter_power”,
“measure_current”,
“measure_power”,
“status”,
“meter_power.charged”
]
}
],
“liveState”: {
“ready”: true,
“mode”: “auto”,
“pvW”: 326.7,
“gridW”: 63,
“batSoc”: 0,
“batPowerW”: 0,
“netW”: -63,
“evW”: 0,
“status”: “Zon 327W → teruglevering 0W”,
“hpMode”: “cooling”,
“hpOffset”: 0,
“evCharging”: false,
“evCurrentA”: 0,
“evSoc”: 86,
“evConnected”: false,
“evMode”: “solar_only”,
“activeTrip”: null,
“plan”: {
“totalPvKwh”: 15.37,
“totalConsumptionKwh”: 6.1,
“netKwh”: 9.27,
“evNeededKwh”: 7.7,
“batAvailKwh”: 0,
“batMaxChargeKw”: 2.5,
“batMaxDischargeKw”: 2.5,
“hoursToFull”: 0,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 5.52,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 5.29,
“evSolarStartHour”: 12
},
“updatedAt”: “2026-06-20T16:18:07.532Z”
},
“planSummary”: {
“totalPvKwh”: 15.37,
“totalConsumptionKwh”: 6.1,
“netKwh”: 9.27,
“evNeededKwh”: 7.7,
“batAvailKwh”: 0,
“batMaxChargeKw”: 2.5,
“batMaxDischargeKw”: 2.5,
“hoursToFull”: 0,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 5.52,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 5.29,
“evSolarStartHour”: 12
},
“planError”: null,
“evController”: {
“mode”: “solar_only”,
“targetA”: 0,
“phases”: 1,
“minCurrentA”: 5,
“isPeakHour”: false
}
}

Arjen,

All should be fixed, update is ready for you to install.

Thanks Menno! Now on 1.6.19, but now change in EV status

Summary

{
“_report”: “Ultimate EMS Bug Report”,
“_version”: “1.6.19”,
“_generatedAt”: “2026-06-21T08:03:45.048Z”,
“settings”: {
“contract_type”: “dynamic”,
“day_ahead_provider”: “tibber”,
“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”,
“729c0239-90ad-4733-bba2-1b9a179e33d7”,
“2d70378e-64f5-4d60-a5d0-acf550e81c32”
],
“pvMeterPhases”: [
0,
0,
0
],
“hasBattery”: false,
“batteryAutonomous”: false,
“hasEv”: true,
“evDeviceId”: “e136b495-9069-49f6-b9d5-e935621b909e”,
“evChargerId”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“ev_capacity_kwh”: 55,
“ev_default_soc”: 100,
“hasHeatPump”: false,
“hasEvCharger”: true,
“hp_0_phase”: 0,
“hp_1_phase”: 0,
“hp_2_phase”: 0
},
“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”
]
},
{
“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”
]
},
{
“id”: “729c0239-90ad-4733-bba2-1b9a179e33d7”,
“name”: “Zonnepanelen Garage”,
“driverUri”: “”,
“capabilities”: [
“meter_power”,
“measure_power”,
“ct1_type”,
“measure_power_ct1”,
“ct2_type”,
“measure_power_ct2”,
“ct3_type”,
“measure_power_ct3”,
“button.reset_meter”,
“button.reload_capabilities”
]
},
{
“id”: “2d70378e-64f5-4d60-a5d0-acf550e81c32”,
“name”: “Zonnepanelen West”,
“driverUri”: “”,
“capabilities”: [
“measure_power”,
“meter_power”
]
},
{
“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”
]
},
{
“id”: “58250a32-2f8f-482d-b5e7-b6459d44f24e”,
“name”: “Pulsar Max SN 1279082”,
“driverUri”: “”,
“capabilities”: [
“locked”,
“evcharger_charging_state”,
“evcharger_charging”,
“meter_power”,
“measure_current”,
“measure_power”,
“status”,
“meter_power.charged”
]
}
],
“liveState”: {
“ready”: true,
“mode”: “auto”,
“pvW”: 3093.4,
“gridW”: -2461,
“batSoc”: 0,
“batPowerW”: 0,
“netW”: 2461,
“evW”: 0,
“status”: “Zon 3093W → teruglevering 2461W”,
“hpMode”: “cooling”,
“hpOffset”: 0,
“evCharging”: false,
“evCurrentA”: 0,
“evSoc”: 86,
“evConnected”: false,
“evMode”: “solar_only”,
“activeTrip”: null,
“plan”: {
“totalPvKwh”: 20.16,
“totalConsumptionKwh”: 7.3,
“netKwh”: 12.85,
“evNeededKwh”: 7.7,
“batAvailKwh”: 0,
“batMaxChargeKw”: 0,
“batMaxDischargeKw”: 0,
“hoursToFull”: 0,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 0,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 5.29,
“evSolarStartHour”: 10
},
“updatedAt”: “2026-06-21T08:03:45.046Z”
},
“planSummary”: {
“totalPvKwh”: 20.16,
“totalConsumptionKwh”: 7.3,
“netKwh”: 12.85,
“evNeededKwh”: 7.7,
“batAvailKwh”: 0,
“batMaxChargeKw”: 0,
“batMaxDischargeKw”: 0,
“hoursToFull”: 0,
“hoursToEmpty”: 0,
“prio1Feasible”: true,
“hpMode”: “cooling”,
“hasCheapHours”: false,
“hasCheapQuarterSlots”: false,
“cheapQuarterCount”: 0,
“batReserveKwh”: 0,
“batAvailableForEv”: 0,
“avgNightLoadKwh”: 5.29,
“evSolarStartHour”: 10
},
“planError”: null,
“evController”: {
“mode”: “solar_only”,
“targetA”: 0,
“phases”: 3,
“minCurrentA”: 5,
“isPeakHour”: false
}
}

Hi Arjen,

A couple of quick questions to help us debug further:

  1. When you sent the bug report this morning, was the car actually plugged into the Wallbox at that moment? (It doesn’t matter whether it was charging or not — just whether the cable was connected.)
  2. Do you have a Tibber API key filled in under Settings → Contract → API key?