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

Varmestyring - komme i gang


Anbefalte innlegg

Hei igjen,

vil gjerne ha litt automasjon på mine 6stk heatit termostater. Alle i bruk på varmekabler i underetasje.  Natt/dagsenk og unngå strømtoppene med pris fra tibber.

Har funnet inspirasjon i stigvi sin tråd: "Varmestyring med bayesian sensor", men jeg forstår ikke helt hvordan det fungerer med stastistikken osv, så noe mer simpelt hadde sikkert fungert for meg :)  Er relativt blank på kodingen og hvilken kode som skal hvor i  HA, det vil være veldig nyttig med eksempler fra folk her inne på oppsett osv :)

 

Takk!

 

 

 

Lenke til kommentar
Del på andre sider

1 minutt siden, hjemmedude skrev:

stigvi sin tråd: "Varmestyring med bayesian sensor", men jeg forstår ikke helt hvordan det fungerer med stastistikken osv, så noe mer simpelt hadde sikkert fungert for meg


Årsaken til at jeg valgte å bruke bayesian sensor er at jeg av erfaring vet at noe som baseres på tradisjonell logikk fort blir enda mer komplisert. Men det er avhengig av hvor mye du ønsker å styre ut i fra. På varmekabler og panelovner har jeg ca 14-15 inn-signaler. Det blir mye å ta hensyn til med logiske tilstander. Selv synes jeg det er veldig oversiktlig med bayesian sensor, men å finne rette tallverdier å sette inn kan være litt vanskelig.

Lenke til kommentar
Del på andre sider

Ja jeg tror strømtoppene/pristoppen blir første logikk, og så får jeg se etter det. 

Eller kanskje nattsenking da den er nokså bankers - men henger sammen med pris det også tidlig på morgenen.


I SmartThings brukte jeg aldri strømprisen til noe - Tibber tok seg av all logikk. Kikka litt i Tibber appen på rapportert forbruk time for time, og i det verste toppene var forbruket mitt  ofte lavere enn timen før. Om man lager middag til vanlig tid så drar dette snittet en del i feil retning.

 

Basert på dette antar jeg at jeg sparte litt med Tibber-logikken aktivert 😊 

Lenke til kommentar
Del på andre sider

  • 2 uker senere...

Hei igjen.. er ca like langt på vei som sist, dvs helt i startgropa på varmestyring. Andre ting og tang har blitt prioritert, tenk seg til..

Men om noen vil sette meg på sporet av noe kode som kan gi enkel nattsenking så er jeg takknemlig. Og hvor i HA dette skal inn, config.yaml for eks?

 

Et annet spørsmål er historikk-kortet, jeg klarer å vise temperatur fra gulvføler siste x timer på 5 termostater, den 6 tøyser seg til og ligger som en fargepalett øverst. Men i grafen er det ikke friendly_name som dukker opp, jeg har heller ikke spesifisert det i kortet så ikke så rart kanskje. Noen tips til å løse den? 

Lenke til kommentar
Del på andre sider

Takk for det stigvi, googla litt men fant ingen løsning i går, men i dag er paletten borte og grafen på plass. :)

Så da er det nattsenking som står for tur igjen, må jo klare snikre sammen noe lurt.. :)

 

Kikka litt på tibber developer api og her har man jo gode muligheter for å justere forbruk ut i fra strømprisen ja. https://developer.tibber.com/docs/reference#pricelevel

Men det var ikke akkurat det jeg kikka etter nå :D

 

Sitat

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.

 

da har jeg omsider klart å stille temperatur til gitt tidspunkt på 1 termostat.

- alias: Dagtemperatur
  trigger:
    - platform: time
      at: "04:00:00"
    - platform: homeassistant
      event: start 
  condition:
     condition: time
     after: "04:00:00"
     before: "21:30:00"
  action:
    service: climate.set_temperature
    entity_id: climate.bad
    data:
      temperature: 26
- alias: Nattsenking
  trigger:
  - platform: time
    at: "21:30:00"
  - platform: homeassistant
    event: start
  condition:
    condition: time
    after: "21:30:00"
    before: "04:00:00"
  action:
    service: climate.set_temperature
    entity_id: climate.bad
    data:
      temperature: 24
      

Ser at løsningen ikke er helt god likevel, for

1. om noen manuelt har stilt temperatur opp eller ned så vil man miste denne justeringen.

2. jeg må skrive mange linjer kode for å få gjort en liten del jobb. Jeg ønsker å velge 2-3 termostater om gangen og senke disse med 2-3 grader basert på set-temperatur.

3. jeg må skrive like mye kode når temperaturen skal opp igjen kl 0400 på morgenen...?

 

4. Kan man bruke denne for å velge flere termostater? For eks 'climate.bad , climate.vaskrom' , osv ??? Eller må man gruppere termostater og iterere i state_attr funksjonen?

entity_id: climate.bad
      temperature: "{{(state_attr('climate.bad' , 'temperature')|round(0)) - 2 }}"

 

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

- alias: Dagtemperatur
  trigger:
    - platform: time
      at: "04:00:00"
    - platform: homeassistant
      event: start 
  condition:
     condition: time
     after: "04:00:00"
     before: "21:30:00"
  action:
    service: climate.set_temperature
    data:
      entity_id: climate.bad
      temperature: "{{(state_attr('climate.bad' , 'temperature')|round(0)) + 2 }}"
- alias: Nattsenking
  trigger:
  - platform: time
    at: "21:30:00"
  - platform: homeassistant
    event: start
  condition:
    condition: time
    after: "21:30:00"
    before: "04:00:00"
  action:
    service: climate.set_temperature
    data:
      entity_id: climate.bad
      temperature: "{{(state_attr('climate.bad' , 'temperature')|round(0)) - 2 }}"

Kan man bruke denne for å velge flere termostater? For eks 'climate.bad , climate.vaskrom' , osv ??? Eller må man gruppere termostater og iterere i state_attr funksjonen?

 

Kommer stadig nærmere, har laget en gruppe i groups.yaml som ser slik ut:

Termostater_gruppe_nattsenking:
  name: Termostater gruppe nattsenking
  entities:
    - climate.bad
    - climate.vaskerom
    - climate.gjesterom

Så nå trenger jeg bare finne ut hvordan hente ut entitetene fra gruppe-objektet og bruke kommandoen her til å få satt temperatur..

temperature: "{{(state_attr('groups.Termostater_gruppe_nattsenking.variabel_for_å_finne_objektetene_i_arrayen?' , 'temperature')|round(0)) - 2 }}"

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

På 24.9.2020 den 10.17, hjemmedude skrev:

Ser at løsningen ikke er helt god likevel, for

1. om noen manuelt har stilt temperatur opp eller ned så vil man miste denne justeringen.

2. jeg må skrive mange linjer kode for å få gjort en liten del jobb. Jeg ønsker å velge 2-3 termostater om gangen og senke disse med 2-3 grader basert på set-temperatur.

3. jeg må skrive like mye kode når temperaturen skal opp igjen kl 0400 på morgenen...?

 

4. Kan man bruke denne for å velge flere termostater? For eks 'climate.bad , climate.vaskrom' , osv ??? Eller må man gruppere termostater og iterere i state_attr funksjonen?

....

 

 

Hei, laget et eksempel på kanskje hvordan det kan gjøres:

(Kan være noen skrivefeil her og der i koden :) )

automation:
# Nattsenk
- alias: natt
  trigger:
    platform: time
    at: 21:30:00
  action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.bad_dag_settpunkt
        value: "{{ (state_attr('climate.bad', 'temperature') }}"
    - service: input_number.set_value
      data_template:
        entity_id: input_number.vaskerom_dag_settpunkt
        value: "{{ (state_attr('climate.vaskerom', 'temperature') }}"
    - service: input_number.set_value
      data_template:
        entity_id: input_number.gjesterom_dag_settpunkt
        value: "{{ (state_attr('climate.gjesterom', 'temperature') }}"
    - delay:
        seconds: 2
    - service: climate.set_temperature
      data_template:
        entity_id: climate.bad
        temperature: "{{ (float(states('input_number.bad_dag_settpunkt')) - float(states('input_number.nattsenk_settpunkt'))) |round }}"
    - service: climate.set_temperature
      data_template:
        entity_id: climate.vaskerom
        temperature: "{{ (float(states('input_number.vaskerom_dag_settpunkt')) - float(states('input_number.nattsenk_settpunkt'))) |round }}"
    - service: climate.set_temperature
      data_template:
        entity_id: climate.gjesterom
        temperature: "{{ (float(states('input_number.gjesterom_dag_settpunkt')) - float(states('input_number.nattsenk_settpunkt))) |round }}"
# Dag
- alias: dag
  trigger:
    - platform: time
      at: "04:00:00"
  action:
  - service: climate.set_temperature
    data_template:
      entity_id: climate.bad
      temperature: "{{ states('input_number.bad_dag_settpunkt') }}"
  - service: climate.set_temperature
    data_template:
      entity_id: climate.vaskerom
      temperature: "{{ states('input_number.vaskerom_dag_settpunkt') }}"
  - service: climate.set_temperature
    data_template:
      entity_id: climate.gjesterom
      temperature: "{{ states('input_number.gjesterom_dag_settpunkt') }}"


input_number:
  bad_dag_settpunkt:
    name: "Dag Settpunkt Bad"
    max: 40
    min: 10
    step: 1
    mode: box
    unit_of_measurement: '°C'

  vaskerom_dag_settpunkt:
    name: "Dag Settpunkt Vaskerom"
    max: 40
    min: 10
    step: 1
    mode: box
    unit_of_measurement: '°C'

  gjesterom_dag_settpunkt:
    name: "Dag Settpunkt Gjesterom"
    max: 40
    min: 10
    step: 1
    mode: box
    unit_of_measurement: '°C'

  nattsenk_settpunkt:
    name: "Nattsenk alle rom"
    max: 5
    min: 0
    step: 1
    mode: box
    icon:mdi:sleep
    unit_of_measurement: '°C'

-Når klokken er 21:30 henter den settpunktene og lagrer det i input_number, deretter tar den settpunktet minus det du ønsket å senke med og sender til termostaten.image.png.0a9bd24c004d8b384d824d034e097f1f.png

- Når klokken er 04:00 henter den settpunkt som den har hentet og lagret i input_number dagen før og sender dette til termostaten.

 

 

Endret av Offpiste
Skrivefeil
Lenke til kommentar
Del på andre sider

Takk for dette Offpiste! Skal gjøre en test av dette ila dagen 🙂

Et punkt til på lista, en boolean bryter som aktiverer/deaktiverer denne automasjonen (trengs ikke natt/dagsenk når man er bortreist og temperatur allerede er nedjustert). Blir å se på dette etter Offpiste sin kode er lagt til.

Lenke til kommentar
Del på andre sider

På 9.9.2020 den 10.59, stigvi skrev:

Årsaken til at jeg valgte å bruke bayesian sensor er at jeg av erfaring vet at noe som baseres på tradisjonell logikk fort blir enda mer komplisert.

 

42 minutter siden, hjemmedude skrev:

Et punkt til på lista,



Det går rette veien 🙂

Lenke til kommentar
Del på andre sider

På 26.9.2020 den 19.19, Offpiste skrev:

Når klokken er 21:30 henter den settpunktene og lagrer det i input_number, deretter tar den settpunktet minus det du ønsket å senke med og sender til termostaten.


Har du ikke termostater som "husker" forskjellige temperaturer og der du veksler mellom "borte-", "økonomi-" og "komfort-profil" ?

Endret av stigvi
Lenke til kommentar
Del på andre sider

11 minutter siden, stigvi skrev:

 



Det går rette veien 🙂

Hehe, du mener det fort blir for komplisert eller? ;)

 

9 minutter siden, stigvi skrev:


Har du ikke termostater som "husker" forskjellige temperaturer og der du veksler mellom "borte-", "økonomi-" og "komfort-profil" ?

 

Jo når du sier det så. Mine heatit har vel eco og comfort modus. Disse har jeg aldri brukt. 

Hva om noen stiller opp temperatur på eco-modusen fordi det er kaldt, da blir systemet ute av sync sånn jeg skjønner det. Det kan jo også skje i eksemeplet til Offpiste, men der blir i alle fall tmeperatur justert ned x grader hver kveld.. :)

Lenke til kommentar
Del på andre sider

Input_numbers: , skal dette ikke plasseres i automation.yaml ?

edit: plassert i input_numbers.yaml og inkludert i configuraiton.yaml.

 

Så nå validerer i alle fall koden, og  jeg har lagt til boksen i lovelacen. :) Det tok litt tid i dag, men lærer stadig her. Veldig gøy!


Ser dog ikke bort i fra at alt blir gjort om etterhvert som mer kunnskap og info dukker opp 😛 Takk for input sålangt :)

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

Fant kanskje en måte å ordne automation on/off på, bruker en knapp til å deaktivere automasjonene om vi er borte.

- service: automation.turn_off
      entity_id: automation.natt

- service: automation.turn_off
      entity_id: automation.dag

 

Hadde egentlig ikke tenkt å kjøpe tibber pulse, da jeg ikke helt ser nytten (heller 1000kr i avslag på elbil-lader en gang i fremtiden). Det er mye kul info som kan hentes ut, men hvor nyttig er det? Vi kommer til å bruke strøm som "vanlig", bortsett fra oppvarming hvor jeg også etterhvert må se på strømprisen og gjøre noen grep for å justere rundt den ila et døgn.

Noen som vil motbevise/overbevise meg om at jeg trenger tibber pulse? 


 

Lenke til kommentar
Del på andre sider

For å sette comfort-temp når man er tilbake fra ferie (gjerne noen timer før) så tenkte jeg enkelt og hardkoda inn temperatur som sendes til samtlige termostater (6 stk).

Men etter at jeg tester dette så er det ikke alle termostater som blir oppdatert. Jeg forsøkte delay 2 seconds mellom hver service, men til liten nytte (jeg tenkte det ble storm på z-wave nettet :) )

Har dere en god forklaring og mulig løsning?

 

#Hjemme
- alias: hjemme
  trigger:
    - platform: state
      entity_id: input_boolean.bortemodus
      to: 'off'
  action: 
#Aktiver automasjon for nattsenking/dagtemp når vi er hjemme
  - service: homeassistant.turn_on
    data_template:
      entity_id: automation.natt
  - service: homeassistant.turn_on
    data_template:
      entity_id: automation.dag
#Sett temperatur til comfort-temp
  - service: climate.set_temperature
    data_template:
      entity_id: climate.bad
      temperature: 26
  - delay: 
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.remotec_stue
      temperature: 22
  - delay: 
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.vaskerom
      temperature: 24
  - delay: 
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.gjesterom
      temperature: 18
  - delay: 
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.gang
      temperature: 25
  - delay:    
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.soverom2
      temperature: 18
  - delay: 
      seconds: 2
  - service: climate.set_temperature
    data_template:
      entity_id: climate.soverom
      temperature: 18

 

Lenke til kommentar
Del på andre sider

47 minutes ago, hjemmedude said:

For å sette comfort-temp når man er tilbake fra ferie (gjerne noen timer før) så tenkte jeg enkelt og hardkoda inn temperatur som sendes til samtlige termostater (6 stk).

Men etter at jeg tester dette så er det ikke alle termostater som blir oppdatert. Jeg forsøkte delay 2 seconds mellom hver service, men til liten nytte (jeg tenkte det ble storm på z-wave nettet :) )

Har dere en god forklaring og mulig løsning?

 

Jeg hadde samme utfordring med noen av termostatene og for min del ble løsningen å ikke bare sette temperaturen, men også hvac_mode samtidig på de som ikke ble oppdatert. Konsekvent satt jeg da hvac_mode først og deretter temp uten delay mellom. Usikker på om dette er løsningen for deg, men det funket hos meg :) 

Lenke til kommentar
Del på andre sider

32 minutter siden, Mathias skrev:

 

Jeg hadde samme utfordring med noen av termostatene og for min del ble løsningen å ikke bare sette temperaturen, men også hvac_mode samtidig på de som ikke ble oppdatert. Konsekvent satt jeg da hvac_mode først og deretter temp uten delay mellom. Usikker på om dette er løsningen for deg, men det funket hos meg :) 

 

Takk for tips, skal prøve det. 🙂

Lenke til kommentar
Del på andre sider

Ups, flytta serveren fysisk til et annet rom, og nå kommuniserer ikke z wave sticken noe særlig med termostater. Mye feilmeldinger i ozw. Kan være jeg har kobla den i en annen USB inngang, men systemet detekterer den likt som før. Noen råd?

 

etter en restart er alle termostater utilgjengelige.. er det grei skuring og legge til heatit på nytt eller må de ekskluderes først?

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

Ok avventer litt. 
Får følgende beskjed på alle z wave enheter minus dongle:

Denne entiteten er ikke tilgjengelig for øyeblikket og er foreldreløs til en fjernet, endret eller ikke-fungerende integrasjon eller enhet.

Hvis entiteten ikke lenger er i bruk, kan du rense den opp ved å fjerne den.

FJERN ENTITET

 

edit: la til en node for test på nytt. Gikk såpass raskt at alle er lagt til på nytt nå.

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Hei igjen, nattsenking fungerer fint. Bortemodus også 🙂 Veldig fornøyd med HA. 
Vil gjerne utnytte strømprisen for litt ekstra oppvarming før strømtoppen slår til.

Har Tibber så da burde kanskje det være enkel sak?

Noen som har en god taktikk for å få til dette? 
Forresten, det blir mye kode totaltsett. Kan man bruke for-løkker for å iterere grupper av termostater og så sette temp?

Endret av hjemmedude
Lenke til kommentar
Del på andre sider

  • 1 måned senere...

Hei igjen, kikker litt på dette igjen :)

 

Vurderer å bruke billigere perioder for å øke set temp og normal/expensive/very expensive blir som i dag - normal comfort set temperatur.

 

Dag: kl 0400

  • øker temp til comforttemp på hovedbad, gjesterom, vaskerom, kontor. Dette har offpiste allerede hjulpet med, fungerer helt topp 🙂

Så vurderer jeg å legge til dette som da blir styrt av strømpris i løpet av dagen:

  • når prisnivå er very cheap og cheap: Øke set-temp med 1 (eller 2) grad over normal comfort temperatur. 
  • når prisnivå er normal, expensive, very exp: normal comfort temperatur

Natt: kl 2200

  • Nattsenking senker temperatur med 3 grader under comfort temp på hovedbad, gjesterom, vaskerom, kontor.
  • når prisnivå er very cheap og cheap: Øke set-temp med 1 (eller 2) grad over normal comfort temperatur.

 

Noen tanker om dette er "riktig" vei å gå?

Vanskelig spørsmål, men bruker jeg mer/mindre/like mye strøm med slik logikk? 

Strømregning blir nok marginalt lavere, men for å varme huset til ønsket temperatur forbruker jeg vel like mye som før.. :)

 

Tibber PriceLevel for info:

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.

Lenke til kommentar
Del på andre sider

28 minutter siden, hjemmedude skrev:

ibber PriceLevel for info:

Det er et problem med dette og det er at denne fra Tibber ikke tar hensyn til nettleie. Hvis du tar hensyn til den så ser du at perioder som er billige (og dyrere) blir langt sjeldnere. Hvis du bruker Tibber sin direkte så øker du varmen når strømmen ikke er så billig allikevel og du skrur av varme når prisen fortsatt er normal.

Jeg har selv laget min egen "price level" sensor, men det er for Home Assistant så det er neppe nyttig for deg.

Endret av stigvi
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.