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

Begrense effektledded med openHAB


xibriz

Anbefalte innlegg

 

 

Jeg tenkte å ta en kjapp wirte up på hvordan jeg har begrenset effektleddet med openHAB. Jeg ser at det skrives noe om PID andre steder men det ble for avansert for meg å sette meg inn i :) 

 

 

Før man begynner må man ha inn ActiveImportPower fra HAN-porten på en eller annen måte. Jeg bruker kortet jeg lagde i 2017/18 som blant annet @ArnieO har tatt til nye høyder.

 

Først lagrer jeg alle verdier i InfluxDB for enkelhets skyld med følgende dette python-script. Det kjører som en service.

 

# -*- coding: utf-8 -*-

import random
import time
from datetime import datetime
from paho.mqtt import client as mqtt_client
from influxdb import InfluxDBClient

broker = 'openhabian.localdomain'
port = 1883
topic = "esp/ams/activeimportpower"
client_id = f'python-ams-mqtt-influx-{random.randint(0, 1000)}'

dbname = "ams"
dbuser = "ams"
dbpass = "ams"

def connect_mqtt():
    def on_connect(client, userdata, flags, rc):
        if rc == 0:
            print("Connected to MQTT Broker!")
        else:
            print("Failed to connect, return code %d\n", rc)
    # Set Connecting Client ID
    client = mqtt_client.Client(client_id)
    client.on_connect = on_connect
    client.connect(broker, port)
    return client

def subscribe(client: mqtt_client, dbclient: InfluxDBClient):
    def on_message(client, userdata, msg):
        print(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")
        store(dbclient, msg.payload.decode())

    client.subscribe(topic)
    client.on_message = on_message

def store(dbclient: InfluxDBClient, power):
    json_body = [
        {
            "measurement": "activeimportpower",
            "time": datetime.now(),
            "fields": {
                "value": int(power)
            }
        }
    ]
    dbclient.write_points(json_body)

def run():
    dbclient = InfluxDBClient('localhost', 8086, dbuser, dbpass, dbname)
    client = connect_mqtt()
    subscribe(client, dbclient)
    client.loop_forever()

if __name__ == '__main__':
    run()

 

Deretter kalkulerer jeg gjeldende kWh-forbruk hver andre minutt med dette scriptet. Det kjører som en cron-jobb (*/2 * * * *).

 

# -*- coding: utf-8 -*-

import random
import time
from datetime import datetime
from paho.mqtt import client as mqtt_client
from influxdb import InfluxDBClient

broker = 'openhabian.localdomain'
port = 1883
topic = "esp/ams/avaragewh"
client_id = f'python-avarage-wh-{random.randint(0, 1000)}'

dbname = "ams"
dbuser = "ams"
dbpass = "ams"

def connect_mqtt():
    def on_connect(client, userdata, flags, rc):
        if rc != 0:
            print("Failed to connect, return code %d\n", rc)
    # Set Connecting Client ID
    client = mqtt_client.Client(client_id)
    client.on_connect = on_connect
    client.connect(broker, port)
    return client

def publish(client, dbclient):
    avarage = avarage_wh(dbclient)
    # If avarage is None we probably don't have enough data to calculate the avarage
    if avarage is None:
        return

    result = client.publish(topic, avarage)
    # result: [0, 1]
    status = result[0]
    if status != 0:
        print(f"Failed to send message to topic {topic}")

def avarage_wh(dbclient):
    hour_start = str(datetime.now().replace(microsecond=0, second=0, minute=0)).replace(' ', 'T')

    result = dbclient.query(f"SELECT * FROM activeimportpower WHERE time >= '{hour_start}Z'")
    count = 0
    sum = 0
    try:
        for val in list(result)[0]:
            count += 1
            sum += val['value']
    except:
        return None
    return round(sum / count)

def run():
    dbclient = InfluxDBClient('localhost', 8086, dbuser, dbpass, dbname)
    client = connect_mqtt()
    publish(client, dbclient)
    client.disconnect()

if __name__ == '__main__':
    run()

 

 

Da får vi gjeldende kWh ut på mqtt-topic "esp/ams/avaragewh" som vi kan bruke i openHAB til å gjøre noen beslutninger med disse reglene:

 

var high_kwh_threshold = 4800 // Turn off items if kWh is above this number
var low_kwh_threshold = 4600 // Turn on items if kWh is below this number
var min_current_w = 4500 // If we need to turn off items, turn off enough items so that the current watt usage is below this number
var max_current_w = 6000 // If we can turn on items, turn on enough items so that the current watt usage is below this number

rule "high kwh"
when
        Item AMS_AvarageWh changed
then
        // If the avarage is above 4800 kWh we need to bring the current usage below 4500w
        if ((AMS_AvarageWh.state as Number) > high_kwh_threshold) {
                var current_w = AMS_ActiveImportPower.state as Number

                // Turn off office
                if (current_w > min_current_w && OfficeHeat_Switch.state == ON) {
                        OfficeHeat_Switch.sendCommand(OFF)
                        current_w -= OfficeHeat_Electricmeterwatts.state as Number // Subtract current usage
                }

                // Turn off hallway
                if (current_w > min_current_w && (HallwayFloor_Thermostatmode.state as Number) == 1) {
                        HallwayFloor_Thermostatmode.sendCommand(0)
                        current_w -= HallwayFloor_Electricmeterwatts.state as Number // Subtract current usage
                }

                // Turn off bath room
                if (current_w > min_current_w && (BathRoomFloor_Thermostatmode.state as Number) == 1) {
                        BathRoomFloor_Thermostatmode.sendCommand(0)
                        current_w -= BathRoomFloor_Electricmeterwatts.state as Number // Subtract current usage
                }

                // Turn off living room
                if (current_w > min_current_w && LivingHeat_Switch.state == ON) {
                        LivingHeat_Switch.sendCommand(OFF)
                        current_w -= LivingHeat_Electricmeterwatts.state as Number // Subtract current usage
                }
        }
end

rule "low kwh"
when
        Item AMS_AvarageWh changed
then
        //logDebug("ams", "LOW KWH START")
        // If the avarage is below 4600 kWh we can start to bring the current usage up
        if ((AMS_AvarageWh.state as Number) < low_kwh_threshold) {
                var current_w = AMS_ActiveImportPower.state as Number

                // Turn on living room
                if (current_w < max_current_w && LivingHeat_Switch.state == OFF) {
                        LivingHeat_Switch.sendCommand(ON)
                        current_w += 1200 // Based on experience
                }

                // Turn on bath room
                if (current_w < max_current_w && (BathRoomFloor_Thermostatmode.state as Number) == 0) {
                        BathRoomFloor_Thermostatmode.sendCommand(1)
                        current_w += 800 // Based on experience
                }

                // Turn on hallway
                if (current_w < max_current_w && (HallwayFloor_Thermostatmode.state as Number) == 0) {
                        HallwayFloor_Thermostatmode.sendCommand(1)
                        current_w += 700 // Based on experience
                }

                // Turn on office
                if (current_w < max_current_w && OfficeHeat_Switch.state == OFF) {
                        OfficeHeat_Switch.sendCommand(ON)
                        current_w += 700 // Based on experience
                }
        }
end

 

Her er det en del tall jeg bare har tatt rett ut av luften. F.eks. så ønsker jeg at kWh holder seg under 4800. For å klare det har jeg gjettet på at effekten må under 4500w for å komme under 4800kWh dersom man har kommet over.

 

Deretter når man har kommet under 4600kWh så gjetter jeg på at man kan slå på ting helt til man er på maks 6000w.

 

Det er bare 4 aktører jeg har lagt inn (alle varmekildene) i min prioriterte rekkefølge.

 

Her ser man hvordan scriptet har jobbet seg gjennom natten med VVB og oppvaskmaskin i sving:

 

image.thumb.png.c97f8702cf3eb2fa43f95b3428f92f69.png

 

Her er når vi våknet i dag. Som man ser så er det ugunstig å gå inn i timen med høy effektbruk:

 

image.thumb.png.ec10a6b3691720fa4786b56cc0a838c1.png

 

Middagslagingen i går gikk bedre fordi da startet jeg tilfeldigvis på halv time:

 

image.thumb.png.23bb552d51dc378f2479bfc38027fb9f.png

 

Her er mine beregninger opp mot hva nettleverandører mener. Ser greit ut med +- 2% avvik på det meste.

 

image.png.9581893b0b6eaabd3794c5c1ab1e8c94.png

 

 

 

 

 

Endret av xibriz
  • Like 4
Lenke til kommentar
Del på andre sider

(Jeg får ikke lov til å trykke flere "Like" i dag - men liker dette veldig!) 👍

 

Jeg står foran boligbytte, og det er ikke umulig at jeg benytter anledningen til å konvertere fra Domoticz til OpenHAB eller HomeAssistant.

Uansett veldig aktuelt å se på en slik automatisering snart, og dette er et flott utgangspunkt.

 

Godt jobbet!

  • Like 1
Lenke til kommentar
Del på andre sider

2 minutes ago, ArnieO said:

(Jeg får ikke lov til å trykke flere "Like" i dag - men liker dette veldig!) 👍

 

Jeg står foran boligbytte, og det er ikke umulig at jeg benytter anledningen til å konvertere fra Domoticz til OpenHAB eller HomeAssistant.

Uansett veldig aktuelt å se på en slik automatisering snart, og dette er et flott utgangspunkt.

 

Godt jobbet!

 

Jeg vurderte å gå over til HomeAssistant, men openHAB er blitt så bra at jeg ikke orket :)

 

Det jeg liker best med openHAB er at man kan skrive alt i tekstfiler. Ja, man hadde sikkert klart å lage regelen over i GUI, men kan man programmere er det kjappere å bare bruke nano i bash :D 

Lenke til kommentar
Del på andre sider

Her er et godt eksempel på hva vi ønsker å unngå med slik automatisering som @xibriz har implementert.

(Skjermklipp fra betatest-versjon av kommende firmware for Pow-U og Pow-K).

 

Etter nyttår ville disse 2,1 kWh (dersom jeg klarte å holde meg under 5 kW resten av måneden) blitt straffet med 112,50 kr ekstra på strømregningen.

Det ville blitt ca 50 kr/kWh! 😬

Det som skjedde var at hybrid-bilen måtte settes på lading pga to påfølgende turer.
Dette kunne etter nyttår gitt verdens dyreste drivstoff, det ville ha vært mye billigere å kjøre den turen med bensin.😖

 

image.png.298a24aa116de45aa2f14361cddba735.png

Lenke til kommentar
Del på andre sider

Jeg lurer på om det er litt tidsforsinkelse på dataen som nettleverandøren bruker. Jeg fikk en differanse på over 4% en time der det var høyt effektbruk i timeskillet. Det er helt i grenseland av hva som er håndterbart dersom mine beregninger hadde vist 4800kWh.

 

image.thumb.png.e8c02624c91d1a310f39880501c813a7.png

 

image.png.9faf440d164f9483fddd578c9c9f89c8.png

Lenke til kommentar
Del på andre sider

13 minutes ago, xibriz said:

Jeg lurer på om det er litt tidsforsinkelse på dataen som nettleverandøren bruker.

 

Hvordan beregner du timesgjennomsnittet? (Jada, koden din ligger der oppe, men det er enklere å spørre... 😄)

 

Jeg forventer at det som går ut fra måleren er differansen mellom to heltimes-avlesninger, basert på klokka i måleren. Er du sikker på at du leser av på rett tidspunkt?

Firmwaren AmsToMqttBridge sender "package timestamp" til MQTT. Dersom det er den du bruker så pass på at du har siste versjon; jeg mener å huske at det har vært noe kluss med den parameteren underveis i utviklingen.

https://github.com/gskjold/AmsToMqttBridge/wiki/Message-formats

Lenke til kommentar
Del på andre sider

55 minutes ago, ArnieO said:

 

Hvordan beregner du timesgjennomsnittet? (Jada, koden din ligger der oppe, men det er enklere å spørre... 😄)

 

Jeg forventer at det som går ut fra måleren er differansen mellom to heltimes-avlesninger, basert på klokka i måleren. Er du sikker på at du leser av på rett tidspunkt?

Firmwaren AmsToMqttBridge sender "package timestamp" til MQTT. Dersom det er den du bruker så pass på at du har siste versjon; jeg mener å huske at det har vært noe kluss med den parameteren underveis i utviklingen.

https://github.com/gskjold/AmsToMqttBridge/wiki/Message-formats

 

 

Jeg lagrer verdien når jeg får den og bruker timestamp på serveren og ikke fra måleren. Men forsinkelsen er vel ikke værre enn at det blir +- ett par målinger.

 

Så tar jeg å leser alle verdier innenfor gjeldende time, summerer de sammen og deler på antall verdier.

 

Jeg bruker den versjonen fra da jeg var med på å lage den, og den er vel fra 2018 eller eldre :) 

Kanskje jeg må legge inn en bestilling hos deg siden min krever stikkontakt. Det gikk bra i det forrige huset fordi der hadde jeg kontakt på DIN-skinnen, men her må jeg strekke en lang kabel til nærmeste stikk 😛 

 

Lenke til kommentar
Del på andre sider

Quote

Jeg bruker den versjonen fra da jeg var med på å lage den, og den er vel fra 2018 eller eldre :) 

Kanskje jeg må legge inn en bestilling hos deg siden min krever stikkontakt. Det gikk bra i det forrige huset fordi der hadde jeg kontakt på DIN-skinnen, men her må jeg strekke en lang kabel til nærmeste stikk 😛 

Du er hjertelig velkommen til å oppgradere til 2021-standard! 😅

Dessverre er jeg tom for Pow-U, så bestillinger går til venteliste nå - men jo før man stiller seg i kø jo fortere kommer man fram til disken...

Lenke til kommentar
Del på andre sider

Bruker Oh selv og har sett litt på dette, men jeg tror må legge meg på 5-10kw grensen. 5kw blir for trangt med 5 i familien og kun el oppvarming (varmekabler)

 

Å kunne unngå fx at alle varmekablene er inne samtidigt, eller at de jobber i tandem uten at det kan bli for kaldt i enkelte rom. Der en ender opp med kabler som må ta igjenn det tapte over lang tid.

  • Like 1
Lenke til kommentar
Del på andre sider

rule "high kwh"
when
        Item TibberLiveAveragePower changed
then
        // If the avarage is above 4800 kWh we need to bring the current usage below 4500w
        if ((TibberLiveAveragePower.state as Number) > 4800) {
                var current_w = TibberLiveAveragePower.state as Number

                // Turn off Stue
                if (current_w > 4500 && ZWave13ThermostatStueThermostatMode.state == 1) {
                        ZWave13ThermostatStueThermostatMode.sendCommand(0)
                        current_w -= ZWave13ThermostatStueMeterWatts.state as Number
                }

                // Turn off bad oppe
                if (current_w > 4500 && (ZWave14ThermostatBadOEtgThermostatMode.state as Number) == 1) {
                        ZWave14ThermostatBadOEtgThermostatMode.sendCommand(0)
                        current_w -= ZWave14ThermostatBadOEtgMeterWatts.state as Number
                }

                // Turn off barnerom oppe
                if (current_w > 4500 && (ZWave15TermostatBarneromOEtgThermostatMode.state as Number) == 1) {
                        ZWave15TermostatBarneromOEtgThermostatMode.sendCommand(0)
                        current_w -= ZWave15TermostatBarneromOEtgMeterWatts.state as Number
                }

                // Turn off Entre
                if (current_w > 4500 && ZWave17ThermostatGangUEtgSone1ThermostatMode.state == 1) {
                        ZWave17ThermostatGangUEtgSone1ThermostatMode.sendCommand(0)
                        current_w -= ZWave17ThermostatGangUEtgSone1MeterWatts.state as Number
                }
                // Turn off kjellergang
                if (current_w > 4500 && (ZWave16ThermostatGangUEtgSone2ThermostatMode.state as Number) == 1) {
                        ZWave16ThermostatGangUEtgSone2ThermostatMode.sendCommand(0)
                        current_w -= ZWave16ThermostatGangUEtgSone2MeterWatts.state as Number
                }
                // Turn off bad nede
                if (current_w > 4500 && (ZWave22BadUEtgThermostatMode.state as Number) == 1) {
                        ZWave22BadUEtgThermostatMode.sendCommand(0)
                        current_w -= ZWave22BadUEtgMeterWatts.state as Number
                }
                // Turn off vaskerom 
                if (current_w > 4500 && (ZWave19ThermostatVaskeromThermostatMode.state as Number) == 1) {
                        ZWave19ThermostatVaskeromThermostatMode.sendCommand(0)
                        current_w -= ZWave19ThermostatVaskeromMeterWatts.state as Number
                }
                // Turn off Soverom1
                if (current_w > 4500 && (ZWave21ThermostatSoverom1ThermostatMode.state as Number) == 1) {
                        ZWave21ThermostatSoverom1ThermostatMode.sendCommand(0)
                        current_w -= ZWave21ThermostatSoverom1MeterWatts.state as Number
                }
                // Turn off Soverom2
                if (current_w > 4500 && (ZWave20ThermostatSoverom2ThermostatMode.state as Number) == 1) {
                        ZWave20ThermostatSoverom2ThermostatMode.sendCommand(0)
                        current_w -= ZWave20ThermostatSoverom2MeterWatts.state as Number
                }
                // Turn off Soverom3
                if (current_w > 4500 && (ZWave18ThermostatSoverom3ThermostatMode.state as Number) == 1) {
                        ZWave18ThermostatSoverom3ThermostatMode.sendCommand(0)
                        current_w -= ZWave18ThermostatSoverom3MeterWatts.state as Number
                }
                // Turn off Varmtvannsbereder
                if (current_w > 4500 && (ZWave23PowerVVTSwitchBinary.state as Number) == ON) {
                        ZWave23PowerVVTSwitchBinary.sendCommand(OFF)
                        current_w -= ZWave23PowerVVTMeterWatts.state as Number
                }




        }
end

rule "low kwh"
when
        Item TibberLiveAveragePower changed
then
        //logDebug("ams", "LOW KWH START")
        // If the avarage is below 4600 kWh we can start to bring the current usage up to (max) 6000w
        if ((TibberLiveAveragePower.state as Number) < 4600) {
                var current_w = TibberLiveAveragePower.state as Number

                // Turn on stue
                if (current_w < 6000 && ZWave13ThermostatStueThermostatMode.state == 0) {
                        ZWave13ThermostatStueThermostatMode.sendCommand(1)
                        current_w += 2470 // Estimate 2470w for now
                }

                // Turn on bad oppe
                if (current_w < 6000 && (ZWave14ThermostatBadOEtgThermostatMode.state as Number) == 0) {
                        ZWave14ThermostatBadOEtgThermostatMode.sendCommand(1)
                        current_w += 925 
                }

                // Turn on barnerom oppe
                if (current_w < 6000 && (ZWave15TermostatBarneromOEtgThermostatMode.state as Number) == 0) {
                        ZWave15TermostatBarneromOEtgThermostatMode.sendCommand(1)
                        current_w += 489 
                }

                // Turn on entre
                if (current_w < 6000 && ZWave17ThermostatGangUEtgSone1ThermostatMode.state == 0) {
                        ZWave17ThermostatGangUEtgSone1ThermostatMode.sendCommand(1)
                        current_w += 605 
                }
                // Turn on kjellergang
                if (current_w < 6000 && ZWave16ThermostatGangUEtgSone2ThermostatMode.state == 0) {
                        ZWave16ThermostatGangUEtgSone2ThermostatMode.sendCommand(1)
                        current_w += 1327 
                }
                // Turn on bad nede
                if (current_w < 6000 && ZWave22BadUEtgThermostatMode.state == 0) {
                        ZWave22BadUEtgThermostatMode.sendCommand(1)
                        current_w += 526
                }
                // Turn on vaskerom
                if (current_w < 6000 && ZWave19ThermostatVaskeromThermostatMode.state == 0) {
                        ZWave19ThermostatVaskeromThermostatMode.sendCommand(1)
                        current_w += 561 
                }
                // Turn on soverom1
                if (current_w < 6000 && ZWave21ThermostatSoverom1ThermostatMode.state == 0) {
                        ZWave21ThermostatSoverom1ThermostatMode.sendCommand(1)
                        current_w += 741 
                }
                // Turn on soverom2
                if (current_w < 6000 && ZWave20ThermostatSoverom2ThermostatMode.state == 0) {
                        ZWave20ThermostatSoverom2ThermostatMode.sendCommand(1)
                        current_w += 737 
                }
                // Turn on soverom3
                if (current_w < 6000 && ZWave18ThermostatSoverom3ThermostatMode.state == 0) {
                        ZWave18ThermostatSoverom3ThermostatMode.sendCommand(1)
                        current_w += 822 
                }
                // Turn on Varmtvannsbereder
                if (current_w < 6000 && ZWave23PowerVVTSwitchBinary.state == OFF) {
                        ZWave23PowerVVTSwitchBinary.sendCommand(ON)
                        current_w += 3000 
                }
        }
end

 

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

Dette har vært svært effektivt for oss som ligger helt i grenseland når jeg ser på den timen med høyes forbruk på en gitt dag.

 

Men jeg ser at dagsforbruket (kolonnen til venstre) holder seg svært likt. Det har bare jevnet seg litt mer ut.

 

image.thumb.png.b573ce1cf69fb9373a012712789d5c82.png

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

Jeg har kode som skal gjøre det samme, håper å ha koden klar til 1. januar :) 

 

Det blir en ren Python-løsning, som snakker med OpenHAB (men forsåvidt ikke avhengig av OpenHAB på noen måte). En utvidelse av koden som ligger på  https://github.com/berland/pyrotun

 

Så lenge utetemperaturen her i Bergen ikke kommer under 6-8 minusgrader (døgnsnitt), så tilsier statistikken her i huset at det skal gå an å holde seg under 5 kilowatt. Men strømprisvariasjonene nå til dags gjør at den lastflyttingen jeg gjør allerede (floors.py og waterheater.py i kode-repoet over) er i stand til å tjene inn over 100 kr pr måned.

 

Det er helt umulig å vite 1. januar 2022 om det er mest økonomisk å ligge under 5 kW, eller mellom 5 og 10 kW, akkurat det er irriterende.

  • Like 2
Lenke til kommentar
Del på andre sider

Ja i og med at man ikke på forhånd vet hvordan prisvariasjonene vil bli resten av måneden så blir det krevende å få til en optimal algoritme som både tar hensyn til kapasitetsleddet i nettavgiften og strømprisen neste døgn.

Lenke til kommentar
Del på andre sider

xibriz skrev (52 minutter siden):

Det er helt håpløst å bruke mest mulig strøm

Det er vel dette netteiere prøver å unngå. Det blir et problem hvis alle skal gjøre som du. Bortsett fra at da blir det ikke billig strøm lenger, men dyrest på natten når alle skal lade.

Lenke til kommentar
Del på andre sider

4 minutes ago, stigvi said:

Det er vel dette netteiere prøver å unngå. Det blir et problem hvis alle skal gjøre som du. Bortsett fra at da blir det ikke billig strøm lenger, men dyrest på natten når alle skal lade.

 

For meg personlig passer det ypperlig med billigere strøm på dagtid siden det er da jeg bruker mest 😉

 

image.thumb.png.553e16b86794c06c5314cb4d7e2da5c4.png

Lenke til kommentar
Del på andre sider

  • 2 måneder senere...

Ble litt inspirert av dette og ble en litt spennende utfordring siden det er mange faktorer å tenke på.

Men har nå laget egen løsning på dette (i jython). Ved å slå på "energisparingsmodus" så aktiverer jeg en del meta tags på de forskjellige oppvarmingskildene i alle rom (en del panelovner etc.).

Men den vil da slå av alle ovner så fort 5kw er overgått, så vil den forsiktig prøve å koble inn ovn etter ovn. Dette gjøres ved å se hvor mye effekt som tilgjengelig (Makseffekt - TotaltForbruk), så hvis det er tilgjengelig 1000watt så vil den finne en ovn som har et forbruk på <=1000Watt (basert på dens maks forbruk de siste 2 dager) og koble den inn.

Hvilken ovn som blir prioritert først er basert på en "score" jeg lager ut fra hvor kaldt det er i rommet og hvor langt unna den er ønsket temperatur. Hvis den på nytt igjen går over 5Kw vil den gjøre ny utkobling av ovner og utføre ny evaluering.

 

Neste utfordring er å gjøre noe med varmtvannsberederen siden den krever helt annen tankegang, men enn så lenge funker dette ganske bra 🙂

 

Her er en grafana snapshot av litt"anstrengt" drift på formiddagen ettersom nesten alle ovner er koblet ut men jeg bruker likevel så mye effekt at det er ikke nok å styre ovnene alene, en del andre appliances i huset som ikke er styrt (ennå) 😉 

 

 

image.thumb.png.574dc662eddbde9c47625d979e78dd24.png

Endret av Alpøy
  • Like 1
Lenke til kommentar
Del på andre sider

Alpøy skrev (2 timer siden):

Men den vil da slå av alle ovner så fort 5kw er overgått

Tenker du ikke litt feil her fordi det er ingen grense hos nettselskapene på effekt. Det de lager pristrinn på er forbrukt energi innenfor en time.

  • Like 1
Lenke til kommentar
Del på andre sider

3 hours ago, stigvi said:

Tenker du ikke litt feil her fordi det er ingen grense hos nettselskapene på effekt. Det de lager pristrinn på er forbrukt energi innenfor en time.

Hm nei? ønsker ikke å ha "gjennomsnittlig" effekt/forbruk over 5kw så lenge det lar seg gjøre, det vil ikke si at det ikke er fleksibelt innenfor (som grafen viser (rød linje er 5kw), stigen den over til tider). 

 

Endret av Alpøy
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.