Compare commits

..

No commits in common. "main" and "v_2.4" have entirely different histories.
main ... v_2.4

5 changed files with 25 additions and 14 deletions

1
.github/FUNDING.yml vendored
View file

@ -1,3 +1,2 @@
---
ko_fi: jayjojayson
custom: ["https://www.paypal.me/quadFlyerFW"]

View file

@ -7,7 +7,7 @@
[![Stars](https://img.shields.io/github/stars/jayjojayson/power-flux-card)](https://github.com/jayjojayson/power-flux-card/stargazers)
# Power Flux Card
# Power Flux Card
The ⚡ Power Flux Card is an advanced, animated energy flow card for Home Assistant. It visualizes the power distribution between Solar, Grid, Battery, and Consumers with beautiful neon effects and diffrent animations.
@ -133,7 +133,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.solar_power') | float > 0 %}
--icon-solar-color: #00ff88;
{% else %}
@ -153,7 +153,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.grid_power_combined') | float < 0 %}
--text-grid-color: #ff3333;
{% else %}
@ -173,7 +173,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% set soc = states('sensor.battery_soc') | float %}
{% if soc > 80 %}
--neon-green: #00ff88;
@ -197,7 +197,7 @@ entities:
consumer_1: sensor.wallbox_power
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.wallbox_power') | float > 500 %}
--pipe-consumer-1-color: #a855f7;
--icon-consumer-1-color: #a855f7;
@ -220,7 +220,7 @@ entities:
consumer_1: sensor.wallbox_power
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.solar_power') | float == 0 %}
--icon-solar-color: #555555;
--text-solar-color: #777777;

View file

@ -1820,7 +1820,13 @@ console.log(
const val = parseFloat(state.state);
if (isNaN(val)) return state.state + (state.attributes.unit_of_measurement ? ' ' + state.attributes.unit_of_measurement : '');
const unit = state.attributes.unit_of_measurement || '';
if (unit === 'W') { return this._formatPower(val); } if (unit === 'Wh') { if (Math.abs(val) >= 1000) return (val / 1000).toFixed(2) + ' kWh'; return Math.round(val) + ' Wh'; } if (unit === 'kWh' || unit === 'kW') { return val.toFixed(1) + ' ' + unit; } if (unit.includes('EUR') || unit.includes('ct') || unit.includes('€')) { return val.toFixed(2) + ' ' + unit; } return val.toFixed(1) + (unit ? ' ' + unit : '');
if (unit === 'W' || unit === 'Wh') {
return this._formatPower(val);
}
if (unit === 'kWh' || unit === 'kW') {
return val.toFixed(1) + ' ' + unit;
}
return val.toFixed(1) + (unit ? ' ' + unit : '');
};
// Determine existence of main entities

View file

@ -135,7 +135,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.solar_power') | float > 0 %}
--icon-solar-color: #00ff88;
{% else %}
@ -155,7 +155,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.grid_power_combined') | float < 0 %}
--text-grid-color: #ff3333;
{% else %}
@ -175,7 +175,7 @@ entities:
battery_soc: sensor.battery_soc
card_mod:
style: |
:host {
power-flux-card {
{% set soc = states('sensor.battery_soc') | float %}
{% if soc > 80 %}
--neon-green: #00ff88;
@ -199,7 +199,7 @@ entities:
consumer_1: sensor.wallbox_power
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.wallbox_power') | float > 500 %}
--pipe-consumer-1-color: #a855f7;
--icon-consumer-1-color: #a855f7;
@ -222,7 +222,7 @@ entities:
consumer_1: sensor.wallbox_power
card_mod:
style: |
:host {
power-flux-card {
{% if states('sensor.solar_power') | float == 0 %}
--icon-solar-color: #555555;
--text-solar-color: #777777;

View file

@ -820,7 +820,13 @@ console.log(
const val = parseFloat(state.state);
if (isNaN(val)) return state.state + (state.attributes.unit_of_measurement ? ' ' + state.attributes.unit_of_measurement : '');
const unit = state.attributes.unit_of_measurement || '';
if (unit === 'W') { return this._formatPower(val); } if (unit === 'Wh') { if (Math.abs(val) >= 1000) return (val / 1000).toFixed(2) + ' kWh'; return Math.round(val) + ' Wh'; } if (unit === 'kWh' || unit === 'kW') { return val.toFixed(1) + ' ' + unit; } if (unit.includes('EUR') || unit.includes('ct') || unit.includes('€')) { return val.toFixed(2) + ' ' + unit; } return val.toFixed(1) + (unit ? ' ' + unit : '');
if (unit === 'W' || unit === 'Wh') {
return this._formatPower(val);
}
if (unit === 'kWh' || unit === 'kW') {
return val.toFixed(1) + ' ' + unit;
}
return val.toFixed(1) + (unit ? ' ' + unit : '');
};
// Determine existence of main entities