Closed JacobsenKim closed 7 months ago
@JacobsenKim Fedt. Endnu engang tak for dit input. Det er så meget mere effektivt at have en at spare med. Jeg vil så gerne give dig lidt "street credit" så du kan blive noteret som "contributor" i det mindste. Jeg havde håbet på en løsning der kunne holdes i huawei_solar_pees_input.yaml, således at man slet ikke skal ind i "original" filen huawei_solar_pees.yaml og rode og sådan den er lige til at udskifte 1:1. Har ikke testet, men tænker måske at din løsning er lige til at overføre. Kunne man ikke også "nøjes" med input_text. Så skal man ikke angive min, max m.v. Tanken var at jeg skal have lavet et felt til Lovelace card hvor man skriver navnet på sin pris sensor og så "fungerer det".
Alle mine delta prissensorer _tt
er afhængige af prissensoren som trigger. Muligvis har du kontrolleret at det virker - du nævnte noget om at priserne opdaterede? Jeg vil gerne bruge lidt tid på at undersøge regex_replace - det ville være et meget "clean cut", hvis muligt.
PS: Med "clean" så mener jeg at pris sensoren bliver sat ind i huawei_solar_pees.yaml, så der ikke er en omvej (til _input.yaml) når den først er sat, men det kan være at jeg har misforstået hvorledes regex_replace fungerer.
Arbejder på en template sensor der default heder energi_dat_service. Tænkte at det vil være elegant til de der ikke har meget forstand på HA eller yaml at de bare kunne installere unde at skulle sætte noget op. Men kan ikke få den til at hente prisen fra sensor navngivet med input_text.
i _pees_input.yaml
input_text: ## ------------------ ## Electricity Prices electricity_price_import: name: "Electricity Price Import" electricity_price_export: name: "Electricity Price Export"
i _pees.yaml
template: - sensor: ## ------------------ ## Electricity Prices - name: "Electricity Price Import (ts)" unique_id: electricity_price_import_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_import', '') %} {% set price_import = states('input_text.electricity_price_import') %} {{ states('price_import') | float(0) }} {% else %} {{ states('sensor.energi_data_service') | float(0) }} {% endif %} - name: "Electricity Price Export (ts)" unique_id: electricity_price_export_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_export', '') %} {% set price_export = states('input_text.electricity_price_export') %} {{ states('price_export') | float(0) }} {% else %} {{ states('sensor.energi_data_service_salg') | float(0) }} {% endif %}
@JacobsenKim Jeg tror at jeg har "knækket koden". Nogle gange skal man bare prøve det det virker for enkelt til at være sandt... ingen automatisation eller behov for genstart, med fallback til energi data service... Havde ikke fantasi til at forestille mig at states af states ville fungere... Det var lidt tricky med is not is_states... ' '
fordi has_value
virker ikke - den siger der er en værdi selvom at input_text er tomt.
_pees_input.yaml
input_text: ## ------------------ ## Electricity Prices electricity_price_import: name: "Electricity Price Import" electricity_price_export: name: "Electricity Price Export"
_pees.yaml
template: - sensor: ## ------------------ ## Electricity Prices - name: "Electricity Price Import (ts)" unique_id: electricity_price_import_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_import', '') %} {{ states ( states('input_text.electricity_price_import')) | float(0)}} {% else %} {{ states('sensor.energi_data_service') | float(0) }} {% endif %} - name: "Electricity Price Export (ts)" unique_id: electricity_price_export_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_export', '') %} {{ states ( states('input_text.electricity_price_export')) | float(0)}} {% else %} {{ states('sensor.energi_data_service_salg') | float(0) }} {% endif %}
Fedt. Endnu engang tak for dit input. Det er så meget mere effektivt at have en at spare med. Jeg vil så gerne give dig lidt "street credit" så du kan blive noteret som "contributor" i det mindste. Jeg havde håbet på en løsning der kunne holdes i huawei_solar_pees_input.yaml, således at man slet ikke skal ind i "original" filen huawei_solar_pees.yaml og rode og sådan den er lige til at udskifte 1:1.
bare flyt koden ind i den fil du vil have den i., koden er faktisk lavet i huawei_solar_pees_input.yaml, også flyttet over i pees da jeg tænkte det var der priserne var brugt, men bare flyt de 2 input_number sensor og auto over i huawei_solar_pees_input.yaml,
Alle mine delta prissensorer _tt er afhængige af prissensoren som trigger. Muligvis har du kontrolleret at det virker - du nævnte noget om at priserne opdaterede?
ja alt kører som før, de 2 sensor her bliver opdateret med prisen fra pris sensor, hver gang pris sensor ændre pris og når HA starter så prisen altid er 1til1 med pris sensor.
# ------------
# input_number
# ------------
input_number:
# IMPORT PRICE SENSOR FOR PEES set by automation PEES Update Import Price Sensor
import_price_sensor:
name: Import Price
icon: mdi:cash-minus
unit_of_measurement: "DDK"
min: -100
max: 100
step: 0.1
mode: box
# EXPORT PRICE SENSOR FOR PEES set by automation PEES Update Export Price Sensor
export_price_sensor:
name: Export Price
icon: mdi:cash-plus
unit_of_measurement: "DDK"
min: -100
max: 100
step: 0.1
mode: box
De 2 sensor er så indsat in koden som energi sensor, så man ikke skal rode i koden men kun automation
Ang. automation, det er muligt at have den i en seperat fil, når det hele er startet op kan man gå ind i automation og migrere automation, der efter slette filen, nu kan man ændre sensor via automation gui siden i HA. Det er kun hvis som mig kører med med anden sensor end EnergiData
automation:
# IMPORT PRICE SENSOR FOR PEES
- id: '1707675434179'
alias: PEES Update Import Price Sensor
description: Update Import Price Sensor for PEES input_number.import_price_sensor
trigger:
- platform: state
entity_id:
- sensor.nordpool_kwh_dk1_dkk_2_095_025 # Update with your import price sensor
- platform: homeassistant
event: start
condition: []
action:
- service: input_number.set_value
target:
entity_id: input_number.import_price_sensor
data:
value: "{{ states('sensor.nordpool_kwh_dk1_dkk_2_095_025') }}" # Update with your import price sensor
mode: single
# EXPORT PRICE SENSOR FOR PEES
- id: '1707675434279'
alias: PEES Update Export Price Sensor
description: Update Export Price Sensor for PEES input_number.export_price_sensor
trigger:
- platform: state
entity_id:
- sensor.nordpool_kwh_dk1_dkk_5_095_0 # Update with your export price sensor
- platform: homeassistant
event: start
condition: []
action:
- service: input_number.set_value
target:
entity_id: input_number.export_price_sensor
data:
value: "{{ states('sensor.nordpool_kwh_dk1_dkk_5_095_0') }}" # Update with your export price sensor
mode: single
Men jeg vil da lige prøve den text_input ting og se om den kan tage sensoren rent.
Jeg forstår ikke hvordan du vil benytte regex, da den jo skal kigge efter en sensor vi ikke kender. (hvad den skal søge efter er vel den sensor brueren skriver ind og det kan være alt muligt.
@JacobsenKim Jeg har lige opdateret alpha_004. Prøv lige at hente den ned derfra - inkl. card og input. Der var rettelse som lige er commited. Vi har kun _sale og ikke _salg :-).
PS: Har kun kontrolleret i TEMPLATE.
@JacobsenKim Jeg tror at jeg har "knækket koden". Nogle gange skal man bare prøve det det virker for enkelt til at være sandt... ingen automatisation eller behov for genstart, med fallback til energi data service... Havde ikke fantasi til at forestille mig at states af states ville fungere... Det var lidt tricky med
is not is_states... ' '
fordihas_value
virker ikke - den siger der er en værdi selvom at input_text er tomt._pees_input.yaml
input_text: ## ------------------ ## Electricity Prices electricity_price_import: name: "Electricity Price Import" electricity_price_export: name: "Electricity Price Export"
_pees.yaml
template: - sensor: ## ------------------ ## Electricity Prices - name: "Electricity Price Import (ts)" unique_id: electricity_price_import_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_import', '') %} {{ states ( states('input_text.electricity_price_import')) | float(0)}} {% else %} {{ states('sensor.energi_data_service') | float(0) }} {% endif %} - name: "Electricity Price Export (ts)" unique_id: electricity_price_export_ts unit_of_measurement: DKK state_class: measurement state: > {% if not is_state('input_text.electricity_price_export', '') %} {{ states ( states('input_text.electricity_price_export')) | float(0)}} {% else %} {{ states('sensor.energi_data_service_salg') | float(0) }} {% endif %}
Har lige prøvet din metode og det ser ud til at virke
@JacobsenKim Det er klart en MAJOR 2.0 det her :-). No backwords compatibility - YES! :-). Skal få kigget på fejlen med economy sensorerne ifm. opstart nu.
@JacobsenKim Det er klart en MAJOR 2.0 det her :-). No backwords compatibility - YES! :-). Skal få kigget på fejlen med economy sensorerne ifm. opstart nu.
:+1:
Har leget lidt med input_text metoden og det virker bare som det skal i templates:-D
Tilføjet ikon
input_text:
## ------------------
## Electricity Prices
electricity_price_import:
name: "Electricity Price Import"
icon: mdi:cash-minus
electricity_price_export:
name: "Electricity Price Export"
icon: mdi:cash-plus
Nu vil jeg nulstille VM og prøve den nye
opdateret alpha_004. Prøv lige at hente den ned derfra - inkl. card og input.
Jeg ville vælge "flise" til de 2 så man ikke kommer til at rette i sensor tekst i gui
Med flise skal man klikke på den for så at ændre
square: false
type: grid
cards:
- type: tile
entity: input_text.electricity_price_import
view_layout:
position: sidebar
- type: tile
entity: input_text.electricity_price_export
view_layout:
position: sidebar
columns: 1
view_layout:
position: sidebar
title: Electricity Price Sensor
Jeg ville vælge "flise" til de 2 så man ikke kommer til at rette i sensor tekst i gui
Kiggede også på den. Flise er bare ikke en del af "standard" pakken. Den ligger i UI Lovelace Minimalist. Overvejer igen...
opdateret alpha_004. Prøv lige at hente den ned derfra - inkl. card og input.
Jeg får ingen pris med den nye pakke selv om sensor viser pris, har aktiveret alle _ps sensor, så det burde køre
Jeg har fundet fejlen
electricity_price_export_ts
mangler sensor.
sensor.electricity_price_export_ts
samme for import
Kiggede også på den. Flise er bare ikke en del af "standard" pakken. Den ligger i UI Lovelace Minimalist. Overvejer igen...
Den er her, så burde være en del af std. HA https://www.home-assistant.io/dashboards/tile/
Kiggede også på den. Flise er bare ikke en del af "standard" pakken. Den ligger i UI Lovelace Minimalist. Overvejer igen...
Den er her, så burde være en del af std. HA https://www.home-assistant.io/dashboards/tile/
Du har ret. Jeg havde kigget på det. Den kræver at man har vælger en entity når kortet sættes op - det syntes jeg virkede lidt forkert. Tanken var at Lovelace cardet var optional. Ambitionen var lidt at ramme bredt, også dem der nærmest bare vil "plug n' play". Jeg tænker at det bla. betyder at hvis man ikke ønsker en effektivitets korrigeret sensor eller egne pris sensorer så skulle man kunne copy/paste package filen og det var det. Med IF > ELSE på de nye elpris sensorer vil det selvfølgeligt være en mulighed, da der er fall back til EDS. Hmmm...
PS: Jeg ledte efter en decideret dropdown "entity menu", men syntes ikke at jeg kunne finde en. Det undrer mig lidt, for jeg mener at der er sådan en.
Kiggede også på den. Flise er bare ikke en del af "standard" pakken. Den ligger i UI Lovelace Minimalist. Overvejer igen...
Den er her, så burde være en del af std. HA https://www.home-assistant.io/dashboards/tile/
Du har ret. Jeg havde kigget på det. Den kræver at man har vælger en entity når kortet sættes op - det syntes jeg virkede lidt forkert. Tanken var at Lovelace cardet var optional. Ambitionen var lidt at ramme bredt, også dem der nærmest bare vil "plug n' play". Jeg tænker at det bla. betyder at hvis man ikke ønsker en effektivitets korrigeret sensor eller egne pris sensorer så skulle man kunne copy/paste package filen og det var det. Med IF > ELSE på de nye elpris sensorer vil det selvfølgeligt være en mulighed, da der er fall back til EDS. Hmmm...
PS: Jeg ledte efter en decideret dropdown "entity menu", men syntes ikke at jeg kunne finde en. Det undrer mig lidt, for jeg mener at der er sådan en.
Om det er tile eller den anden gør det ikke minde plug and play, ønsker man ikke stille på det kan man jo bare undlade kortet, om det er med tile eller den anden hvor man retter direkte i fromt end.
Hvordan vil du lave en drop down når du ikke kender brugerens sensor ?
Hvordan vil du lave en drop down når du ikke kender brugerens sensor ?
Jeg mener at der fås entity dropdown list allerede, men usikker på om det eks. kun omfatter lyskilder "light" eller kontakter "switch". Den søger blandt tilgængelige enities.
Hvordan vil du lave en drop down når du ikke kender brugerens sensor ?
Jeg mener at der fås entity dropdown list allerede, men usikker på om det eks. kun omfatter lyskilder "light" eller kontakter "switch". Den søger blandt tilgængelige enities.
Det er denne jeg har set, men den heller ikke en del af standard pakken.
https://github.com/thomasloven/lovelace-auto-entities?tab=readme-ov-file
Hvordan vil du lave en drop down når du ikke kender brugerens sensor ?
Jeg mener at der fås entity dropdown list allerede, men usikker på om det eks. kun omfatter lyskilder "light" eller kontakter "switch". Den søger blandt tilgængelige enities.
Det er denne jeg har set, men den heller ikke en del af standard pakken.
https://github.com/thomasloven/lovelace-auto-entities?tab=readme-ov-file
Jo men ser samme problem, hvad skal den søger på, her kender de jo eks. light. så det søger de på også om de er on eller off, men hvad hedder peter poul hansen pris sensor, det ved du ikke så du kan ikke sætte en søg op på noget vi ikke kender, andre drop down jeg har kigget på skal man også definere en liste, hvad vi ved er at det nok er en sensor.* men det giver en lang liste og HA kan ikke lide noget over 255 tegn.
Jeg tror du har den bedste løsning nu hvor dem der ikke bruger default sensor bare skriver sin sensor ind også er det fixed. Dem der bruger default kan slette pris sensor fra lovelance.
smid denne i template, den laver en liste over sensor.
Print out a list of all the sensor sorted by entity_id:
{% for state in states.sensor | sort(attribute='entity_id') %}
{{ state.entity_id }}
{% endfor %}
Price sensor only need to be edit 1 place in 2 lines
Update price at start of HA, and every time Price sensor is change state.