Closed rattkin closed 1 year ago
device_class
!= state_class
.
device_class: monetary
je validní., ale používá se pro peněžní částky. Pro cenu za kilowatthodinu je špatně.
Dokumentace k state_class: measurement
: https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics
S tím apexcharts bude možná problém ještě někde jinde.
Jaký je stav entity sensor.current_spot_electricity_price
podle developer tools?
@ondras12345 děkuji, právě že nevidím chybu a problém má víc lidí. Updated bylo v 20:00, teď je 20:38, každou hodinu to chodí dobře
Ukažte konfiguraci apexcharts grafu
@ondras12345
graph_span: 2d
span:
start: day
series:
- entity: binary_sensor.hdo
float_precision: 2
unit: kč/kWh
show:
in_header: raw
data_generator: >
return Object.entries(entity.attributes.HDO_HOURLY).map(([date, value],
index) => {
return [new Date(date).getTime(), value];
});
- entity: sensor.current_spot_electricity_price
float_precision: 2
show:
in_header: raw
data_generator: |
return Object.entries(entity.attributes).map(([date, value], index) => {
return [new Date(date).getTime(), (value + 0.35 + 0.028 + 0.114 )* 1.21];
});
type: custom:apexcharts-card
graph_span: 2d
header:
show: true
show_states: true
span:
start: day
series:
- entity: sensor.current_spot_electricity_price
float_precision: 2
show:
in_header: raw
data_generator: |
return Object.entries(entity.attributes).map(([date, value], index) => {
return [new Date(date).getTime(), (value + 0.35 + 0.028 + 0.114 )* 1.21];
});
Tohle mi cenu v záhlaví aktuální hodnotu ukazuje:
(Home Assistant 2023.10.3, Czech Energy Spot Prices 0.6.1, apexcharts-card v2.0.4)
@ondras12345 když zapnu header, tak se tam ukazuje hodnota spotu, ale HDO je NaN.. obráceně než v zápatí.. 🤷 Váš příklad mi chodí... Mě to taky ukazuje, ale jen někdy, chvíli, pak tam skočí NaN. verze software mi sedí.
@ondras12345 tak jsem to rozchodil nějakou manipulací s tím co je/není raw
spot musí být raw
ale hdo nesmí být.
Důvod je v jednotkách, nebo device_class?
Opravil jsem oboje na straně HDO a funguje to.
Apexcharts-card device_class
ani nečte.
Ta HDO entita je binary_sensor
, takže s raw
určitě nebude zobrazovat číslo (její stav je "on"/" off"). Tam to NaN možná vzniká kvůli tomu, že je v konfiguraci grafu přidáno unit
- tu binární hodnoty mít nemají, možná se v takovém případě karta pokouší o konverzi na číslo. Bez raw
se asi bere hodnota z data_generator
, to už číslo je.
Každopádně to není problém s touto integrací. Ta sice chybně používá device_class: monetary
pro cenu za kWh (takže issue nezavírat), ale to není příčinou vašich problémů.
U spotu zkuste
show:
in_header: before_now
místo raw
, pokud chcete zobrazovat přepočítanou cenu z data_generator
.
@ondras12345 dík já se to časem naučím.
Mám udělat PR který zde odebere device_class: monetary
?
mám dát něco jiného místo toho?
Mám udělat PR který zde odebere
device_class: monetary
?
To je otázka na @rnovacek
mám dát něco jiného místo toho?
Na seznamu validních device_class
pro sensor nevidím žádnou vhodnou hodnotu, takže asi ne.
ten binary sensor hdo máš jako tabulku, nebo pin sensor? pokud tabulku, prosím vložit. díky
Snažím se přičítat ke spotovým cenám ještě cenu za distribuci podle HDO
nezdá se mi
monetary
udevice_class
Nevím zda je to podporované u HA. https://github.com/home-assistant/core/issues/86780asi by měl být
device_class
všudemeasurement
protože to není akumulace vydělaných/utracených peněz, ale měření aktuální ceny.Je to v souboru custom_components/cz_energy_spot_prices/sensor.py:227
Podle mne je to důvod, proč entita
sensor.current_spot_electricity_price
se v apex grafu ukazuje jako NaN