Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

hellowlol

Medlemmer
  • Innlegg

    79
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    3

Innlegg skrevet av hellowlol

  1. Andreas Noteng skrev (1 time siden):

    Noen som har tips til hvordan jeg kan sette opp en template sensor som viser true/false on/off for inneværende time.

    Jeg prøver å få til en liste som inneholder alle timer fra now() til et gitt tidspunkt definert i input_datetime.finish_charging_by sortere den fra billigst til dyrest og så en loop x antall ganger avhengig av hva som er definert i sensor.hours_of_charging_needed

    Å gjøre dette direkte i python ville vært lett men jinja sliter jeg med

    Jeg er på mobilen så jeg orker ikke lage det ferdig for deg, men jeg ville ha brukt selectsattr etter du har samlet raw_today og raw_tomorrow. På denne måten kan du fjerne alle timer som ikke har en verdi.

    Lag en tom liste, loop over resultatene fra skrittet over. Sammenlikne end time med inputen og legg det som er true over i den tomme listen. Etter dette sorter du listen fra billigst til dyrest

     

     

  2. Falense skrev (19 minutter siden):
    import datetime
    
    @time_trigger("cron(1 * * * *)")
    def update_saving_hours():
        today_prices = state.getattr(sensor.nordpool_kwh_oslo_nok_3_00_025).get("today")
        hour_price_pairs = zip(range(24), today_prices)
        hour_price_pairs = sorted(hour_price_pairs, key=lambda v: v[1])
    
        most_expensive_today = {}
        for i,(hour, price) in enumerate(hour_price_pairs):
            most_expensive_today[hour] = i 
    
        tomorrow_prices = state.getattr(sensor.nordpool_kwh_oslo_nok_3_00_025).get("tomorrow")
        hour_price_pairs = zip(range(24), tomorrow_prices)
        hour_price_pairs = sorted(hour_price_pairs, key=lambda v: v[1])
    
        most_expensive_tomorrow = {}
        for i,(hour, price) in enumerate(hour_price_pairs):
            most_expensive_tomorrow[hour] = i 
        
        now = datetime.datetime.now()
        current_hour = now.hour
    
        log.info("Ran power saving script at %s" % now)
    
        for i in range(1,24):
            least_n_expensive = [{v: most_expensive_today[v] < i} for v in range(0,24)] 
            least_n_expensive_tomorrow = [{v: most_expensive_tomorrow[v] < i} for v in range(0,24)] 
            state.set("sensor.powersaving_%s_least_expensive" %i, most_expensive_today[current_hour] < i, new_attributes={"today_prices": today_prices, "today": least_n_expensive, "tomorrow_prices": tomorrow_prices, "tomorrow": least_n_expensive_tomorrow})#, new_attributes={"hours": })
            n_most_expensive = [{v: most_expensive_today[v] > 23-i} for v in range(0,24)] 
            n_most_expensive_tomorrow = [{v: most_expensive_tomorrow[v] > 23-i} for v in range(0,24)] 
            state.set("sensor.powersaving_%s_most_expensive" %i, most_expensive_today[23-current_hour] > i, new_attributes={"today_prices": today_prices, "today": n_most_expensive, "tomorrow_prices": tomorrow_prices, "tomorrow": n_most_expensive_tomorrow})#, new_attributes={"hours:": map(lambda v: most_expensive[current_hour] >= i, range(0,24))})

     

    Jeg syntes det ble litt tungvindt med template for hver time så jeg skrev dette snippet som kan brukes med pyscript (som finnes under HACS). Denne lager 23 sensorer med billigste og dyreste time. Husk å bytt ut "nordpool_kwh_oslo_nok_3_00_025" med din sensor.


    Jeg klarer ikke helt forstå hva du prøver på, mulig det er pga formateringen blir rar på mobilen så jeg klarer ikke lese koden enkelt. Men det ser veldig mye mer komplisert ut enn det trenger å være. Du kan bruke raw_today og raw_tomorrow for å gjøre ting enklere. Fint bidrag!

    • Like 1
  3. LarsH skrev (På 18.11.2021 den 15.26):

    Jeg sliter med å få v0.0.3 -koden til å spille. Har prøvd litt forskjellige endringer i sensor.py uten å komme i mål feilfritt.

    Kan det være fordi jeg fremdeles er på HA v0.117.2 (core)/ python 3.7.3?

     

    Nov 18 15:07:48 hapi2 hass[1467]:   File "/home/homeassistant/.homeassistant/custom_components/nordpool/sensor.py", line 485, in async_added_to_hass
    Nov 18 15:07:48 hapi2 hass[1467]:     await self.check_stuff()
    Nov 18 15:07:48 hapi2 hass[1467]:   File "/home/homeassistant/.homeassistant/custom_components/nordpool/sensor.py", line 446, in check_stuff
    Nov 18 15:07:48 hapi2 hass[1467]:     self._update(today)
    Nov 18 15:07:48 hapi2 hass[1467]:   File "/home/homeassistant/.homeassistant/custom_components/nordpool/sensor.py", line 297, in _update
    Nov 18 15:07:48 hapi2 hass[1467]:     self._average = self._calc_price(data.get("Average"))
    Nov 18 15:07:48 hapi2 hass[1467]:   File "/home/homeassistant/.homeassistant/custom_components/nordpool/sensor.py", line 278, in _calc_price
    Nov 18 15:07:48 hapi2 hass[1467]:     float(1 + self._vat)
    Nov 18 15:07:48 hapi2 hass[1467]: TypeError: can only concatenate str (not "float") to str
     

    Jeg er usikker på hva som er grunnen her. Siden du selv har gjort endringer vil jeg anbefale at du tar det fresh install av nordpool componenten. Sett opp sensoren vil via gui uten noe template og enable debug logging. Hvis du fortsatt får feil åpner du en issue på github med loggen :)

  4. Er det noen flere som har lagt merke til at sensor.nordpool ikke har verdier for morgendagen lengre? Nå er klokka 15:30 og dermed så vises tomorrow-attributten, men value står til null på alle timene.
     
    raw_tomorrow: - start: '2021-06-15T00:00:00+02:00'   end: '2021-06-15T01:00:00+02:00'   value: null - start: '2021-06-15T01:00:00+02:00'   end: '2021-06-15T02:00:00+02:00'   value: null - start: '2021-06-15T02:00:00+02:00'   end: '2021-06-15T03:00:00+02:00'   value: null

     
    Noen som vet hvorfor og om det vil bli fikset?
     


    Jeg reloada integrasjonen så virket det. Jeg ser i loggen at json som den hente når nye priser ble lagt ut ikke hadde det format det skulle ha. [emoji2357]


    Sent from my iPhone using Tapatalk
  5. Er det noen flere som har lagt merke til at sensor.nordpool ikke har verdier for morgendagen lengre? Nå er klokka 15:30 og dermed så vises tomorrow-attributten, men value står til null på alle timene.
     
    raw_tomorrow: - start: '2021-06-15T00:00:00+02:00'   end: '2021-06-15T01:00:00+02:00'   value: null - start: '2021-06-15T01:00:00+02:00'   end: '2021-06-15T02:00:00+02:00'   value: null - start: '2021-06-15T02:00:00+02:00'   end: '2021-06-15T03:00:00+02:00'   value: null

     
    Noen som vet hvorfor og om det vil bli fikset?
     


    Det blir fikset av meg hvis det er nordpool sensoren som tuller, men stort sett er det nordpools api som kødder. Jeg har ikke fått sjekket det enda.


    Sent from my iPhone using Tapatalk
  6. 2 timer siden, paalj skrev:

    Hei,

    Jeg ønsker å finne totalpris f.eks pr. døgn. Da tenker jeg å bruke norpool sensor (NOK/kWt) * forbruk pr.døgn (kWt)= NOK

     

    Forbruket får jeg via HAN porten på måleren og tibber pulse. Jeg forstår ikke hvorfor man ikke kan legge energileddet av nettleia inn i norpool. Den er jo i NOK/kWt  Fastleddet skjønner jeg derimot ikke at kan bli riktig (se vedlagte fil). Templaten regner ut en timepris i NOK/h. I regnestykket over hvis jeg bruker 100kWt/døgn så blir fastleddet ganget med 100 istedet for 24. Tydelig at det fremdeles er noe jeg ikke har forstått 😉

     

    mvh

     

    mvh

    Skjermbilde.PNG

    Du har forstått det helt riktig. Hva du må ha med kommer an på hvordan du skal bruke det.

     

    Du må bruke flere sensorer og automasjoner for å få til dette.

    i additional cost legger du inn {{ nettleie energiledd + påslag fra strøm selskap + el sertvikater}}

     


     

     

  7. Hei,
    Takk, det virket med en gang. Forsto ikke at alt skulle inn her [emoji6]
    Slik jeg forstår nettleie fastdel månedspris så er den i NOK/mnd og er ikke avhengig av forbruk. Da blir det vel feil å legge den inn her, fordi den skal jo ikke ganges opp med forbruket. Det blir vel med antall timer man måler over. Alt som måles i NOK/kWt er jo derimot greit hvis jeg nå har forstått riktig...
    mvh

    Du skal skrive inn total mnd pris for faste kostnader. Template vil regne ut hvor mye dette utgjør pr time. Hvis du vil vite hva total kostnad for en time må du vite hvor mange kWh du har brukt og legge til energi leddet via en annen template sensor

    Hva er det du ønsker å oppnå?


    Sent from my iPhone using Tapatalk
  8. På 8.2.2021 den 19.45, flinkebernt skrev:

     

    Jeg har fått til dette nå på min IDLock 150. Migrerte til zwavejs2mqtt når Home Assistant lanserte zwavejs i versjon 2021.2. Brukte et par timer på å få enhetene mine over fra ozw 1.6 beta. Ser ut som zwavejs er det Home Assistant vil gå for nå fremover.

     

    Med zwavejs2mqtt har jeg nå bygget en flow i Node-RED som gjør at jeg sender en oppdatering til HA om hvilken brikke eller hvilken kode (id) som ble brukt til å åpne døren. Bonus med zwavejs er at dørsensoren også er aktivert, så man ser når døren åpnes og lukkes.

     

    Har du hvilke eventer jeg må lytte etter, jeg tenkte å lage det samme direkte i HA. Jeg mener jeg har sett noen eventer jeg skulle lytte etter, men jeg klarte ikke finne det igjen.

  9. På 6.6.2021 den 8.15, paalj skrev:

    Tusen takk, jeg trenger et fastledd som er i NOK/mnd og et energiledd som er i NOK/kWh. Jeg ønsker da å bruke dette videre med tibber pulse og gange dette opp med forbrukte kWh. Kunne sikkert brukt den du har liggende på Github og bare sette 0 på det som ikke brukes da.

    Det jeg ikke forstår er hvor denne template skal ligge i HA og hva som legges inn i GUI for å kople templaten til sensoren.

    mvh

    Du kan feks bruke 

    {# Linjen under kan du legge til mndpris fra leverandor feks tibber i mitt tilfelle samt hva fastleddet i linjeleien utgjør pr mnd #}
    {% set month_cost_in_nok = 37.50 %}
    {% set start = now().replace(day=1, hour=0, minute=0, second=0, microsecond=0) %}
    {% set next_mth = start + timedelta(days=33) %}
    {% set end = next_mth - timedelta(days=next_mth.day - 1) %}
    {% set hours_in_month = (end - start).total_seconds() / 3600 %}
    {{month_cost_in_nok / hours_in_month}}

    Denne skal limes rett inn i gui når du legger til sensoren. Selve koden er litt "tungvindt" da det er begrensninger på hva en kan bruke i templates. Det kunne ha vært forenklet ved å bruke den dict med alle hvor mange timer det er i hver mnd.

  10. 6 timer siden, paalj skrev:

    Hei igjen,

    takk for svar og software.

    Jeg mangler nok noe grunnleggende kunnskap her 😉

    Jeg klarer ikke å finne ut hvordan jeg lager denne templaten og hvordan den skrives inn i GUI. Det er sikkert sinnsykt enkelt, men jeg forstår det ikke. Har googlet i timevis, men finner ikke eksempler heller. Har i stedet laget en template sensor  som regner ut dette.

    mvh

     

    Fordelen med å legge det in i additional costs er at det blir lagt til i alle timer. På den måten blir grafer korrekt. 
    Jeg kan lage den for deg. Hva skal du ha med?

  11. 8 timer siden, paalj skrev:

    Heisann,

    Har brukt Norpool en stund nå. Dette virker fint, men ville prøve å legge inn "additional cost". Har installert 0.0.3 og der ser det ut til at det legges inn på annen måte enn config.yaml. Har noen et eksempel der man legger linjeleie inn via GUI?

     

    mvh

    Paal


    Det gjøre på akkurat samme måte. Du må bare skrive template in additional cost i gui.

  12. Det virker ikke med NOK hos meg. Endret manifest.json til "requirements": ["nordpool>=0.3.2"], for å være sikker på at siste versjon hentes fra pypi

    Oppsettet mitt er 
    - platform: nordpool VAT: true currency: EUR low_price_cutoff: 0.95 region: "Kr.sand" precision: 6 price_type: kWh friendly_name: "Nordpool" additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 1000 + 0.000764 }}"


    Endrer jeg EUR til NOK så feiler den. Men greit nok. Billigste time i euro er de samme timene som i kroner så for meg spiller det liten rolle.


    Ok. Jeg bruker samme sone så det burde funke. Sett på debug logging kjør en restart, hvis det fortsatt ikke virker. Åpne en issue og legg ved det som det kreves av template


    Sent from my iPhone using Tapatalk
  13. 14 minutter siden, stigvi skrev:

    Ser at nå virker den ikke hvis jeg ber om pris i NOK, men den virker med EUR. Sånn var det sist det var problemer med den.

    Må vel gjøre et seriøst forsøk på å hente Tibber sine priser.........

    Virker her nå. Det var en bug som nordpool igjen. Det virker som du har en eldre versjon av det underliggende nordpool pypi pakka. Den feiler hvis den ikke finner korrekt currency. Prøv å reload sensoren.

     

    Hvis det ikke blir stabilt skal jeg legge til en fallback metode some retter opp currency issues.

  14. 29 minutter siden, VikingOy skrev:

    Som jeg skrev - jeg har en (1) entity i min Nordpool Integrasjon og det er en sensor som heter :

    
    sensor.nordpool

    Jeg har ikke gjort noe for hverken å navngi den eller endre navnet på den. den dukket opp automatisk når integrasjonen ble installert.

    Er den satt opp via yaml eller config flow? Jeg syntes det pussig pga entity_id blir laget automatisk ut i fra settings som brukeren har valgt, men det spiller egentlig ikke noe rolle hva den heter. Så lenge du finner den kan du bruke den til det du ønsker.

  15. 26 minutter siden, VikingOy skrev:

    Jeg har selvsagt installert integrasjonen via HACS. Det jeg mener er at jeg finner ingen sensor som ligner på den som brukes i din automasjon.

    Sent from my SM-G935F using Tapatalk
     

    Jeg har default navn på min. Eneste jeg kan komme på er at du har gitt den ny entity id. Du kan jo sjekke under integrations for å finne navnet på nordpool sensoren.

  16. 1 time siden, stigvi skrev:

    Sånn som dette er jo en mulighet?

     

    
    
    
    
    {% set s = {
      "hourly_fixed_cost": 0.5352,
      "winter_night": 0.265,
      "winter_day": 0.465,
      "summer_day": 0.284,
      "summer_night": 0.246,
      "cert": 0.01
      }
    %}
    {% if now().month >= 5 and now().month <11 %}
        {%set p1 = s.summer_day+s.hourly_fixed_cost+s.cert%}}
        {%set p2 = s.night+s.hourly_fixed_cost+s.cert%}
    {% else %}
        {%set p1 = s.winter_day+s.hourly_fixed_cost+s.cert%}
        {%set p2 = s.winter_night+s.hourly_fixed_cost+s.cert%}
    {% endif %}
    {% set t = [p2,p2,p2,p2,p2,p2,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p2] %}
    {{ t }}

     

     

     

    Jeg endte opp med price_hour()

     

    Edit bruker now() siden den er global uansett.

     

     

     

    Så korrekt eksempel etter sist oppdatering skal være:

     

    Sist oppdatering skal også endre raw today raw tomorrow, today og tomorrow ihht template som ble lagt inn.

     

    {% set s = {
      "hourly_fixed_cost": 0.5352,
      "winter_night": 0.265,
      "winter_day": 0.465,
      "summer_day": 0.284,
      "summer_night": 0.246,
      "cert": 0.01
      }
    %}
    {% if price_hour().month >= 5 and price_hour().month <11 %}
        {% if price_hour().hour >=6 and price_hour().hour <23 %}
            {{s.summer_day+s.hourly_fixed_cost+s.cert}}
        {% else %}
            {{s.night+s.hourly_fixed_cost+s.cert}}
        {% endif %}
    {% else %}
        {% if price_hour().hour >=6 and price_hour().hour <23 %}
          {{s.winter_day+s.hourly_fixed_cost+s.cert}}
      {%else%}
          {{s.winter_night+s.hourly_fixed_cost+s.cert}}
       {% endif %}
      
    {% endif %}

     

    • Like 1
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.