Home Assistant, Tibber Pulse och Nord Pool

En av anledningarna till att skaffa Home Assistant är möjligheten att ta in information, bearbeta den och sedan automatisera system. En annan anledning som kanske väger lika tungt är att erhålla full kontroll över sin bostad, vare sig det handlar om lampor, automatstartning av kaffebryggaren klockan 05:35 eller smarta termostater som sänker temperaturen när det är dyr el.

Det kanske många frågar sig är vad saker och ting kostar att köra. Har du ett rörligt elavtal så vet du på förhand inte vad elen kommer kosta för månaden utan det får du reda på först i efterhand och kommer vara baserat på ett snittpris som är aningen viktat mot de dyra timmarna. Har du ett rörligt elavtal vet du inte vad du betalar för hushållsel och uppvärmning föräns efter månadens slut. Sitter du däremot på timavtal eller fastpris, eller som jag för tillfället: kombination av fastpris och timavtal så kan man räkna ut exakta kostnader i realtid. Hur man får in Tibber och Nord Pool i Home Assistant kommer inte tas upp här, den informationen finns på andra platser.

Med det sagt så införskaffade jag en Tibber Pulse i samband att jag gick från rörligt till timavtal. Integrationen ger en drös sensorer:

Entities för Tibber i Home Assistant.

Är man kund hos Tibber får man sin faktiska kostnad i Monthly cost (månadskostnad för tillfället) och accumulated cost (dagskostnad som nollställs varje dag):

Men det som faktiskt är intressant är det som kallas power, current L1, current L2, och current L3. För mig med solpaneler är även power production av intresse.

Power är inflödet från elnätet till elcentralen, det jag köper.

Power production är utflödet från elcentralen till elnätet, det jag säljer.

L1,L2 och L3 är faserna och dess belastning.

Från växelriktaren (Fronius) får jag även aktuell produktion från solpanelerna, låt oss kalla den Panel power. Utan att köpa in en extremt dyr (och slutsåld) smartmätare kan jag med några hundra kronor från Tibber och lite pill få ut all information jag behöver.

Husets aktuella förbrukning blir:

Husets förbrukning = Panel powerPower production + Power och kan göras enkelt med en template sensor i Home Assistant:

template:
  - sensor:
      - name: "Husets Förbrukning"
        unit_of_measurement: "W"
        state: >
          {% set produktion_paneler = states('sensor.fronius_inverter_power_ac_fix') | float %}
          {% set over_prod = states('sensor.power_production_hemmahuset') | float %}
          {% set under_prod = states('sensor.power_hemmahuset') | float %}
          {{ (produktion_paneler - over_prod + under_prod) | round(0, default=0) }}

Tillsamman med InfluxDB och Grafana (installation tas ej upp här) kan man få allt lite snyggt så här:

Grafana ger fina och stilrena grafer.

Sitter man som mig på en växelriktare från Fronius så är man säkert bekant med att den stängs av på natten och således tappar kontakten med Home Assistant. Det leder till sensorer som är Unavailable. Detta löses enkelt genom att skapa en template sensor som sätter värdet till 0 enligt följande:

template:
  - sensor:
      - name: "Fronius inverter power AC fix"
        unit_of_measurement: "W"
        state: >
         {% if states('sensor.power_ac_fronius_inverter_1_192_168_50_245') == 'unavailable' %}
           0
         {% else %}
           {{states('sensor.power_ac_fronius_inverter_1_192_168_50_245')}}
         {% endif %}

För att få ut elpris efter skatter, avgifter och allt annat de lägger på så kör jag med följande under nordpool:

nordpool:

sensor:
  - platform: nordpool
    VAT: True
    currency: "SEK"
    price_in_cents: true
    low_price_cutoff: 0.95
    region: "SE3"
    precision: 3
    price_type: kWh
    additional_costs: "{{0.0858|float}}"

Sista raden är en uppskattning jag gjort men stämmer inte riktigt på öret. Avgifter och påslag varierar lite beroende på pris och jag har inte lyckats hitta ett sätt att få ett exakt pris.

Med hjälp av apexcharts kan man få spotpriser att visas så här pedagogiskt:

Nu återgår vi till Tibber och sensorn accumulated consumption current hour. Den kräver inte att man är kund för att få ta del av! Denna sensorn kan vi utnyttja då den nollställs varje timme! Vi skapar en till template sensor och kombinerar ovanstående med aktuella spotpriset:

template:
  - sensor:
      - name: "Elkostnad denna timme med timpris [SEK]"
        unit_of_measurement: "SEK"
        state: >
          {% set current_hour_price = states('sensor.nordpool_kwh_se3_sek_3_095_025') | float %}
          {% set bought_el_this_hour_kwh = states('sensor.accumulated_consumption_current_hour_hemmahuset') | float %}
          {{ (current_hour_price * bought_el_this_hour_kwh / 100) | round(2, default=0) }}
        state_class: total_increasing

Det viktiga här är total_increasing, annars får man bara ett konstant värde.

Nu börjar det likna något men man är väl främst intressad av två saker; vad elen kostade denna dagen och vad elen kostar denna månaden. Dags att ta till en och annan helper! Skapa en Helper och tryck i Utility meter, välj din timkostnads-baserade sensor och sätt Meter reset cycle till daily.

Gör om samma fast sätt monthly för att få en sensor över månadskostnaden.

Eftersom jag sitter på en kombiavtal (80% fastpris 1 kr/kWh och 20% rörligt per timme) är jag intresserad av skillnaden i pris mellan avtalen. Jag har skapat en drös fler template-sensorer som även uppskattar den faktiska kostnaden och kan då se att jag hade betalat mindre idag om jag hade haft timavtal:

Nåja, det kanske går jämt ut om priserna plötsligt stiger 🙂


Publicerat

i

,

av

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *