Tnt Skrevet 9. desember 2023 Del Skrevet 9. desember 2023 1 minute ago, Tander said: Var i samme båt som deg, skiftet fra Homey til Home Assistant for 3/4 år siden. Bratt lærekurve, men langt flere muligheter i HA. Du kan vise både i dag og i morgen i samme Apex graf. Gi beskjed om jeg skal legge ut koden jeg bruker til det. Ja det er det, men jeg har for mye zigbee og z-wave så selv om jeg har striglede nettverk så er det for ustabilt. Og selvsagt frister det med alt det ekstra HA tilbyr, så når valget stod mellom den nye Homey eller HA så tok jeg skrittet ut. Jeg får se over sommeren om jeg går tilbake eller ikke. Akkurat nå har jeg ikke kontroll i det hele tatt og forstår vel omtrent 11% så kan ikke bedømme noe. Jeg gikk jo i sin tid fra smartthings til homey fordi jeg var lei av tukling osv, så nå er jeg jo gått enda lengre enn ST 🤣 Men ja, legg gjerne ut kode som kan copy/paste, jeg tror kanskje jeg lærer endel av det. Gjorde i alle fall det i ST Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Tander Skrevet 9. desember 2023 Del Skrevet 9. desember 2023 type: custom:apexcharts-card header: show: true title: Strømpriser show_states: true colorize_states: false now: show: true label: Nå color: red graph_span: 48h span: start: day offset: '-00h' apex_config: xaxis: labels: format: HH show: true chart: height: 173px zoom: enabled: false toolbar: show: false tools: zoom: false zoomin: false zoomout: false pan: false reset: true tooltip: fixed: enabled: false position: topLeft yaxis: - id: first apex_config: min: 0 max: auto opposite: true forceNiceScale: true decimalsInFloat: 2 labels: show: true all_series_config: stroke_width: 4 series: - entity: sensor.nordpool_kwh_krsand_nok_2_10_025 yaxis_id: first name: Pris i dag type: area curve: stepline extend_to: now float_precision: 3 stroke_width: 3 opacity: 0.3 color: goldenrod show: in_header: false legend_value: false data_generator: | return entity.attributes.raw_today.map((p) => { return [new Date(p.start), p.value]; }); - entity: sensor.nordpool_kwh_krsand_nok_2_10_025 yaxis_id: first name: Pris i morgen type: area curve: stepline extend_to: now float_precision: 3 stroke_width: 3 opacity: 0.3 color: orange show: in_header: false legend_value: false data_generator: | return entity.attributes.raw_tomorrow.map((p) => { return [new Date(p.start), p.value]; }); - entity: sensor.nordpool_kwh_krsand_nok_2_10_025 yaxis_id: first name: Pris nå float_precision: 2 stroke_width: 0 opacity: 0.09 color: red show: in_header: true legend_value: false Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Tnt Skrevet 9. desember 2023 Del Skrevet 9. desember 2023 12 minutes ago, Tander said: Tusen takk! Nå skal jeg sette meg ned å sammenligne 🙂 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 25. juli Del Skrevet 25. juli Jeg har lekt litt med denne nordpool sensoren, og jeg har heller ikke klart å få inn noen måte å bruke workday sensoren, så det er manuelt for nå. Men det jeg ikke skjønner er at jeg bommer på prisen med ca 1 øre her og der. Det har jo ingenting å si, men jeg skjønner ikke helt hvorfor. Elvia har alle priser inkludert i på slaget sitt ifm deres dokumentasjon (se her https://www.elvia.no/nettleie/alt-om-nettleiepriser/nettleiepriser-for-privatkunder/). Så langt ser dette ut å være 99% riktig men om noen skjønner hvorfor den noen ganger bommer så tar jeg gjerne imot tips. - platform: nordpool VAT: true currency: "NOK" low_price_cutoff: 0.95 region: "Oslo" precision: 4 price_type: kWh friendly_name: "Nordpool med Elvia" additional_costs: >- {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "other": 0.01 } %} {% set helligdager = ["0101", "0328", "0329", "0401", "0501", "0509", "0517", "0520", "1225", "1226"] %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Er i dag en ukedag, og ikke helligdag? #} {% if now().isoweekday() <= 5 and now().strftime("%m%d") not in helligdager %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 5 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost + s.other - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost + s.other - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost + s.other - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost + s.other - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller helligdag #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost + s.other - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost + s.other - pb) | float }} {% endif %} {% endif %} Har lurt på om det kan være MVA kanskje. At jeg burde regne alt før moms og legge på moms til slutt. Men her _skal_ jo alt være inkludert MVA. Jeg har også prøvd litt forskjellig på precision, men jeg tror alt over 3 gir ganske gode resultater. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 25. juli Del Skrevet 25. juli Hvorfor legger du da til påslag selv på 1 øre hvis Elvia har alle påslag inkludert, som du skriver? Og hvor setter du s.hourly_fixed_cost til en fornuftig verdi? Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 25. juli Del Skrevet 25. juli Dette er helt feil paste 😛 Klassisk copy/paste error. Sorry! - platform: nordpool VAT: true currency: "NOK" low_price_cutoff: 0.95 region: "Oslo" precision: 3 price_type: kWh friendly_name: "Nordpool med Elvia" additional_costs: >- {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.01 } %} {% set helligdager = ["0101", "0328", "0329", "0401", "0501", "0509", "0517", "0520", "1225", "1226"] %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Er i dag en ukedag, og ikke helligdag? #} {% if now().isoweekday() <= 5 and now().strftime("%m%d") not in helligdager %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 5 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller helligdag #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Jeg lekte litt med "other" og "hourly_fixed_cost" (basert på din versjon @stigvi, og fra dokumentasjonen for nordpool på HACS). Denne er den jeg for øyeblikket kjører. hourly_fixed_cost brukes kun fordi jeg ser at jeg får et resultat som typisk er ca 1 øre for lavt. Noen ganger 2 øre. Så derfor er den lagt til, men i praksis skal den ikke være nødvendig. Eksempel akkurat nå, her fra sensorens attribute: - start: '2024-07-25T11:00:00+02:00' end: '2024-07-25T12:00:00+02:00' value: 0.8661 Mens strømprisen akkurat nå er: Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 25. juli Del Skrevet 25. juli For meg er det uklart hvilken pris du mener er feil. Elvia er vel en netteier. Er det deres pris som er feil? Eller den du får i fra Nordpool sammenlignet med det du betaler hos din strømleverandør. Du nevner ikke hvem det er. Jeg bruker selv Vibb og jeg mistenker at de bruker en annen vekslingskurs fra euro til kroner enn det Nordpool gjør. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 25. juli Del Skrevet 25. juli God poeng! Jeg bruker Tibber, de har vel et påslag per kWt ... jeg glemmer at de har en rolle å spille her. Basert på rask research ser det ut til at Tibber legger til 2,95 øre pr. kWt så da er fast påslag 0.0295 om jeg skjønner det rett. Med påslag på 0.0295 (hourly_fixed_cost) ble prisen min for samme timen: - start: '2024-07-25T11:00:00+02:00' end: '2024-07-25T12:00:00+02:00' value: 0.8756 som er det samme som 87,6 øre som Tibber sier det koster i appen. 🙂 Da tror jeg vi er på rett spor. 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august Bare en liten oppdatering. Jeg bruker nå workday sensor og det ser ut som det fungerer så langt. Skal følge med for å trippelt-sjekke men her er koden om noen andre vil prøve. For å få dette til må du har workday integrasjonen satt opp og den må hete binary_sensor.arbiedsdag_sensor (eller endre koden under). Jeg har testet både i configuration.yaml og med integrasjonen direkte i GUI i HA. Sistenevnte betyr at man bare limer inn denne delen i "mal for tilleggskostnader". Den går ikke å redigere etterpå men du kan bare slette den og legg til en ny når du vil. Jeg har lagt hele configen i configuration.yaml for safekeeping og fremtidige justeringer og så bare limte jeg den inn i GUI. {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.0295 } %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Er det arbeidsdag? #} {% if is_state('binary_sensor.arbeidsdag_sensor', 'on') %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 6 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller fridag (helligdag) #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Jeg har nå testet gjennom flere arbeidsdager og helgedager og det fungerer knirkefritt. 🙂 Husk å sjekke alle kostnadene i s.array øverst. Dette er Elvia eller hva enn du har som nettleverandør, hourly additional cost er Tibber sitt faste påslag i mitt tilfelle. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. august Del Skrevet 3. august (endret) sbarmen skrev (3 timer siden): Bare en liten oppdatering. Jeg bruker nå workday sensor og det ser ut som det fungerer så langt. Skal følge med for å trippelt-sjekke men her er koden om noen andre vil prøve. For å få dette til må du har workday integrasjonen satt opp og den må hete binary_sensor.arbiedsdag_sensor (eller endre koden under). Jeg har testet både i configuration.yaml og med integrasjonen direkte i GUI i HA. Sistenevnte betyr at man bare limer inn denne delen i "mal for tilleggskostnader". Den går ikke å redigere etterpå men du kan bare slette den og legg til en ny når du vil. Jeg har lagt hele configen i configuration.yaml for safekeeping og fremtidige justeringer og så bare limte jeg den inn i GUI. {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.0295 } %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Er det arbeidsdag? #} {% if is_state('binary_sensor.arbeidsdag_sensor', 'on') %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 6 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller fridag (helligdag) #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Jeg har nå testet gjennom flere arbeidsdager og helgedager og det fungerer knirkefritt. 🙂 Husk å sjekke alle kostnadene i s.array øverst. Dette er Elvia eller hva enn du har som nettleverandør, hourly additional cost er Tibber sitt faste påslag i mitt tilfelle. Når prisene kommer klokken 1400 på en fredag ettermiddag, hvordan vet du at prisen på lørdag ikke er for en arbeidsdag? Eller for å spørre annerledes - du er altså ikke opptatt av at prisene i tomorrow attributtene skal ha riktig pris? Endret 3. august av stigvi Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august Good point 🙂 Det har jeg helt glemt, godt du er djevelens advokat her! Jeg kan lage en workday med 1 dag offset for å håndtere morgendagens priser mer korrekt. Burde ikke noe slikt virke? Jeg tester! {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.0295 } %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Sjekk om vi ser på dagens dato eller morgendagens dato #} {% set today = now().date() %} {% set tomorrow = (now().date() + timedelta(days=1)) %} {# Bruk arbeidsdag-sensoren for i dag eller i morgen avhengig av dato #} {% if now().date() == today %} {% set arbeidsdag_status = is_state('binary_sensor.arbeidsdag_sensor', 'on') %} {% elif now().date() == tomorrow %} {% set arbeidsdag_status = is_state('binary_sensor.arbeidsdag_i_morgen', 'on') %} {% endif %} {# Er det arbeidsdag? #} {% if arbeidsdag_status %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 6 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller fridag (helligdag) #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. august Del Skrevet 3. august sbarmen skrev (2 minutter siden): Good point 🙂 Det har jeg helt glemt, godt du er djevelens advokat her! Jeg kan lage en workday med 1 dag offset for å håndtere morgendagens priser mer korrekt. Burde ikke noe slikt virke? Jeg tester! {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.0295 } %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {# Sjekk om vi ser på dagens dato eller morgendagens dato #} {% set today = now().date() %} {% set tomorrow = (now().date() + timedelta(days=1)) %} {# Bruk arbeidsdag-sensoren for i dag eller i morgen avhengig av dato #} {% if now().date() == today %} {% set arbeidsdag_status = is_state('binary_sensor.arbeidsdag_sensor', 'on') %} {% elif now().date() == tomorrow %} {% set arbeidsdag_status = is_state('binary_sensor.arbeidsdag_i_morgen', 'on') %} {% endif %} {# Er det arbeidsdag? #} {% if arbeidsdag_status %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 6 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller fridag (helligdag) #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Det vil heller ikke virke. Det du glemmer er at now() er overstyrt i Nordpool integrasjonen. Malen kjøres 48 ganger der now() returnerer 48 forskjellige tidspunkt. set today = now().date() vil altså gi deg alle 24 timene på fredag og alle 24 timene på lørdag. set tomorrow = (now().date() + timedelta(days=1)) vil tilsvarende gi deg alle 24 timene på lørdag og alle 24 timene på søndag. if now().date() == today vil dessuten alltid være sann Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august Ok skjønner. Så da må vi prøve å bruke datologikk utenfor Nordpool integrasjonen for å få opp datoen i dag og i morgen lik det du gjorde i ditt array tenker jeg. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. august Del Skrevet 3. august Jeg henter bare spotpris i fra Nordpool og Entso-e integrasjonene og så har jeg et pyscript som legger til nettleie ut i fra tid på døgn, helligdag og helgedag. Der håndterer jeg også problemet med at en av disse to integrasjonen ikke virker / ikke henter ned pris. Det skjer overraskende ofte. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august Jeg ønsker å slippe pyscript kjenner jeg... forsker litt til. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. august Del Skrevet 3. august (endret) Workday integrasjonen som er innebygd i HA gir deg en kalender. Denne har attributter for neste hendelse. Så da kan du sjekke der om "i dag" eller "i morgen" er neste hendelse. Lørdager og søndager håndterer du jo lett på andre måter. Men du vil ha samme problem når det er mange helligdager på rad, ser jeg nå....... Da kan du vite at i dag er en helligdag, men du får ikke vite hva i morgen er. Edit: Det finnes et service call for å hente ut hendelser fra en kalender i et tidsrom. Du kan ha en template trigger sensor som hver romjul henter alle helligdager 1 år fram i tid og lagre dette i en mal-sensor som du kan bruke i Nordpool. Endret 3. august av stigvi 1 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
stigvi Skrevet 3. august Del Skrevet 3. august Her er et eksempel på en trigger sensor som kjører et service call og behandler data. Noe tilsvarende kan altså gjøres med å hente ut fra en kalender og lagre helligdager i en attributt som en liste. - trigger: - platform: state entity_id: weather.orstad_utsyn # - platform: time_pattern # hours: /1 action: - service: weather.get_forecasts data: type: hourly target: entity_id: weather.orstad_utsyn response_variable: wh - service: weather.get_forecasts data: type: daily target: entity_id: weather.orstad_utsyn response_variable: wd sensor: - unique_id: timer_med_sol name: "Timer med sol" unit_of_measurement: "h" device_class: duration state: >- {% set vars = namespace(count=0) %} {% set vars = namespace(found=true) %} {% set vars.count = 0 %} {% set l = wh['weather.orstad_utsyn'].forecast|map(attribute='condition')|list %} {% for item in l %} {% if vars.found == true and item == 'sunny' %} {% set vars.count = loop.index %} {% else %} {% set vars.found = false %} {% endif %} {% endfor %} {{ vars.count }} - unique_id: timer_med_opphold name: "Timer med opphold" unit_of_measurement: "h" device_class: duration state: >- {% set vars = namespace(count=0) %} {% set vars = namespace(found=true) %} {% set vars.count = 0 %} {% set l = wh['weather.orstad_utsyn'].forecast|map(attribute='precipitation_probability')|list %} {% for item in l %} {% if vars.found == true and item|float(0) <= 2 %} {% set vars.count = loop.index %} {% else %} {% set vars.found = false %} {% endif %} {% endfor %} {{ vars.count }} - unique_id: vindstyrke_i_morgen name: "Vindstyrke i morgen" unit_of_measurement: "m/s" state: "{{ [state_attr('weather.orstad_utsyn', 'wind_gust_speed')|float(0), (wd['weather.orstad_utsyn'].forecast | rejectattr('wind_gust_speed', 'undefined') | map(attribute='wind_gust_speed')|list|max)]|max|round(1) }}" Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august (endret) Jeg har nå laget en input_text.helligdager hjelper: Denne oppdateres via workday med følgende automasjon: alias: Arbeidsdag i dag, eller i morgen? description: >- Vi sjekker om det er arbeidsdag i dag eller i morgen, og så lagrer vi det i et array for å hjelpe med å sette prisen riktig i Nordpool-integrasjonen. trigger: - platform: time at: "00:00:00" - platform: homeassistant event: start condition: [] action: - service: input_text.set_value data: entity_id: input_text.helligdager value: "" - if: - condition: state entity_id: binary_sensor.arbeidsdag_sensor state: "off" then: - service: input_text.set_value data: entity_id: input_text.helligdager value: "{{ now().strftime('%d%m') }}" - if: - condition: state entity_id: binary_sensor.arbeidsdag_i_morgen state: "off" then: - if: - condition: template value_template: >- {# Sjekk om i dag var helligdag (da er ikke array tomt), i tilfelle må begge dager legges til i arrayet. #} {{ states('input_text.helligdager') != '' }} then: - service: input_text.set_value data: entity_id: input_text.helligdager value: > {% set current_value = states('input_text.helligdager') %} {% set aditional_value = (now() + timedelta(days=1)).strftime('%d%m') %} {{ current_value + ',' + aditional_value }} else: - service: input_text.set_value data: entity_id: input_text.helligdager value: "{{ (now() + timedelta(days=1)).strftime('%d%m') }}" mode: single Så har jeg oppdatert templaten slik: {% set s = { "winter_day": 0.3959, "winter_night": 0.3209, "summer_day": 0.4825, "summer_night": 0.4075, "hourly_fixed_cost": 0.0295 } %} {# Strømstøtte på 90% på priser over 91,25 øre (ink. mva) trekkes ifra #} {% set pb = max((current_price - 0.9125) * 0.9, 0.0) %} {% set helligdager = states('input_text.helligdager').split(',') %} {% set today = now().strftime('%d%m') %} {# Er det arbeidsdag? #} {% if today not in helligdager %} {# Sommerpriser fra april til og med desember #} {% if now().month >= 4 and now().month <= 12 %} {% if now().hour >= 6 and now().hour <= 22 %} {# dagtid mellom 6 og 22 #} {{ (s.summer_day + s.hourly_fixed_cost - pb) | float }} {% else %} {# ellers er det natt #} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% else %} {# ellers er det vinter #} {% if now().hour >= 6 and now().hour <= 22 %} {{ (s.winter_day + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} {% else %} {# ellers er det helg eller fridag (helligdag) #} {% if now().month >= 4 and now().month <= 12 %} {{ (s.summer_night + s.hourly_fixed_cost - pb) | float }} {% else %} {{ (s.winter_night + s.hourly_fixed_cost - pb) | float }} {% endif %} {% endif %} Dette burde fungere. Ser ut til å gjøre det i alle fall. Litt hack å få til men da vil workday med to integrasjoner, den ene med offset 1 for i morgen kunne brukes videre. Ved å gjøre det på denne måten ble isoweekday() overflødig da workday tar med alle uansett. Viktig å kategorisere automasjoner og hjelpere nå så man holder oversikt 😛 Og gode kommentarer på toppen så man husker tilbake. Endret 3. august av sbarmen Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 3. august Del Skrevet 3. august 1 hour ago, stigvi said: Workday integrasjonen som er innebygd i HA gir deg en kalender. Denne har attributter for neste hendelse. Så da kan du sjekke der om "i dag" eller "i morgen" er neste hendelse. Lørdager og søndager håndterer du jo lett på andre måter. Men du vil ha samme problem når det er mange helligdager på rad, ser jeg nå....... Da kan du vite at i dag er en helligdag, men du får ikke vite hva i morgen er. Edit: Det finnes et service call for å hente ut hendelser fra en kalender i et tidsrom. Du kan ha en template trigger sensor som hver romjul henter alle helligdager 1 år fram i tid og lagre dette i en mal-sensor som du kan bruke i Nordpool. Det siste forslaget er ikke dumt. Da kan man lagre den i et array og ha den liggende. Den jeg har nå kjører hver dag, bør være like robust men jeg liker tanken. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 15. oktober Del Skrevet 15. oktober Nå kan det se ut som vi synger på siste verset ifm Nordpool integrasjonen. https://github.com/custom-components/nordpool/issues/417 Om jeg har forstått det riktig kan det set ut som Nordpool begrenser tilgangen på APIet til betalende kunder. https://www.nordpoolgroup.com/api Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
hflatoey Skrevet 15. oktober Del Skrevet 15. oktober Nord Pool har bytter API addresse, exempel her 🙂 https://github.com/zinen/node-red-contrib-nordpool-api-plus/issues/29 Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Teknor Skrevet 15. oktober Del Skrevet 15. oktober (endret) Ser ut til å være en breaking change for Nordpool integrasjonen i HA fra 0.14 til 0.15 hvor feks Oslo går over til prisområde NO1. Noen som vet hvor jeg endrer dette? https://github.com/custom-components/nordpool/pull/413 Endret 15. oktober av Teknor Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
sbarmen Skrevet 15. oktober Del Skrevet 15. oktober Håper det er så enkelt.... Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Teknor Skrevet 15. oktober Del Skrevet 15. oktober Funker her. Må oppdatere til 0.0.15 og legge inn integrasjonen på nytt. Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
VikingOy Skrevet 15. oktober Del Skrevet 15. oktober Hvordan oppdaterer jeg til 0.0.15 når jeg er er på 0.0.14 og det ikke kommer noen automatisk oppgraderingsmelding? Siter Lenke til kommentar Del på andre sider Flere delingsvalg…
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.