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

xibriz

VIP
  • Innlegg

    1 289
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    50

Innlegg skrevet av xibriz

  1. Armas skrev (1 minutt siden):

     

    Det scriptet sparer deg vel bare for økte kostnader til fastleddet, det hjelper ikke til med å bruke mindre strøm?

    Jeg gjorde noen raske overslag og mener å huske at det var mer lønnsomt for meg å flytte strømforbruk til billige timer, en å holde meg under 5kwH-grensen.  Du ser ut til å ha gått motsatt vei?

     

     

    Det er korrekt, jeg har kun fokusert på effektleddet.

     

    Det som i realiteten skjer er jo at strømforbruket begrenses, spesielt på oppvarming. Boligen min har ett umettelig oppvarmingsbehov så all besparelse er pga. at komforttemperaturen i år nok er litt lavere enn i fjor.

     

    En annen effekt er at jeg ofte skrur av unødvendige ting for å få mer strøm tilgjengelig til oppvarming, og prioriterer hvilke rom som skal varmes opp. Det er nok her besparelsen ligger.

     

     

    • Like 1
  2. Nå er året snart omme, og jeg ligger an til en besparelse på mellom 4 og 5000 kWh på hele året pga. skriptet som prøver å holde forbruket under 5 kWh siden fastledded dobles fra 2-5 kontra 5-10 kWh.

     

    200 kvm ende-rekkehus fra 1970:

    2021: 28 000 kWh

    2022: 23 000 kWh

     

    Det som er irriterende er jo at jeg ikke har styring på absolutt alt, så hvis det sniker seg inn en time der det ikke er mer å slå av, så havner jeg likevel over 😡

     

    Den toppen kostet 150 kr:

    image.png.f77d41b6b8d07ff4aa67b096f2e93007.png

  3. Jeg holdt mye på med radiostyrte biler og lipo-batterier før. En gang koblet jeg feil på pluss og minus til laderen, og når jeg skjønte det etter 1.5 sekund så var ledningene så varm at jeg måtte ofre en del hud for å dra ut ledningene. Der snakker vi om farlige greier 🤯

  4. Etter litt reasearch på sofaen:

     

    En pir-sensor har gjerne 2-4 felter som detekterer bevegelse når ett objekt flytter seg fra ett felt til ett annet på sensoren.
    Plasttypen polyethylene (finnes i plastposer) slipper gjennom riktige bølgelender.

    En "skyggelinse" er en fattigmannsversjon av frensel 😛

     

    En kjapp test viser at jeg er inne på noe her :D

     

    1320178487_20220112_183624(2).thumb.jpg.4c87fb2a54de15d5247d97bc683782d3.jpg

     

    Lesestoff for de intereserte: http://www.glolab.com/focusdevices/focus.html

  5. Har jobbet med en multisensor (lys, temperatur og bevegelse) de siste dagene.

     

    Jeg hadde ikke lyst til å ha den vanlige "domen" som er forran PIR-sensoren så jeg har prøvd noen materialer (transparent PLA, utklipp fra noe emballasje) uten hell.

     

    Slik jeg skjønner det så må jeg finne noe materiale som slipper gjennom de riktige IR-bølgelengdene. Noen som har noen tips til materialvalg?

     

    709892143_20220112_121907(2).jpg.5074ae66d26ecba3182f0d51490e93bf.jpg

     

    1943810448_20220112_121912(2).jpg.27616e57fb3f73d7ef271a17ce9f7fcd.jpg

     

    1281963829_20220112_121919(2).thumb.jpg.8195057b20a473b9a05309fcb87cd9e8.jpg

     

    1624779657_20220112_121935(2).thumb.jpg.f0236664233478048693ca9bea444bd3.jpg

     

    For scale

    1258540471_20220112_122143(2).thumb.jpg.70f2c722aa3b3d97eda0178028a683d1.jpg

     

    870880683_20220112_124409(2).thumb.jpg.3abb30b7e2da8e23d74644110ac37b8c.jpg

  6. Det er litt misvisende for jeg har panelovner på 800w og konvektorovner på 2000w, varmekabler på henholdsvis 500w (sov), 700w (gang), og 800w (bad).

     

    Så min gamle elbil hadde ett strømforbruk på:

    3x konvektorovn

    + varmekabel sov

    + varmekabel bad

    - varmekabel gang
    = 6.6 kW

     

    Siden jeg bare har 2 konvektorovner så blir dette vanskelig å forholde seg til 🤣

    • Haha 1
  7. Jeg synes hele nettleiediskusjonen er veldig uoversiktlig og minner om propaganda fra alle kanter.

     

    I det ene øyeblikket så sies det at hvis man ikke foretar seg noe så kommer man dårligere ut med ny nettleie enn med dagens modell.

     

    I neste øyeblikk så taper kundene på at den nye nettleiemodellen nå utsettes.

     

    Hva som er fakta er ikke lett å finne ut av.

     

    I tillegg så har min kraftleverandør (Arva) ikke publisert noen priser om ny modell selv om det knapt 2 uker til den skal innføres. Nå skylder de på regjeringen men de hadde ikke publisert noen info før fredagen heller.

  8. Er det effektrapportering på disse dimmerene?

     

    Jeg plugget nettopp i 4 stk aeotec switch 6 og opplever at z-wave-nettverket ble betraktelig mye tregere.

    Jeg antar at dette er pga. effektrapporteringen. Det må sikkert bare tunes litt så blir det vel bra, men det irriterer meg ikke foreløpig :) 

  9. 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

  10. 1 minute ago, ArnieO said:

    Godt spørsmål! Jeg minnes å ha lest noe om det der.

     

    Der er ingen data på HAN-porten som (så vidt jeg kan forstå) kan brukes til å detektere jordfeil. Så enten er dette en måling som kun går til nettselskapet, eller så bruker de en kombinasjon av mange målinger til å avdekke hvor i et nabolag jordfeilen er.

     

    Grunnen til at jeg spør er at en slektning ble kontaktet av kraftselskapet om at han hadde jordfeil og måtte fikse det. En elektriker fant jordfeil i en skjøteledning etter 3-4 timers feilsøking.

     

    Også leser jeg her: https://www.tromskraftnett.no/privat/ams

     

    Quote
    • Med AMS installert vil vi kunne oppdage jordfeil og varsle kunden. Vi vil også kunne bistå online med å detektere jordfeil når installatør eller kunde tester kurser i anlegget. 

     

    Så da tenkte jeg at kanskje man kunne være preventiv hvis man visste dette så fort som mulig (kanskje man akkurat hadde plugget i noe).

    • Like 1
  11. 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

    • Like 1
  12. 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 😛 

     

  13. 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

  14. 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 

  15.  

     

    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

     

     

     

     

     

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