máte tam hodně sensorů můžete to prosím popsat co se v nich očekává za hodnoty? abych to lépe aplikoval na můj kod?
raději bych ale právě uvítal aby přímo nanogreen posílal data o té konečné ceně s distribucí a s dph
czk_price_per_kwh
je OTE cena v Kč, nakup_elektriny_poplatky
je poplatek Nanogreen, zbytek jsou regulované poplatky jak jsou na vyúčtování (nakup_elektriny_distribuce
, nakup_elektriny_systemove_sluzby
, nakup_elektriny_podpora_oze
). Každé z toho je pomocník číslo, takže se to při změně snadno zadává.
no ale czk_price_per_kwh
nakup_elektriny_poplatky
berete odkud? to nejsou pomocníci asi…
Aplikace dalších poplatků · Issue #5 · nanogreencz/homeassistant-integrations · GitHub tady je na to požadavek už dlouho
umíte někdo prosím modifikovat aby v sensorech sensor.is_currently_in_two_cheapest_hours, sensor.is_currently_in_three_cheapest_hours, …
se počítalo také s tím že od 22 hodin do 6 hodin je jiná cena distribuce a to o hodně. Rozdíl je třeba 0,5 Kč za kwh VS 2 Kč za kwh.
Když je teď v poslední době silová složka prakticky levná v průměru za celý den tak bohužel sensor se zapíná třeba ve dne kdy mám pekelně drahou distribuci a je to potom na nic
Mam staticke VT/NT a tak jsem to vyresil tim, ze jsem si v NodeRedu vytvoril real price sensor. Flow vypada takhle:
[{"id":"e50aed3eab1112d0","type":"api-current-state","z":"b939cfccc04f66c5","name":"current price","server":"6bec9d55.e00e34","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.current_market_price_czk_kwh","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":310,"y":1080,"wires":[["a06004e071a1ce84"]]},{"id":"a3201b9d3aed610d","type":"inject","z":"b939cfccc04f66c5","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"300","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":1080,"wires":[["e50aed3eab1112d0"]]},{"id":"a06004e071a1ce84","type":"function","z":"b939cfccc04f66c5","name":"real price","func":"var inputPrices = msg.data.attributes.today_hourly_prices;\nvar distributionFeeHigh = 0.648;\nvar distributionFeeLow = 0.438;\nvar ozeFee = 0.495;\nvar providerFee = 0.35;\nvar tax = 1.21;\n\nvar modifiedPrices = inputPrices.map(function (price, index) {\n var distributionFee;\n\n if (\n (index >= 0 && index <= 6) || // Hodiny 00:00 - 06:00\n (index >= 10 && index <= 13) || // Hodiny 10:00 - 13:00\n (index >= 17 && index <= 24) // Hodiny 17:00 - 24:00\n ) {\n // Použij distributionFeeLow pro určené hodiny\n distributionFee = distributionFeeLow;\n } else {\n // Použij distributionFeeHigh pro všechny ostatní hodiny\n distributionFee = distributionFeeHigh;\n }\n\n var totalPrice = (price + distributionFee + ozeFee + providerFee) * tax;\n\n return totalPrice.toFixed(2); // Zaokrouhleno na 2 desetinná místa\n});\n\nvar currentHour = new Date().getHours();\nvar currentPrice = modifiedPrices[currentHour];\n\nvar today_hourly_prices = modifiedPrices.join(', '); // Spojení hodnot do řetězce odděleného čárkami\n\nvar sensorData = {\n payload: {\n // payload: currentPrice,\n state: currentPrice,\n data: { \n entity_id: \"sensor.real_market_price_czk_kwh\",\n state: currentPrice,\n attributes: {\n today_hourly_prices: today_hourly_prices\n },\n unit_of_measurement: \"CZK/kWh\",\n friendly_name: \"Real market price [CZK/kWh]\" \n }\n }\n};\n\nvar mqttMsg = {\n topic: \"topic/sensor_real_price\", // Změňte na správný MQTT topic\n payload: JSON.stringify(sensorData.payload)\n};\n\nreturn [sensorData, mqttMsg];\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":500,"y":1080,"wires":[["089de8054dc51f60"]]},{"id":"089de8054dc51f60","type":"mqtt out","z":"b939cfccc04f66c5","name":"","topic":"topic/sensor_real_price","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"541f6f06c1c46029","x":710,"y":1080,"wires":[]},{"id":"6bec9d55.e00e34","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"541f6f06c1c46029","type":"mqtt-broker","name":"broker","broker":"192.168.1.123","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
a pak jsem si v HA vytvoril mqtt senzor do ktereho se to odesila:
mqtt:
sensor:
- name: "Real Price CZK/kWh"
state_topic: "topic/sensor_real_price"
unit_of_measurement: "CZK/kWh"
value_template: "{{ value_json.state }}"
json_attributes_topic: "topic/sensor_real_price"
json_attributes_template: >
{% set values = value_json.data.attributes.today_hourly_prices.split(', ') %}
{"today_hourly_prices": {{ values | tojson }}}
Rozhodnuti, jestli je nejlevnejsi hodina nebo ne pak delam zase v nodeRed pres function node. ChatGPT vetsinou rychle vyresi za me
Já to teď dodělal složitěji, nemám statické VT/NT. Na stav HDO mám integraci EGD Distribuce CZ, kde je i příklad sensoru ceny za distribuci.
Pak jsem si dodělal pomocníky (input_number) s cenami POZE, systémové služby a měsíční poplatky (tuto cenu jako jedinou nemám přesně, prostě jsem použil dlouhodobý průměr kWh za den a přepočítal to). Pak už jen value template sensor, který mi to sečte a vynásobí 1,21, abych měl cenu s daní. A rázem je z krásných 2,38 Kč/kWh částka 5,5 Kč/kWh.
Je to “skvělý”, jak to ta regulovaná část pošle úplně někam jinam… Do budoucna se ale chystá přesun za distribuci do fixní platby (ala jističe), takže se poplatky za kWh pravděpodobně budou snižovat a bude vznikat i nějaký day-ahead ceny za distribuci. Což neznamená, že budeme platit někde mít - u distribuce to bude vždycky jen stoupat
jen to bude schovaný někde jinde.
to je špatná zpráva pro všechny majitele FVE pač paušál je největší zlo od března do prosince
Díky za návod. Udělal jsem si druhý graf, kde počítám vůči předpoklásané ceně virtuálky a vůči ceně tepla z plynu vs. TČ
Musel jsem trochu upravit ten graf. “y” osa byla škálovaná od nuly, takže to nezobrazovalo záporné ceny, které jsou pro mne, jako pro solárního barona, docela kritické.
Pořád nemohu rozchodit automatiky používající ty binární sensory a nikde nevidím ani příklad, podle kterého bych to zbastlil.
V nejjednodušším případě mi jde o to, abych např. sepnul bojler v nejlevnější hodinu. Editor mi nabízí sensor.is_currently_cheapest_hour , ale nenabízí mi, jaké stavy má vracet. Zkoušel jsem všechno možné a nic se nechytilo.
Když zkusím binary_sensor. , tak mi HA nenabídne žádný sensor z DeltaGreen integrace.
Co s tím?
description: “pust neco”
mode: single
trigger:
- platform: state
entity_id:- sensor.is_currently_cheapest_hour
from: “off”
to: “on”
condition:
action: …
- sensor.is_currently_cheapest_hour
Pokorně jsem se zase vrátil k
(pár dní po napsání předchozího postu, když jsem neviděl odezvu)
fungovalo mi to předtím, funguje to dál.
K Nano se přidám, až budou poskytovat lepší podmínky nejen Victronům, ale i integracím s HA. Pak to budu nějak řešit. Třeba jim to pak bude i fungovat.
Dobrý den, integraci jsem úspěšně rozchodil včetně grafu…
Chci se zeptat zda plánujete přidat entity nejdražší hodina, druhá nejdražší hodina dne atd? Je to zásadní pro jednoduchou implementaci vypínání největších spotřeb v domě například boiler, vytápění…
Předem děkuji za odpověď.
Já mám stavy jako: on a off
však to tam je přeci, jako binar sensor (tedy on/off), entity jako Is currently cheapest hour
Zdravím, používám taky integraci EGD. Můžete sem prosím napsat svůj kód value template sensoru? Jednotlivé poplatky už v HA vedu jako input_number a cenu VT/NT mám aktuální dle integrace, ale nedaří se mi je sečíst a pak používat třeba v panelu Energie pro přesnější ceny. Díky moc
Zdravím,
- platform: template
sensors:
cena_elektriny_komplet:
friendly_name: "Cena elektřiny komplet"
unique_id: cena_elektriny_komplet
unit_of_measurement: "Kč/kWh"
value_template: "{{ (((states('sensor.cena_distribuce_eg_d') | float) + (states('sensor.current_consumption_price_czk_kwh') | float) + (states('input_number.cena_mesicni_poplatky') | float) + (states('input_number.cena_za_systemove_sluzby') | float) + (states('input_number.dan_z_elektriny') | float) + (states('input_number.cena_poze_dle_spotreby') | float)) * 1.21) | round(2) }}"