-
-
Save fbradyirl/08fef90bd11d7bdddf588a56e668d879 to your computer and use it in GitHub Desktop.
| type: custom:button-card | |
| show_state: true | |
| tap_action: none | |
| custom_fields: | |
| home_image: | |
| card: | |
| type: picture | |
| image: local/Sigenergy/home_has_solar_has_car.png | |
| card_mod: | |
| style: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| sigenstor_home_image: | |
| card: | |
| type: picture | |
| image: local/Sigenergy/sigenstor_home.png | |
| card_mod: | |
| style: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ammeter_home_image: | |
| card: | |
| type: picture | |
| image: local/Sigenergy/ammeter_home.png | |
| card_mod: | |
| style: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ac_charger_bg_image: | |
| card: | |
| type: picture | |
| image: local/Sigenergy/ac_charger_bg.png | |
| card_mod: | |
| style: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| pv_power: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: "{{states('sensor.sigen_inverter_pv_power') | round(1) }}kW" | |
| secondary: SOLAR | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| load_power: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: "{{states('sensor.sigen_plant_consumed_power') | round(1) }}kW" | |
| secondary: HOME | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| grid_power: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set import = states('sensor.sigen_plant_grid_import_power') | | |
| round(1) %} {% set export = | |
| states('sensor.sigen_plant_grid_export_power') | round(1) %} {% if | |
| import > 0 %} | |
| {{ import }}kW | |
| {% elif export > 0 %} | |
| {{ -export }}kW | |
| {% else %} | |
| 0 | |
| {% endif %} | |
| secondary: | | |
| GRID | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| grid_flow_label: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set import = states('sensor.sigen_plant_grid_import_power') | | |
| round(1) %} {% set export = | |
| states('sensor.sigen_plant_grid_export_power') | round(1) | |
| %} {% if import > 0 %} | |
| Importing | |
| {% elif export > 0 %} | |
| Exporting | |
| {% else %} {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 12px !important; | |
| font-weight: bold !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| color: lightgray !important; | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| battery_soc: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set soc = states('sensor.sigen_plant_battery_state_of_charge') %} {% | |
| set soc_power = states('sensor.sigen_plant_battery_power') | round(1) | |
| %} | |
| {% if soc_power != 0 %} | |
| {{ soc_power | abs }}kW · {{ soc }}% | |
| {% else %} | |
| {{ soc }}% | |
| {% endif %} | |
| secondary: SigenStor | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| overflow: visible !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| battery_discharge_label: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set soc = states('sensor.sigen_plant_battery_state_of_charge') %} {% | |
| set soc_power = states('sensor.sigen_plant_battery_power') | round(1) | |
| %} | |
| {% if soc_power < 0 %} | |
| Discharging | |
| {% else %} | |
| {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 12px !important; | |
| font-weight: bold !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| color: lightgreen !important; | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| battery_charge_label: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set soc = states('sensor.sigen_plant_battery_state_of_charge') %} {% | |
| set soc_power = states('sensor.sigen_plant_battery_power') | round(1) | |
| %} | |
| {% if soc_power == 0 %} | |
| {% else %} | |
| {% if soc_power > 0 %} | |
| Charging | |
| {% endif %} | |
| {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 12px !important; | |
| font-weight: bold !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| color: red !important; | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ev_soc: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set power = states('sensor.buzz_lightgear_charger_power') | float %} | |
| {% set soc = states('sensor.buzz_lightgear_battery') %} {% set range = | |
| states('sensor.buzz_lightgear_range') | round(0) %} {% if power > 0 %} | |
| {{ power }}kW - {{ soc }}% ({{ range }}km) | |
| {% else %} | |
| {{ soc }}% ({{ range }}km) | |
| {% endif %} | |
| secondary: > | |
| {% set soc = states('sensor.buzz_lightgear_battery') %} {% if soc == | |
| 'unknown' %} | |
| Car Asleep | |
| {% else %} | |
| Buzz Lightgear | |
| {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| water_diverter_power: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set power = states('sensor.sigen_2024052302935_smart_home_1_power') | | |
| float %} {% if power > 0 %} | |
| {{ power | round(2) }}kW | |
| {% else %} | |
| {% endif %} | |
| secondary: > | |
| {% set power = states('sensor.sigen_2024052302935_smart_home_1_power') | | |
| float %} {% if power > 0 %} | |
| 🛁 Heating | |
| {% else %} | |
| {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ev_ac_power: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set acrunstatus = | |
| states('sensor.sigen_ac_charger_system_state').split('-')[0] %} {% set | |
| amps = states('number.sigen_ac_charger_charger_output_current') %} | |
| {% if acrunstatus == 'Charging' %} | |
| {{ states('sensor.sigen_ac_charger_charging_power') }} kW ({{ amps | float | round(0) | int }}A) | |
| {% else %} | |
| {{ acrunstatus }} | |
| {% endif %} | |
| secondary: | | |
| AC CHARGER | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 14px !important; | |
| font-weight: bold !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .secondary { | |
| font-size: 12px !important; | |
| color: gray !important; | |
| position: relative; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ev_charging_label: | |
| card: | |
| type: custom:mushroom-template-card | |
| primary: > | |
| {% set soc_power = states('sensor.buzz_lightgear_charger_power') | float | |
| %} | |
| {% if soc_power > 0 %} | |
| Charging | |
| {% else %} | |
| {% endif %} | |
| multiline_secondary: false | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 12px !important; | |
| font-weight: bold !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| color: red !important; | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| ev_charging_icon: | |
| card: | |
| type: custom:mushroom-template-card | |
| icon: >- | |
| {% set soc_power = states('sensor.buzz_lightgear_charger_power') | float | |
| %} | |
| {% if soc_power > 0 %} | |
| mdi:lightning-bolt | |
| {% endif %} | |
| icon_color: >- | |
| {% set soc_power = states('sensor.buzz_lightgear_charger_power') | float | |
| %} | |
| {% if soc_power > 0 %} | |
| red | |
| {% endif %} | |
| fill_container: false | |
| card_mod: | |
| style: | |
| mushroom-state-info$: | | |
| .primary { | |
| font-size: 12px !important; | |
| font-weight: bold !important; | |
| letter-spacing: -0.1px !important; /* Reduce letter spacing */ | |
| color: lightgreen !important; | |
| position: relative; | |
| overflow: visible !important; | |
| text-align: left; | |
| } | |
| .: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| } | |
| vertical_line: | |
| card: | |
| type: custom:button-card | |
| card_mod: | |
| style: | | |
| ha-card { | |
| background-color: transparent; | |
| border: none; | |
| position: relative; | |
| width: 1px; | |
| height: 110px; /* Adjust height as needed */ | |
| background-color: gray; /* Light gray background */ | |
| overflow: hidden; | |
| animation: rotation 2s linear infinite; | |
| } | |
| .line { | |
| position: absolute; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(0deg, green 50%, transparent 50%); | |
| background-size: 100% 200%; | |
| } | |
| @keyframes rotation { | |
| 0% { | |
| transform: rotate(0deg); | |
| } | |
| 100% { | |
| transform: rotate(00deg); | |
| } | |
| } | |
| styles: | |
| card: | |
| - align-self: start | |
| - height: > | |
| [[[ return states['input_number.sigen_home_card_height'].state + 'px'; | |
| ]]] | |
| - opacity: 1 | |
| - background-color: transparent | |
| - border: none | |
| custom_fields: | |
| home_image: | |
| - position: absolute | |
| - top: 5px | |
| - left: 10px | |
| - width: 395px | |
| sigenstor_home_image: | |
| - position: absolute | |
| - top: 5px | |
| - left: 10px | |
| - width: 395px | |
| ammeter_home_image: | |
| - position: absolute | |
| - top: 5px | |
| - left: 10px | |
| - width: 395px | |
| ac_charger_bg_image: | |
| - position: absolute | |
| - top: 5px | |
| - left: 10px | |
| - width: 395px | |
| pv_power: | |
| - position: absolute | |
| - top: 15px | |
| - left: 210px | |
| - width: 100px | |
| load_power: | |
| - position: absolute | |
| - top: 15px | |
| - left: 300px | |
| - width: 100px | |
| water_diverter_power: | |
| - position: absolute | |
| - top: 110px | |
| - left: 130px | |
| - width: 100px | |
| grid_power: | |
| - position: absolute | |
| - top: 300px | |
| - left: 300px | |
| - width: 100px | |
| grid_flow_label: | |
| - position: absolute | |
| - top: 335px | |
| - left: 300px | |
| - width: 100px | |
| battery_soc: | |
| - position: absolute | |
| - top: 300px | |
| - left: 175px | |
| - width: 100px | |
| battery_discharge_label: | |
| - position: absolute | |
| - top: 335px | |
| - left: 175px | |
| - width: 100px | |
| battery_charge_label: | |
| - position: absolute | |
| - top: 335px | |
| - left: 175px | |
| - width: 100px | |
| ev_soc: | |
| - position: absolute | |
| - top: 300px | |
| - left: 20px | |
| - width: 100px | |
| ev_ac_power: | |
| - position: absolute | |
| - top: 15px | |
| - left: 20px | |
| - width: 100px | |
| ev_charging_label: | |
| - position: absolute | |
| - top: 335px | |
| - left: 20px | |
| - width: 100px | |
| ev_charging_icon: | |
| - position: absolute | |
| - top: 245px | |
| - left: 10px | |
| - width: 100px | |
| vertical_line: | |
| - position: absolute | |
| - top: 47px | |
| - left: 305px | |
| - width: 1px | |
| - height: 100px |
Hi,
I do not use Sigenergy modbus myself, I assume you do?
Can you please create an Issue on the github explaining in detail every step you took? Possibly with screenshots of the issues you're facing and the entities you used?
You're right about needing to add more battery pack entity slots.
Yes I know about HAEO, however I personally use EMHASS.
As I wrote earlier:
"EMHASS Support
The dashboard includes EMHASS forecast visualization. One of our Australian beta testers even successfully used HAEO by mapping their HAEO entities to the EMHASS fields."
You should probably experiment with the Settings View and setting additional entities there yourself, if you use the Sigenergy Use Default Entities toggle in the Config flow.
Thanks!
Which integration are you using for querying Sigenergy modbus registers? I actually installed it upon a fresh HA with the MQTT based integration, but none sensors where found/mapped using the 'auto detect' function. Instead I've disabled this, wiped the sensors from HA and installed the modbus integration, following which your integration was able to auto detect most of the sensors.
Main obvious issue atm is that no matter is power sensors are set to use unit of measurement is W or kW, the inverter / inverter details shows it as W (i.e. 2kW shows as 2W) and the flow directions are back to front. For instance Battery currently discharging -2.15kW (kW showing correctly on the house image) but the flow animation is showing it Charging.
As above, wondering re the SoC per battery module, Grid Voltage, Battery Current and the 'Battery # Details' card, as there's currently no modbus registers for this to be queried? Or are you somehow getting them another way?
I'm going to push an update soon.
You should use this integration for sigenergy modbus integration: https://my.home-assistant.io/redirect/hacs_repository/?owner=TypQxQ&repository=Sigenergy-Local-Modbus&category=Integration
Furthermore, you can change entitites and additioanl functions in the Settings view (the wheel button top left, second button).
Why is your House image card white? The integration uses the black one as far as I know.
Please update to Version 2.5.0 and restart HA.
Most of your issues should be fixed.
You may want to remove Genergy completely, re-add to HACS and fresh install.
https://github.com/SpengeSec/Genergy-Dashboard?tab=readme-ov-file#changelog
Moved to: SpengeSec/Genergy-Dashboard#1
@SpengeSec
Great work / thank you. Just installed and I noticed that whilst the setup page reads the 'Power' sensors and shows them as (say) 1.96kW, that on the dashboard it is showing all the power sensors in Watts. So the Inverter Active Power / Solar Power for instance at 1.96kW is showing as '2W'.
Also using the sensor.sigen_plant_battery_power and the dash is showing the power flow the wrong way around. Currently -0.3kW which is discharging, but the dash is showing it as charging.
Also a bit confused as to Battery Current, Battery Pack 1-4 (no 5 & 6?) SoC, Grid Voltage, Inverter Temp (vs the PCS Temp) ... are these for future, as I've not seen these available in Sigenergy modbus registers?
BTW apart from EMHASS, have you seen: