Based on the amazing work by fbradyirl and others here with numerous changes/fixes.
Important
This card assumes the following are installed (e.g. via HACS):
- Sigenergy Local Modbus integration
- Button Card
- A Solar Forecast Integration like Solcast or Forecast.solar
- Sigen Plant > Controls > Remote EMS Control Mode
- Sigen Inverter > Diagnostic > Available Battery Charge Energy
i. Sigen Plant Battery usable capacity
Name:
Sigen Plant Battery usable capacity
State:{{ (states('sensor.sigen_plant_rated_energy_capacity')|float(0) - states('sensor.sigen_inverter_available_battery_charge_energy')|float(0))|round(2) }}Unit:
kWh
Device Class:Energy
State Class:Total
Device:Sigen Plant(optional)
Availability template:{{ has_value('sensor.sigen_plant_rated_energy_capacity') and has_value('sensor.sigen_inverter_available_battery_charge_energy') }}
ii. Sigen Plant Battery time remaining
Name:
Sigen Plant Battery time remaining
State:{% set capacity = states('sensor.sigen_plant_rated_energy_capacity') | float(0) %} {% set power = states('sensor.sigen_plant_battery_power') | float(0) %} {% set usable = states('sensor.sigen_plant_battery_usable_capacity') | float(0) %} {% set remaining = capacity - usable if power >= 0 else usable %} {% if remaining > 0 and power != 0 %} {% set t = remaining / power | abs %} {% set h = t | int %} {% set m = ((t - h) * 60) | int %} {{ '24h+' if h >= 24 else (h ~ 'h ' if h > 0 else '') ~ (m ~ 'm' if m > 0) }} until {{ 'charged' if power > 0 else 'empty' }} {% endif %}Device:
Sigen Plant(optional)
Availability template:{{ has_value('sensor.sigen_plant_rated_energy_capacity') and has_value('sensor.sigen_plant_battery_usable_capacity') and has_value('sensor.sigen_plant_battery_power') }}
Copy the images into your Home Assistant /config/www/
In your Dashboard, add a new manual card and paste the yaml from ha-sigenergy-card.yaml Note: Yes it would be a lot simpler with templates, but left it as one file for easy copy and paste.
THis will work for Solcast; modify the entity_id to match a different solar forecast entity. (Search the card for solcast)
Note
- Reminaing time (to charged/empty) only displays if time < 24 hours
- the card width is auto (not defined) to fill the UI space, but the elements are arranged on the left to fit my smartphone screen width.
Please let me know if something isn't working.