Home Assistant - IVT - Tibber - Extrem nybörjare

Permalänk
Medlem

Home Assistant - IVT - Tibber - Extrem nybörjare

Hej!

Vill börja med att jag verkligen inte kan något om programmering och inser redan nu att jag har gett mig in på mycket djupt vatten.

Köpte en Raspberry pi 4 och tänkte väll att det bara var att slänga in Home Assistant och installera programmen för IVT och Tibber.

Detta är nu gjort men man ska skriva koden som jag inte har en aning om hur man gör, har googlat lite och tror jag har hittat en kod som är liknande av det jag söker.

https://www.reddit.com/r/homeassistant/comments/v4qyqa/automa...

Det jag helt enkelt vill är att min pump water_heater.dhw1 ska ställa in temp efter sensor.electricity_price_adress

Vill ju självklart lära mig att göra mer bra saker men tänkte att detta kanske är relativt enkelt för någon som kan.

Kan tänka mig att betala en slant för hjälpen och har möjlighet att strömma skärmen via discord om någon kan hjälpa mig lite mer hands on.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

PriceLevel är lite trubbigt när det sker stora förändringar på prisnivå på kort tid (exempelvis går från helg till måndag) - då ingår helgens pris i underlaget och hela måndagen kan klassas som dyr.

Jag har löst det genom att titta på dygnets priser istället, och hitta på egna värden som baserat på dygnets max och min pris.

Jag har en templatesensor som tar in nordpool-priset ( med hjälp av https://github.com/custom-components/nordpool )

Templatesensorn är definierad så här för mig:

- name: "Price level" state: "{% set max = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'max') | float %} {% set mean = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'mean') | float %} {% set min = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'min') | float %} {% set current = states('sensor.nordpool_kwh_se3_sek_3_10_025') | float %} {% set very_expensive = max-(max-mean)*0.3 %} {% set expensive = max-(max-mean)*0.6 %} {% set cheap = min+(mean-min)*0.6 %} {% set very_cheap = min+(mean-min)*0.3 %} {% if current > very_expensive %} Very expensive {% elif current > expensive %} Expensive {% elif current > cheap %} Normal {% elif current > very_cheap %} Cheap {% else %} Very cheap {% endif %}"

Sedan har jag en automation som tittar på värdet på sensor.price_level. För tillfället ser den ut så här:

alias: waterheater description: "" trigger: - platform: state entity_id: - sensor.price_level condition: [] action: - choose: - conditions: - condition: state entity_id: sensor.price_level state: Very cheap sequence: - service: water_heater.set_temperature data: temperature: 58 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Cheap sequence: - service: water_heater.set_temperature data: temperature: 55 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Normal sequence: - service: water_heater.set_temperature data: temperature: 50 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Expensive sequence: - service: water_heater.set_temperature data: temperature: 48 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Very expensive sequence: - service: water_heater.set_temperature data: temperature: 45 target: entity_id: water_heater.varmvattenberedare mode: single

Om du jättegärna vill agera på Tibbers PriceLevel så får du på varje condition ändra entity_id till sensor.electricity_price_address och dessutom lägga till Attribute: price_level på varje condition (annars kommer den titta på det faktiska priset).

Blir du något klokare av det här?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem

Ja lite, får skriva mer sen eller imorgon men din kod verkar väldigt bra!

Jag har dock så dålig koll att jag inte ens vet hur man installerar och testar den.

Har egentid 8-15 imorgon så ska banka in detta😇

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem
Skrivet av Trevlig:

Ja lite, får skriva mer sen eller imorgon men din kod verkar väldigt bra!

Jag har dock så dålig koll att jag inte ens vet hur man installerar och testar den.

Har egentid 8-15 imorgon så ska banka in detta😇

Om du bara vill modda automationen (dvs styra temperaturen) kan du gå till:
Settings -> Automations & Scenes, klicka på den blå "+ automation", välj "Create new automation". Väl där kan du klicka på de tre punkterna uppe i hörnet, välj "Edit in yaml", klistra in det andra kodblocket (ersätt allt befintligt), trycka på de tre punkterna igen och välja "Edit in visual editor". Då kanske det blir lättare att greppa?

Om inte, fortsätt skriv här - vi är många som kör HA som säkert kan hjälpa dig.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

Om inte, fortsätt skriv här - vi är många som kör HA som säkert kan hjälpa dig.

Det blev väldigt tydligt, men har fått in koden "waterheater" Men lyckas in få in price lvl, så har lite svårt att testa. Kopierar in första koden i en egen automation men texten fastnar inte...

Förlåt om jag är otroligt dålig på det här men det är helt nytt för mig, tror jag förstår min mor mer och mer när hon använder datorn...

Det verkar som att koden fungerar men vet inte ens hur jag sparar den.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

Du verkar ha fått in nordpool, grymt!

Templates är lite stökigt att lägga till i Home Assistant.

Lägg till ett addon som heter Visual Studio Code, då får du ett helt okej gränssnitt att skriva konfiguration. Kika på https://www.youtube.com/watch?v=lQqfxunEbow (det viktigaste är här från 10:00, men det kan vara matnyttigt att se hela).

Jävlas det fortfarande så hör av dig, så kan vi säkert titta på det.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

Du verkar ha fått in nordpool, grymt!

Templates är lite stökigt att lägga till i Home Assistant.

Lägg till ett addon som heter Visual Studio Code, då får du ett helt okej gränssnitt att skriva konfiguration. Kika på https://www.youtube.com/watch?v=lQqfxunEbow (det viktigaste är här från 10:00, men det kan vara matnyttigt att se hela).

Jävlas det fortfarande så hör av dig, så kan vi säkert titta på det.

Kan nu ändra detta värde genom att knappa in elpris 0.1 och 1kr etc. Men hur testar jag om varmvattnet ändrar temp?

Händer inget här, den översta delen uppdateras.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

@Trevlig: Om du tittar på Attribut på automation.waterheater har den ett triggerdatum - det är bra, då lyssnar den på price_level.

På water_heater.dhw1's attribut finns "temperature" - ändras inte den? (Jag skulle gissa det med tanke på att nuläge är mycket högre än "önskat" värde).

Exakt vilken integration har du installerat för IVT-pumpen förresten? Vad har du för pump?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

@Trevlig: Om du tittar på Attribut på automation.waterheater har den ett triggerdatum - det är bra, då lyssnar den på price_level.

På water_heater.dhw1's attribut finns "temperature" - ändras inte den? (Jag skulle gissa det med tanke på att nuläge är mycket högre än "önskat" värde).

Exakt vilken integration har du installerat för IVT-pumpen förresten? Vad har du för pump?

GEO 508c

Den verkar hoppa tillbaka när jag ställer in den manuellt med.

Ställer jag in den på 45c tex så hoppar den till 42c efter några sekunder.

https://github.com/bosch-thermostat/home-assistant-bosch-cust...
Denna är det

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

Så här gör pumpen, verkar som att den värmer för mycket ändå? trasig? ska testa starta om bergvärmen.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

@Trevlig: Kan det vara ekoläget som spökar?

Om du ändrar tempen på pumpen slår det igenom? Och får HA veta den nya måltempen?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

@Trevlig: Kan det vara ekoläget som spökar?

Om du ändrar tempen på pumpen slår det igenom? Och får HA veta den nya måltempen?

Testar nu, du är guld värd! <3

Då fastnar den på 50c istället.. Men HA måste fungera delvis då jag kan ställa in mellan Eco och Normal. Så där är inte problemet...

Tror jag har hittat "felet" värmepumpen verkar bara gilla ett spann mellan 41c till 52c? väldigt konstigt tycker jag men det är enda siffrorna som fastnar även fast det går att i ECO ställa ner till 30c och på normal 40c...

Känns inte som det är något jag gör fel men funktionen är ju sådär...

Edit: kan det vara så att temp target är vid vilken temp den börjar göra varmvatten och kör till cirka 57c för det är effektivast?

EDIT! Yes hittade det! det var service menyn på bergvärmepumpen. eco var start på 42c och stopp på 62c, satte att den kan starta ner till 30c på eco läget very expensive, dock verkar den köra upp till 60c oavsett men man kanske inte hinner gå ner till 30c.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

Grymt! Tänk på att inte låta temperaturerna bli för låga. Dels för legionella (men eldar man upp vattnet till 60 grader med jämna mellanrum så är ju inte det ett större problem) - men även för husfriden om du råkar bo med någon. Att duscha i 30 gradigt vatten är inte alltid tokpoppis 😁

Lycka till, och välkommen till hemautomationsträsket!

Förresten, eftersom du kör Tibber, kan jag tipsa om offpeak.se. Den hämtar ut vad ditt faktiska snittpris är mot vad du skulle få betalat om du haft vanligt "rörligt" pris. Man kan spara en hel del bara på att se till stt pumpen inte gör sin grej när det är som dyrast på dygnet.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

Grymt! Tänk på att inte låta temperaturerna bli för låga. Dels för legionella (men eldar man upp vattnet till 60 grader med jämna mellanrum så är ju inte det ett större problem) - men även för husfriden om du råkar bo med någon. Att duscha i 30 gradigt vatten är inte alltid tokpoppis 😁

Lycka till, och välkommen till hemautomationsträsket!

Förresten, eftersom du kör Tibber, kan jag tipsa om offpeak.se. Den hämtar ut vad ditt faktiska snittpris är mot vad du skulle få betalat om du haft vanligt "rörligt" pris. Man kan spara en hel del bara på att se till stt pumpen inte gör sin grej när det är som dyrast på dygnet.

Tänker att 30c kommer aldrig inträffa då vattnet verkar ha väldigt bra isolering och elen kommer falla i pris till normal eller billigt och värmas upp till 60c.

Men jag utvärderar ett par dagar innan jag säger hur bra jag tycker det fungerar.

Sen kanske jag skriver om mer ideer jag har, detta var svårare och roligare än vad jag hade kunnat tro.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

Verkar som att den på Eco tvingar sig till lägsta värdet som är inställt på bergvärmepumpen i service inställningarna.

Så satte det på 35c, sen tänker jag varje timma när priset ändras så under en kort stund så blir inställningen tex 46c eller 48c om det är billigt, det kanske räcker för att den ska bestämma sig att värma till 55c som är inställt på bergvärmen även om den faller tillbaka på 35c inom 10 sekunder.

Utvärderar över helgen.
EDIT:
ECO fungerar inte, då kör den över mina inställningar. Får vara på Normal, då är spannet mellan 40-50c och värmer upp till55c om det triggas. Testar över helgen.

Den verkar ju inte alls lyssna på sina egna inställningar tom, har ju kollat i service menyn på pumpen och den står ju på samma värde som i HA

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

@trevlig: Kan du ha någon annan pryl som ligger och styr? Något inbyggt för att styra priset? Om du sätter börvärdet (dvs inga serviceinställningar) på pannan till något, behålls det, eller skrivs det också över?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

@trevlig: Kan du ha någon annan pryl som ligger och styr? Något inbyggt för att styra priset? Om du sätter börvärdet (dvs inga serviceinställningar) på pannan till något, behålls det, eller skrivs det också över?

Har tyvärr inga börvärden på min panna, varken i vanliga inställningar eller i service menyn.

I vanliga har jag bara 3 lägen, eco, normal och komfort.

i service menyn kan jag sätta start och stopp värde.

Värdena kommer in i pumpen men den verkar inte bry sig om dem alls knepigt nog. Ska testa ett par dagar till sen ger jag nog upp. Tror det är min IVT pump som är skräp. Så köp annat märke om ni letar bergvärme.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem

La till golvvärmen medans jag väntade på resultat av varmvattnet. Den verkar fungera perfekt direkt.

Edit: precis lagt till så tempen är 21c pga det var det innan jag hade styrning.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem
Skrivet av zyberzero:

@trevlig: Kan du ha någon annan pryl som ligger och styr? Något inbyggt för att styra priset? Om du sätter börvärdet (dvs inga serviceinställningar) på pannan till något, behålls det, eller skrivs det också över?

Det går inget bra med bergvärmen, den lever sitt egna liv, har testat det mesta.

Så mitt råd är att undvika IVT.

Golvvärmen har sparat cirka 50%!!!! sedan jag satte in styrningen. viss förlust i komfort då jag sätter på 20c vid dyrt elpris som har varit 22c förut utan styrning. Tibbers egna styrning suger.

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem
Skrivet av zyberzero:

PriceLevel är lite trubbigt när det sker stora förändringar på prisnivå på kort tid (exempelvis går från helg till måndag) - då ingår helgens pris i underlaget och hela måndagen kan klassas som dyr.

Jag har löst det genom att titta på dygnets priser istället, och hitta på egna värden som baserat på dygnets max och min pris.

Jag har en templatesensor som tar in nordpool-priset ( med hjälp av https://github.com/custom-components/nordpool )

Templatesensorn är definierad så här för mig:

- name: "Price level" state: "{% set max = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'max') | float %} {% set mean = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'mean') | float %} {% set min = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'min') | float %} {% set current = states('sensor.nordpool_kwh_se3_sek_3_10_025') | float %} {% set very_expensive = max-(max-mean)*0.3 %} {% set expensive = max-(max-mean)*0.6 %} {% set cheap = min+(mean-min)*0.6 %} {% set very_cheap = min+(mean-min)*0.3 %} {% if current > very_expensive %} Very expensive {% elif current > expensive %} Expensive {% elif current > cheap %} Normal {% elif current > very_cheap %} Cheap {% else %} Very cheap {% endif %}"

Sedan har jag en automation som tittar på värdet på sensor.price_level. För tillfället ser den ut så här:

alias: waterheater description: "" trigger: - platform: state entity_id: - sensor.price_level condition: [] action: - choose: - conditions: - condition: state entity_id: sensor.price_level state: Very cheap sequence: - service: water_heater.set_temperature data: temperature: 58 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Cheap sequence: - service: water_heater.set_temperature data: temperature: 55 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Normal sequence: - service: water_heater.set_temperature data: temperature: 50 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Expensive sequence: - service: water_heater.set_temperature data: temperature: 48 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Very expensive sequence: - service: water_heater.set_temperature data: temperature: 45 target: entity_id: water_heater.varmvattenberedare mode: single

Om du jättegärna vill agera på Tibbers PriceLevel så får du på varje condition ändra entity_id till sensor.electricity_price_address och dessutom lägga till Attribute: price_level på varje condition (annars kommer den titta på det faktiska priset).

Blir du något klokare av det här?

Vet du om det går att skriva om koden någon så tex förutom detta så är priset lägre än 30öre ska det alltid beaktas som very cheap?

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem
Skrivet av Trevlig:

Vet du om det går att skriva om koden någon så tex förutom detta så är priset lägre än 30öre ska det alltid beaktas som very cheap?

Du borde kunna lägga till ett alternativ i din automation att priset ska vara < 30 öre som alternativ till very_cheap.

Hur ser automationen din ut?

Very_cheap, cheap, normal, expensive, och very_expensive är definierade av Tibber och baserat på rullande medelvärde på om det var två eller tre dygn (minns inte riktigt).

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av zyberzero:

PriceLevel är lite trubbigt när det sker stora förändringar på prisnivå på kort tid (exempelvis går från helg till måndag) - då ingår helgens pris i underlaget och hela måndagen kan klassas som dyr.

Jag har löst det genom att titta på dygnets priser istället, och hitta på egna värden som baserat på dygnets max och min pris.

Jag har en templatesensor som tar in nordpool-priset ( med hjälp av https://github.com/custom-components/nordpool )

Templatesensorn är definierad så här för mig:

- name: "Price level" state: "{% set max = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'max') | float %} {% set mean = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'mean') | float %} {% set min = state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'min') | float %} {% set current = states('sensor.nordpool_kwh_se3_sek_3_10_025') | float %} {% set very_expensive = max-(max-mean)*0.3 %} {% set expensive = max-(max-mean)*0.6 %} {% set cheap = min+(mean-min)*0.6 %} {% set very_cheap = min+(mean-min)*0.3 %} {% if current > very_expensive %} Very expensive {% elif current > expensive %} Expensive {% elif current > cheap %} Normal {% elif current > very_cheap %} Cheap {% else %} Very cheap {% endif %}"

Sedan har jag en automation som tittar på värdet på sensor.price_level. För tillfället ser den ut så här:

alias: waterheater description: "" trigger: - platform: state entity_id: - sensor.price_level condition: [] action: - choose: - conditions: - condition: state entity_id: sensor.price_level state: Very cheap sequence: - service: water_heater.set_temperature data: temperature: 58 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Cheap sequence: - service: water_heater.set_temperature data: temperature: 55 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Normal sequence: - service: water_heater.set_temperature data: temperature: 50 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Expensive sequence: - service: water_heater.set_temperature data: temperature: 48 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Very expensive sequence: - service: water_heater.set_temperature data: temperature: 45 target: entity_id: water_heater.varmvattenberedare mode: single

Om du jättegärna vill agera på Tibbers PriceLevel så får du på varje condition ändra entity_id till sensor.electricity_price_address och dessutom lägga till Attribute: price_level på varje condition (annars kommer den titta på det faktiska priset).

Blir du något klokare av det här?

Skrivet av zyberzero:

Du borde kunna lägga till ett alternativ i din automation att priset ska vara < 30 öre som alternativ till very_cheap.

Hur ser automationen din ut?

Very_cheap, cheap, normal, expensive, och very_expensive är definierade av Tibber och baserat på rullande medelvärde på om det var två eller tre dygn (minns inte riktigt).

Har ut ifrån den här, försökte titta på systemet nu och vet inte vad som är rätt eller fel.

funderar på om det blir onödigt svårt att få till...

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.

Permalänk
Medlem
Skrivet av Trevlig:

Har ut ifrån den här, försökte titta på systemet nu och vet inte vad som är rätt eller fel.

funderar på om det blir onödigt svårt att få till...

Det är inte alls särskilt krångligt; här är ett exempel på hur du kan göra:

description: "water boiler" mode: single trigger: - platform: state entity_id: - sensor.price_level - sensor.electricity_price_solstigen condition: [] action: - choose: - conditions: - condition: or conditions: - condition: numeric_state entity_id: sensor.electricity_price_solstigen below: 0.3 - condition: state entity_id: sensor.price_level state: Very cheap sequence: - service: water_heater.set_temperature data: temperature: 56 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Cheap sequence: - service: water_heater.set_temperature data: temperature: 54 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Normal sequence: - service: water_heater.set_temperature data: temperature: 52 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Expensive sequence: - service: water_heater.set_temperature data: temperature: 50 target: entity_id: water_heater.varmvattenberedare - conditions: - condition: state entity_id: sensor.price_level state: Very expensive sequence: - service: water_heater.set_temperature data: temperature: 47 target: entity_id: water_heater.varmvattenberedare

NB: Siffrorna är tagna ur luften

Skapa en ny automation, tryck på de tre punkterna, välj edit in yaml mode

klistra in ovan,
ändra tillbaka till visual mode och ändra det som du vill ändra (gissar tex att du inte bor på samma gata som jag, och att du styr något annat).

Nyckeln är att trigga på de sensorer du bryr dig om (price level och pris), och göra en choice där de mest specifika regler testas först.

Förbättringspotential här skulle vara att ha ett default case i de fall priset inte råkar vara under 30 och att price level av någon anledning har ballat ur.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk

Hej,

En helt irrelevant fråga: kan man få in även framledningstemp och returvatten temp i HA? Vilken värmepump du har? Och vet någon om Bosch 3800i ew (frånluftsvärmepump) har samma möjligheter? Har förstått att den är samma som IVT 402.

Permalänk

Tänkte bara dela med mig av min lösning kring Tibbers pricelevel. Jag tänker att det viktigaste är att hålla sig under dagens genomsnitt, så den första sensorn jag har är vad jag kallar prisbild; allt under 1 är under dagens medelpris:

- sensor: - name: "Prisbild" unit_of_measurement: "" state: > {{ (float(states('sensor.electricity_price_hemma')) / float(state_attr('sensor.electricity_price_hemma', 'avg_price'))) | round(2)}}

Sen har jag en liknande, fast utifrån månadens genomsnitt, så att de billigare helgerna kan förbises (högre förbrukning på helgen drar ju ner månadens snittpris, så då kan man "brassa på" lite:

- sensor: - name: "Manadsbild" unit_of_measurement: "" state: > {% if float(states('sensor.monthly_cost_hemma')) > 0 %} {{ (float(states('sensor.electricity_price_hemma')) / (float(states('sensor.monthly_cost_hemma')) / float(states('sensor.monthly_net_consumption_hemma')))) | round(2) }} {% else %} {{ (float(states('sensor.electricity_price_hemma')) / float(state_attr('sensor.electricity_price_hemma', 'avg_price'))) | round(2)}} {% endif %}

Och slutligen en egen prisnivå som utgår från båda dessa (mest för skojs skull, och för att det ska vara tydligare att se i HA-appen, men inget jag använder till mina automationer):

- sensor: - name: "Prisnivå" icon: mdi:circle state: > {% if (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) < 0.5 %} Superbilligt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) <= 0.7 %} Billigt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) <= 1.05 %} Medel {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) < 1.6 %} Dyrt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) >= 1.6 %} Superdyrt {% endif %}

För att få en idé om hur jag använder värdena tar jag med justering av värmekurvan på luft/vatten-värmepumpen:

- sensor: name: "Q_low" state: > {% set T = float(states('sensor.outdoor')) %} {% set P = float(states('sensor.prisbild')) %} {% set I = float(states('sensor.temp_min')) %} {% set M = float(states('sensor.manadsbild')) %} {% set Q = 50 - ((T + 10) / 30) * 10 - (P / 3) * 25 - ((I - 18) / 7) * 15 %} {% if P <= 1 or M < 1 %} {% set Q = Q + 7 %} {% elif P > 1 %} {% set Q = Q - 7 %} {% endif %} {% if I < 20.3 %} {% set Q = Q + 5 %} {% elif I > 22.5 %} {% set Q = Q - 5 %} {% endif %} {% if Q < 15 %} {% set Q = 15 %} {% elif Q > 45 %} {% set Q = 45 %} {% endif %} {{ Q | round(0) }} - sensor: name: "Q_high" state: > {% set T = float(states('sensor.outdoor')) %} {% set P = float(states('sensor.prisbild')) %} {% set I = float(states('sensor.temp_min')) %} {% set M = float(states('sensor.manadsbild')) %} {% set Q = 55 - ((T + 10) / 30) * 10 - (P / 3) * 25 - ((I - 18) / 7) * 15 + 5 %} {% if P <= 1 or M < 1 %} {% set Q = Q + 5 %} {% elif P > 1 %} {% set Q = Q - 5 %} {% endif %} {% if I < 20.3 %} {% set Q = Q + 5 %} {% elif I > 22.5 %} {% set Q = Q - 5 %} {% endif %} {% if Q < 20 %} {% set Q = 20 %} {% elif Q > 55 %} {% set Q = 55 %} {% endif %} {{ Q | round(0) }}

Permalänk
Medlem
Skrivet av zufrieden:

Tänkte bara dela med mig av min lösning kring Tibbers pricelevel. Jag tänker att det viktigaste är att hålla sig under dagens genomsnitt, så den första sensorn jag har är vad jag kallar prisbild; allt under 1 är under dagens medelpris:

- sensor: - name: "Prisbild" unit_of_measurement: "" state: > {{ (float(states('sensor.electricity_price_hemma')) / float(state_attr('sensor.electricity_price_hemma', 'avg_price'))) | round(2)}}

Sen har jag en liknande, fast utifrån månadens genomsnitt, så att de billigare helgerna kan förbises (högre förbrukning på helgen drar ju ner månadens snittpris, så då kan man "brassa på" lite:

- sensor: - name: "Manadsbild" unit_of_measurement: "" state: > {% if float(states('sensor.monthly_cost_hemma')) > 0 %} {{ (float(states('sensor.electricity_price_hemma')) / (float(states('sensor.monthly_cost_hemma')) / float(states('sensor.monthly_net_consumption_hemma')))) | round(2) }} {% else %} {{ (float(states('sensor.electricity_price_hemma')) / float(state_attr('sensor.electricity_price_hemma', 'avg_price'))) | round(2)}} {% endif %}

Och slutligen en egen prisnivå som utgår från båda dessa (mest för skojs skull, och för att det ska vara tydligare att se i HA-appen, men inget jag använder till mina automationer):

- sensor: - name: "Prisnivå" icon: mdi:circle state: > {% if (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) < 0.5 %} Superbilligt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) <= 0.7 %} Billigt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) <= 1.05 %} Medel {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) < 1.6 %} Dyrt {% elif (float(states('sensor.prisbild'))*float(states('sensor.manadsbild'))) >= 1.6 %} Superdyrt {% endif %}

För att få en idé om hur jag använder värdena tar jag med justering av värmekurvan på luft/vatten-värmepumpen:

- sensor: name: "Q_low" state: > {% set T = float(states('sensor.outdoor')) %} {% set P = float(states('sensor.prisbild')) %} {% set I = float(states('sensor.temp_min')) %} {% set M = float(states('sensor.manadsbild')) %} {% set Q = 50 - ((T + 10) / 30) * 10 - (P / 3) * 25 - ((I - 18) / 7) * 15 %} {% if P <= 1 or M < 1 %} {% set Q = Q + 7 %} {% elif P > 1 %} {% set Q = Q - 7 %} {% endif %} {% if I < 20.3 %} {% set Q = Q + 5 %} {% elif I > 22.5 %} {% set Q = Q - 5 %} {% endif %} {% if Q < 15 %} {% set Q = 15 %} {% elif Q > 45 %} {% set Q = 45 %} {% endif %} {{ Q | round(0) }} - sensor: name: "Q_high" state: > {% set T = float(states('sensor.outdoor')) %} {% set P = float(states('sensor.prisbild')) %} {% set I = float(states('sensor.temp_min')) %} {% set M = float(states('sensor.manadsbild')) %} {% set Q = 55 - ((T + 10) / 30) * 10 - (P / 3) * 25 - ((I - 18) / 7) * 15 + 5 %} {% if P <= 1 or M < 1 %} {% set Q = Q + 5 %} {% elif P > 1 %} {% set Q = Q - 5 %} {% endif %} {% if I < 20.3 %} {% set Q = Q + 5 %} {% elif I > 22.5 %} {% set Q = Q - 5 %} {% endif %} {% if Q < 20 %} {% set Q = 20 %} {% elif Q > 55 %} {% set Q = 55 %} {% endif %} {{ Q | round(0) }}

Det här ser högintressant ut. Jag tror jag hänger med hyffsat i vad som händer, men förstår inte riktigt hur du använder Q_low och Q_high. Det ser ut som att det är någon slags framledningstemperatur du räknar fram, men vad styr på det båda värdena? Min VP kan jag själv styra flödestempen på, så jag kommer ta det här och labba lite. Tyvärr är mitt hus inte fantastiskt isolerat och har kassa fönster (2-glas anno 1930-ish) kommer att renoveras inom några månader) så det blir fort svajjigt i inomhustempen.

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Skrivet av zyberzero:

Det här ser högintressant ut. Jag tror jag hänger med hyffsat i vad som händer, men förstår inte riktigt hur du använder Q_low och Q_high. Det ser ut som att det är någon slags framledningstemperatur du räknar fram, men vad styr på det båda värdena? Min VP kan jag själv styra flödestempen på, så jag kommer ta det här och labba lite. Tyvärr är mitt hus inte fantastiskt isolerat och har kassa fönster (2-glas anno 1930-ish) kommer att renoveras inom några månader) så det blir fort svajjigt i inomhustempen.

Kan du styra framledningstempen kan du skippa ena värdet. Jag kan bara styra en värmekurva, med två värden sen räknar VP ut framledningstempen själv. Om du vet ungefär var du vill landa i framledningstemp kan jag rekommendera att du använder ChatGPT (det gör jag själv) för att hitta rätt ekvation.

Om innertemperaturen är svajig kanske du istället för minimivärdet basera det på ett genomsnittligt värde (själv har jag fem sensorer i olika delar av huset och baserar det på lägstavärdet).

Permalänk
Medlem
Skrivet av zufrieden:

Kan du styra framledningstempen kan du skippa ena värdet. Jag kan bara styra en värmekurva, med två värden sen räknar VP ut framledningstempen själv. Om du vet ungefär var du vill landa i framledningstemp kan jag rekommendera att du använder ChatGPT (det gör jag själv) för att hitta rätt ekvation.

Om innertemperaturen är svajig kanske du istället för minimivärdet basera det på ett genomsnittligt värde (själv har jag fem sensorer i olika delar av huset och baserar det på lägstavärdet).

Har fått ett nytt udda problem, den löser inte ut ibland, oklart varför men kan trycka på kör så fungerar det fin fint.

Edit: ser ut så här just nu

alias: Bergvärme
description: ""
trigger:
- platform: state
entity_id: sensor.price_level
- platform: time
at: "22:00:00"
condition: []
action:
- choose:
- conditions:
- condition: time
after: "22:00:00"
before: "08:00:00"
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 20
- conditions:
- condition: state
entity_id: sensor.price_level
state: Very expensive
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 20
- conditions:
- condition: state
entity_id: sensor.price_level
state: Expensive
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 20
- conditions:
- condition: state
entity_id: sensor.price_level
state: Normal
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 21.5
- conditions:
- condition: state
entity_id: sensor.price_level
state: Cheap
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 22.5
- conditions:
- condition: state
entity_id: sensor.price_level
state: Very cheap
sequence:
- service: climate.set_temperature
data:
entity_id: climate.hc1
temperature: 22.5
mode: single

Visa signatur

Dator: Ryzen 3900x - 16Gb - EVGA 3060 - Acer Predator X34A
Server: Synology DS415+ 3st WD red 6Tb 1st Toshiba N300 8Tb
Anslutning: Fiber 500Mbit
Bilar: Tesla model 3 LR 2023, Renault Zoe 52kwh Edition One
Solceller: 12,1kwh.