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

Tibber i Home Assistant


Anbefalte innlegg

9 hours ago, stigvi said:

Da tar jeg sjansen på å vise hva jeg har.

Hvilket card er dette? Det vil jeg også ha :) 

image.png.df79287022da7d3008d2777ad8a298fc.png

 

 

I øyeblikket er det meste på testbasis for å finne ut av hvilken data jeg trenger for å kunne analysere forbruksmønster osv. Jeg kjører en hjemmesnekret ESPhome-ESP32-Mbus som gir meg data fra måleren, men bestiller nok Pulse straks de får den inn igjen. Her burde vi på Hjemmeautomasjon.no få både rabatt og andre goder fra Tibber så mye som det reklameres for dem her inne. Tipper de har fått mange kunder ut ifra dette forumet.

 

Dette er mitt oppsett. Iallefall det som er verd å vise. Har et testview i tillegg med masse gøyalt kaos :) 

image.thumb.png.5e9c8aa19903438eae2b530cc8ca99ea.png

Endret av Mathias
Lenke til kommentar
Del på andre sider

15 minutter siden, Mathias skrev:

Hvilket card er dette? Det vil jeg også ha

aggregate_func: avg
entities:
  - entity: sensor.consumption_lastday
    index: 0
    name: Forbruk
group_by: date
hour24: true
hours_to_show: 240
name: Forbruk pr dag
show:
  graph: bar
type: 'custom:mini-graph-card'

 

  • Like 1
Lenke til kommentar
Del på andre sider

@stigvi

Hei kan du vær så snill dele din kode.

 

Quote
13 hours ago, stigvi said:

Da tar jeg sjansen på å vise hva jeg har. Alt sammen (bortsett fra en liten detalj) er data som kommer i fra Tibber komponenten. Forbruk pr dag, måned og år kommer ikke fra Utility komponenten til HA. Fant ut den ikke telte kilowattimer like nøyaktig som måleren i skapet. Dessuten har den skifte til ny dag nøyaktig ved midnatt, mens Tibber komponenten gjerne kan levere data noen sekunder etter midnatt. Da havnet noe av forbruket på feil døgn i utility komponenten.
image.thumb.png.ef7a9c6168b4d3565f2bd9a05c4e4d0f.png
 

 

 

Lenke til kommentar
Del på andre sider

Angående prisnivå, så er dette muligens litt misvisende i slike perioder vi er inne i nå, når prisvariasjonen er såpass lav.

Tibber har beskrevet beregningen her: https://developer.tibber.com/docs/reference#pricelevel

 

Price level based on trailing price average (3 days for hourly values and 30 days for daily values)

 

Value Description
NORMAL

The price is greater than 90 % and smaller than 115 % compared to average price.

CHEAP

The price is greater than 60 % and smaller or equal to 90 % compared to average price.

VERY_CHEAP

The price is smaller or equal to 60 % compared to average price.

EXPENSIVE

The price is greater or equal to 115 % and smaller than 140 % compared to average price.

VERY_EXPENSIVE

The price is greater or equal to 140 % compared to average price.

Endret av ThoStaKa
Lenke til kommentar
Del på andre sider

21 minutes ago, stigvi said:

Ja, men hva vil du ha? Mye er bare enkle ting i brukergrensesnittet. Eneste "kode" er dette med forbruk siste døgn, måned og år

 

Jeg vil ha kode med forbruk siste døgn, måned og år. 

Endret av Smil
Lenke til kommentar
Del på andre sider

22 minutter siden, Smil skrev:

Jeg vil ha kode med forbruk siste døgn, måned og år. 


Brukergrensesnitt

		- cards:
          - aggregate_func: avg
            entities:
              - entity: sensor.consumption_lastday
                index: 0
                name: Forbruk
            group_by: date
            hour24: true
            hours_to_show: 240
            name: Forbruk pr dag
            show:
              graph: bar
            type: 'custom:mini-graph-card'
          - entity: sensor.accumulatedconsumption
            name: Forbruk i dag
            type: sensor
          - entity: sensor.consumption_thismonth
            type: sensor
          - entity: sensor.consumption_thisyear
            type: sensor
        type: vertical-stack



Sensorer
 

  - platform: template
    sensors:      
	  consumption_thisyear:
        friendly_name: "Forbruk dette år"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofyear'))) | round(1) }}"

      consumption_thismonth:
        friendly_name: "Forbruk denne måned"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofmonth'))) | round(1) }}"

      consumption_thisday:
        friendly_name: "Forbruk i dag"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofday'))) | round(1) }}"

      consumption_lastday:
        friendly_name: "Forbruk i går"
        unit_of_measurement: 'kWh'
        value_template: "{{ float(states('input_number.consumption_lastday')) }}"

 

input_number:
  consumption_startofyear:
    name: Målerstand start på år
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_startofmonth:
    name: Målerstand start på måned
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_startofday:
    name: Målerstand start på dag
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_lastday:
    name: Forbruk forrige dag
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter


Automasjoner

- id: manedsskifte
  alias: Månedsskifte
  description: ''
  trigger:
  - at: 0:30:00
    platform: time
  condition:
  - condition: template
    value_template: '{{ now().day == 1 }}'
  action:
  - alias: ''
    data_template:
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
      entity_id: input_number.consumption_startofmonth
    service: input_number.set_value
- id: aarsskifte
  alias: Årsskifte
  description: ''
  trigger:
  - at: 0:30:00
    platform: time
  condition:
  - condition: template
    value_template: '{{ now().day == 1 and now().month == 1 }}'
  action:
  - alias: ''
    data_template:
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
      entity_id: input_number.consumption_startofyear
    service: input_number.set_value
- id: dagskifte
  alias: Dagskifte
  description: ''
  trigger:
  - at: 0:05:00
    platform: time
  action:
  - alias: ''
    data_template:
      entity_id: input_number.consumption_lastday
      value: '{{ (state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') - float(states(''input_number.consumption_startofday'')))
        | round(1) }}'
    service: input_number.set_value
  - alias: ''
    data_template:
      entity_id: input_number.consumption_startofday
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
    service: input_number.set_value



Og det tror jeg var alt...........

PS. Ser innrykk  ble feil noen steder.

Endret av stigvi
  • Like 1
  • Thanks 1
Lenke til kommentar
Del på andre sider

20 hours ago, stigvi said:


Brukergrensesnitt


		- cards:
          - aggregate_func: avg
            entities:
              - entity: sensor.consumption_lastday
                index: 0
                name: Forbruk
            group_by: date
            hour24: true
            hours_to_show: 240
            name: Forbruk pr dag
            show:
              graph: bar
            type: 'custom:mini-graph-card'
          - entity: sensor.accumulatedconsumption
            name: Forbruk i dag
            type: sensor
          - entity: sensor.consumption_thismonth
            type: sensor
          - entity: sensor.consumption_thisyear
            type: sensor
        type: vertical-stack



Sensorer
 


  - platform: template
    sensors:      
	  consumption_thisyear:
        friendly_name: "Forbruk dette år"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofyear'))) | round(1) }}"

      consumption_thismonth:
        friendly_name: "Forbruk denne måned"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofmonth'))) | round(1) }}"

      consumption_thisday:
        friendly_name: "Forbruk i dag"
        unit_of_measurement: 'kWh'
        value_template: "{{ (state_attr('sensor.real_time_consumption_gabriel_edlands_veg_16', 'lastMeterConsumption') - float(states('input_number.consumption_startofday'))) | round(1) }}"

      consumption_lastday:
        friendly_name: "Forbruk i går"
        unit_of_measurement: 'kWh'
        value_template: "{{ float(states('input_number.consumption_lastday')) }}"

 


input_number:
  consumption_startofyear:
    name: Målerstand start på år
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_startofmonth:
    name: Målerstand start på måned
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_startofday:
    name: Målerstand start på dag
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter
  consumption_lastday:
    name: Forbruk forrige dag
    max: 999999999
    min: 0
    step: 0.1
    mode: box
    unit_of_measurement: 'kWh'
    icon: mdi:counter


Automasjoner


- id: manedsskifte
  alias: Månedsskifte
  description: ''
  trigger:
  - at: 0:30:00
    platform: time
  condition:
  - condition: template
    value_template: '{{ now().day == 1 }}'
  action:
  - alias: ''
    data_template:
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
      entity_id: input_number.consumption_startofmonth
    service: input_number.set_value
- id: aarsskifte
  alias: Årsskifte
  description: ''
  trigger:
  - at: 0:30:00
    platform: time
  condition:
  - condition: template
    value_template: '{{ now().day == 1 and now().month == 1 }}'
  action:
  - alias: ''
    data_template:
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
      entity_id: input_number.consumption_startofyear
    service: input_number.set_value
- id: dagskifte
  alias: Dagskifte
  description: ''
  trigger:
  - at: 0:05:00
    platform: time
  action:
  - alias: ''
    data_template:
      entity_id: input_number.consumption_lastday
      value: '{{ (state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') - float(states(''input_number.consumption_startofday'')))
        | round(1) }}'
    service: input_number.set_value
  - alias: ''
    data_template:
      entity_id: input_number.consumption_startofday
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
    service: input_number.set_value



Og det tror jeg var alt...........

PS. Ser innrykk  ble feil noen steder.

 

Tusen takk !  Hvordan får jeg Min og Max pris i kortet

Screen Shot 2020-04-16 at 16.39.01 copy.png

 

Min kort ser ut sånn 

Screenshot_20200416_073013.jpg

Endret av Smil
Lenke til kommentar
Del på andre sider

1 time siden, stigvi skrev:

Bare fram til klokken 0:05 da en automasjon setter den til en verdi.

Ok, kan være at jeg som tolker automasjonen feil.

- id: dagskifte
  alias: Dagskifte
  description: ''
  trigger:
  - at: 0:05:00
    platform: time
  action:
  - alias: ''
    data_template:
      entity_id: input_number.consumption_lastday
      value: '{{ (state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') - float(states(''input_number.consumption_startofday'')))
        | round(1) }}'
    service: input_number.set_value
  - alias: ''
    data_template:
      entity_id: input_number.consumption_startofday
      value: '{{ state_attr(''sensor.real_time_consumption_gabriel_edlands_veg_16'',
        ''lastMeterConsumption'') }}'
    service: input_number.set_value

Sånn tolker jeg den:

Klokken ca 00:00:10 blir målerstanden oppdatert, la oss si at målerstanden blir 1000 kWh.

 

Og klokken 00:05:00 vil "input_number.consumption_startofday" få verdien 1000 kWh og "input_number.consumption_lastday" vil få målerstand(1000 kWh) minus "input_number.consumption_startofday"(1000 kWh) som blir 0 kWh

 

Er det jeg som tenker feil??:)

 

Lenke til kommentar
Del på andre sider

2 timer siden, Offpiste skrev:

show: extrema: true

Stemmer ?

Hele kortet ser slik ut.

 

color_thresholds:
  - color: '#ff0000'
    value: 0.9
  - color: '#eeee00'
    value: 0.6
  - color: '#008800'
    value: 0
decimals: 3
entities:
  - entity: sensor.electricity_price_orstad
    index: 0
    name: Pris
hour24: true
lower_bound: 0
name: Pris
points_per_hour: 1
show:
  extrema: true
type: 'custom:mini-graph-card'
upper_bound: 1.2

 

  • Thanks 1
Lenke til kommentar
Del på andre sider

21 minutter siden, stigvi skrev:

Automasjonen kjøres fra topp til bunn. Så først settes input_number.consumption_lastday og deretter settes input_number.consumption_startofday

?

Det tenkte jeg ikke på :) 

Ser at den virker nå :)

Endret av Offpiste
Lenke til kommentar
Del på andre sider

Hej!

 

Många bra tips i detta forum! Jag undrar om någon lyckats använda framtida elpris som en variabel? Jag har lyckats hitta ett sätt att visa morgondagens pris i en graf efter kl 12 idag. Men jag skulle även vilja kolla på priset en viss tid framöver som variabel. Tex för att hålla koll på när jag ska starta golvvärmen. Visste jag vad priset är om 2h kunde jag starta golvvärmen tidigare om priset går upp och senare om det fortfarande är lågt. På så sätt anv den billiga elen till uppvärmning o sen dyr bara till att hålla temperaturen. 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 2 måneder senere...
  • 3 uker senere...

Dumt spørsmål: Har ikke Tibber en integrasjon med/i HA? Det man altså kaller en 'add-on' i hass.io

 

Tibber skriver på sine sider: "Til Home Assistant er det en plugin for Tibber som gir.." - antar det er denne de snakker om: https://www.home-assistant.io/integrations/tibber/ . Hvordan tar jeg i bruk denne på hass.io uten å måtte kode/lage ting fra bunnen av?

Lenke til kommentar
Del på andre sider

4 timer siden, Torbjorn skrev:

Hvordan tar jeg i bruk denne på hass.io uten å måtte kode/lage ting fra bunnen av?

Du trykker på tannhjulet for konfigurasjon i Home Assistant. Så velger du integrasjoner og der inne trykker du på + knappen for å legge til. Finn fram Tibber i den lange listen.

Så må du lage en visning av verdi i Lovelace (brukegrensesnitt). Her er det mange veier til målet, men du kan på Tibber integrasjonen som du nettopp har lagt til, trykke på linken det står "1 enhet" på. Deretter trykker du på din enhet i listen og deretter "Legg til i Lovelace"

Den andre måten er å gå til det skjermbildet du vil ha den i og trykke på ... menyen øverst til høyre. Trykk deretter på + og velg "Entitet". Deretter velger du Tibber sensoren din og lagre.

  • Like 1
Lenke til kommentar
Del på andre sider

12 hours ago, stigvi said:

Du trykker på tannhjulet for konfigurasjon i Home Assistant. Så velger du integrasjoner og der inne trykker du på + knappen for å legge til. Finn fram Tibber i den lange listen.

Wow. Snakk om å føle seg dum ;D "integrasjoner", den hadde jeg helt oversett. 

 

Takk :)

Lenke til kommentar
Del på andre sider

  • 4 uker senere...
På 31.12.2018 den 14.51, Offpiste skrev:

Fikk dette til å virke, men er det mulig å disable UI kun for 1 tab, og ikke hele installasjonen? 

Edit: Fikk alt til å virke ved å hente ut koden fra ui-lovelance.yaml, og bygge det opp som egne kort med vert./horiz. stack :)

 



  - title: AMS
    cards:
      - type: gauge
        entity: sensor.real_time_consumption_xxx
        min: 0
        max: 5000
        severity:
          green: 600
          yellow: 2100
          red: 4000
      - type: gauge
        entity: sensor.electricity_price_xxx
        min: 0
        max: 1
        severity:
          green: 0
          yellow: 0.5
          red: 1
      - type: vertical-stack
        cards:
          - type: horizontal-stack
            cards:
              - type: entities
                entities: 
                  - entity: sensor.minpower
                    name: Min
                    secondary_info: last-changed
                  - type: section
                  - entity: sensor.averagepower
                    name: Snitt
                  - type: section
                  - entity: sensor.maxpower
                    name: Max
                    secondary_info: last-changed
                  - type: section
                  - entity: sensor.accumulatedconsumption
                    name: Forbruk
              - type: entities
                entities: 
                  - entity: sensor.min
                    name: Min
                  - type: section
                  - entity: sensor.avg
                    name: Snitt
                  - type: section
                  - entity: sensor.max
                    name: Max
                  - type: section
                  - entity: sensor.accumulatedcost
                    name: Kostnad
          - type: entities
            entities:
              - input_number.max_w
          - type: glance
            entities:
              - sensor.tibber_volt
              - sensor.tibber_amp
          - type: entities
            entities:
              - sensor.nett
              - sensor.estimert
              - sensor.time

 

 

Endret av FredrikNas
Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • 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.