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

Hva har du automatisert idag/Hva har du gjort på dine prosjekter idag


Anbefalte innlegg

10 timer siden, kvisle skrev:

automasjon som sørger for at den er nede når det er sol


Noe tilsvarende som jeg har gjort, men jeg har skrevet det i appdaemon og laget det slik at det er gjenbrukbart for flere vinduer. I tillegg tar jeg hensyn til lysnivå ute og om jeg er hjemme.

 

hagestue_a:
    module: gardiner
    class: Gardiner
    retning: 228.6
    sollysnivaa: 35000
    forsinkelse_borte: 18000
    forsinkelse_hjemme: 1800
    gardin: cover.rullegardin_hagestue_a
    vindu: binary_sensor.glassdor_b
    sollyssensors:
        - sensor.ute_1_etg_lightlevel
        - sensor.ute_u_etg_lightlevel
    elevation: 5
    azimuth: 10
    borteposisjon: 0
    hjemmeposisjon: 45
    overstyr: input_select.modus_gardin_terrasse
hagestue_b:
    module: gardiner
    class: Gardiner
    retning: 228.6
    sollysnivaa: 35000
    forsinkelse_borte: 18000
    forsinkelse_hjemme: 1800
    gardin: cover.rullegardin_hagestue_b
    sollyssensors:
        - sensor.ute_1_etg_lightlevel
        - sensor.ute_u_etg_lightlevel
    elevation: 5
    azimuth: 10
    borteposisjon: 0
    hjemmeposisjon: 0
    overstyr: input_select.modus_gardin_terrasse
hagestue_c:
    module: gardiner
    class: Gardiner
    retning: 228.6
    sollysnivaa: 35000
    forsinkelse_borte: 18000
    forsinkelse_hjemme: 1800
    gardin: cover.rullegardin_hagestue_c
    vindu: binary_sensor.glassdor_c
    sollyssensors:
        - sensor.ute_1_etg_lightlevel
        - sensor.ute_u_etg_lightlevel
    elevation: 5
    azimuth: 10
    borteposisjon: 0
    hjemmeposisjon: 45
    overstyr: input_select.modus_gardin_terrasse
import appdaemon.plugins.hass.hassapi as hass

class Gardiner(hass.Hass):
    isSun = False
    isInPosition = False
    handle = None

    def initialize(self):
        for tr in self.args["sollyssensors"]:
            self.listen_state(self.sollys, tr)
            if(float(self.get_state(tr)) >= float(self.args["sollysnivaa"])):
                self.isSun = True
                if self.handle is not None:
                    self.cancel_timer(self.handle)
                self.handle = self.run_in(self.sun_off, 600)
        
        self.listen_state(self.sun, "sun.sun", attribute = "all")
        self.listen_state(self.hjemme, "binary_sensor.noen_er_hjemme")
        self.listen_state(self.nystatus, self.args["overstyr"])

        if "vindu" in self.args:
            self.listen_state(self.nystatus, self.args["vindu"])

    def sun(self, entity, attribute, old, new, kwargs):
        self.isInPosition = False

        if float(self.get_state("sun.sun", attribute = "elevation")) >= float(self.args["elevation"]):
            if float(self.get_state("sun.sun", attribute = "azimuth")) >= float(self.args["retning"] - 90 + self.args["azimuth"]):
                if float(self.get_state("sun.sun", attribute = "azimuth")) <= float(self.args["retning"] + 90 - self.args["azimuth"]):
                    self.isInPosition = True

        self.sett_posisjon()

    def hjemme(self, entity, attribute, old, new, kwargs):
        if self.handle is not None:
            self.cancel_timer(self.handle)
        if new == "on":
            self.handle = self.run_in(self.sun_off, self.args["forsinkelse_hjemme"])
        else:
            self.handle = self.run_in(self.sun_off, self.args["forsinkelse_borte"])
        self.sett_posisjon()
    
    def nystatus(self, entity, attribute, old, new, kwargs):
        self.sett_posisjon()
    
    def sollys(self, entity, attribute, old, new, kwargs):
        if self.isInPosition == True and float(new) >= float(self.args["sollysnivaa"]):
            if self.isSun == False:
                self.isSun = True
                self.log("sollys er paa")
                self.sett_posisjon()
            if self.handle is not None:
                self.cancel_timer(self.handle)
            
            if self.get_state("binary_sensor.noen_er_hjemme") == "on":
                self.handle = self.run_in(self.sun_off, self.args["forsinkelse_hjemme"])
            else:
                self.handle = self.run_in(self.sun_off, self.args["forsinkelse_borte"])
            
            #t,i,a = self.info_timer(self.handle)
            #self.set_state("sensor.{}_time_up".format(self.name), state = t.strftime("%H:%M:%S"))
    
    def sun_off(self, kwargs):
        self.isSun = False
        self.log("sollys er av")
        self.sett_posisjon()

    def sett_posisjon(self):
        steng = False
        manuell = False
        pos = int(self.args["borteposisjon"])

        if self.get_state("binary_sensor.noen_er_hjemme") == "on":
            pos = int(self.args["hjemmeposisjon"])

        if self.isSun == True and self.isInPosition == True:
            steng = True
        
        if self.get_state(self.args["overstyr"]) == "Alltid oppe":
            steng = False
            self.isSun = False
        elif self.get_state(self.args["overstyr"]) == "Alltid nede":
            steng = True
            pos = int(self.args["borteposisjon"])
            self.isSun = False
        elif self.get_state(self.args["overstyr"]) == "Manuell":
            manuell = True
            self.isSun = False
        
        if "vindu" in self.args and self.get_state(self.args["vindu"]) == "on":
            steng = False
            self.isSun = False
        
        if manuell == False:
            if steng == True and self.get_state(self.args["gardin"], attribute = "current_position") != pos:
                self.call_service("cover/set_cover_position", entity_id = self.args["gardin"], position = pos)
            elif steng == False and self.get_state(self.args["gardin"], attribute = "current_position") != "100":
                self.call_service("cover/set_cover_position", entity_id = self.args["gardin"], position = 100)

 

  • Like 3
Lenke til kommentar
Del på andre sider

On 08/04/2020 at 22:01, Moskus said:

Jeg har satt opp en kommando for det:  "Alexa, open garage"... :) 

 

Imponert over rekkevidden! ?

Sveiver (for du har sveiv?) du ned ruta og roper så høyt du klarer i håp om at Alexa'n hjemme hører deg? :) 

 

Jeg bruker "Hei Siri, åpne garasjeport" og hun hører alltid etter :) 

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

Må nesten vise ferdig «vare» som henger på veggen. Ungene (3 og 1 år) setter farge i ett kjør og synes det er veldig stas ?


Ser ut til å være solid nok. Rammen rundt rosa knapp har allerede fått litt juling etter at et skrujern ble presset mellom, men knappen holder. Fikk også en tur ned trappa og det var kun trappa som fikk et hakk ?

 

0A8B2672-545A-43CF-A90B-6A200DE5BF9A.jpeg

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

8 timer siden, Mathias skrev:

Sveiver (for du har sveiv?) du ned ruta og roper så høyt du klarer i håp om at Alexa'n hjemme hører deg? :) 

 

Jeg bruker "Hei Siri, åpne garasjeport" og hun hører alltid etter :) 

 

Alexa kan også brukes på mobile enheter, i likhet med Siri, men både på iOS og Android, til forskjell fra Siri.

Lenke til kommentar
Del på andre sider

14 timer siden, Mathias skrev:

Ja, jeg vet det. Var bare et forsøk på humor i en ellers innesittende hverdag ?

Okey, det virket ikke sånn i det hele tatt ettersom du påpekte at du brukte Siri på mobilen for å slippe å måtte rope inn til HomePodden. Ser mer ut som om du prøvde å si Siri > Alexa, enn et forsøk på humor. Hadde du latt være å nevne Siri - da hadde det vært litt humoristisk skal jeg være enig i :) 

  • Like 1
Lenke til kommentar
Del på andre sider

Men fra spøk til side:

Bruker du Alexa, så er Echo Auto en herlig utvidelse av den. Vi har en såpass gammel bil at den har aux-inngang, så vi har koblet den til der, og bruker den som handsfree, musikkavspiller, lydbøker, etc. :) 

Lenke til kommentar
Del på andre sider

Bare en liten justering på noe som allerede er automatisert. På garasjeportåpneren har jeg nå mange forskjellige alternativer for å åpne den og etterhvert har jeg endt opp med å mene at det har blitt for lett. Blandt annet har både kona og jeg en widget på telefonen for å åpne og det er jo bare et uheldig trykk der som skal til.
Det nye er at alarmen på huset må være avslått for at porten skal være mulig å åpne. Er alarmen påslått, så vil den ikke åpnes.
For å få til dette så blir sjekk av alarmstatus gjort på den ESP32 som styrer releene og som står ved åpneren. Jeg bruker EspHome og en det ble en smal sak å ta alarmstatus inn og legge inn en ekstra sjekk på den aksjonen som trigger åpnereleet.

Og så trenger jeg ikke lenger tenke på at kona når hun dobbeltrykker på mobilens skjerm for å slå den av, er et dobbeltrykk på en viss widget.

 

text_sensor:
  - platform: homeassistant
    id: alarmstatus
    entity_id: alarm_control_panel.hjemmealarm

cover:
  - platform: time_based
    name: "Garasjeport"
    id: garasjeport
    has_built_in_endstop: true
    #icon: "mdi:garage-open-variant"

    open_action:
      - if:
          condition:
            lambda: 'return id(alarmstatus).state == "disarmed";'
          then:
            - switch.turn_on: gararasjeport_opp
            - delay: 0.5s
            - switch.turn_off: gararasjeport_opp
          else:
            lambda: 'id(garasjeport).publish_state(COVER_CLOSED);'
    open_duration: 16s


 

Screenshot_20200411-193113_Nova Launcher.jpg

  • Like 3
Lenke til kommentar
Del på andre sider

Ikke så mye til automasjon, men et ferdig tiltak for å kutte ned på antall pcer som står å suser. Satt opp en raspberry pi 1 (!) med rclone mot google drive. Denne eksponerer nå flac samlingen min på hjemmenettverket med dlna. Fungerer strålende. Nyter losless musikk fra en naim muso :)

 

..også har jeg satt opp flux til å styre lysstyrke, behagelig at de nå følger solen

Lenke til kommentar
Del på andre sider

Ikke er det gjort i dag og knapt nok kan det kalles automasjon.

Da vi skulle "planlegge" kjøkkenet var jeg ganske klar på at noe lys under overskap ville jeg ikke ha montert. Ingenting fra HTH fristet. Så da vi flyttet inn så var dette noe av det første jeg måtte ta tak i. Lys under overskap måtte vi jo ha.
Under skapene er det en pynteplate som er festet med skruer i bunn av skapene. Til høyre for skapet var det et 5cm rom til å ta opp ledning. Stikkontakt er over skapene. Jeg kjøpte alu-profil hos LED Spot og siden sjefen (kona) insisterte på en hvit så måtte det bli en som var litt for smal til Philips Hue sin lysstripe. Det løste jeg ved å lage et snitt i tapen på undersiden av lysstripen og deretter ta av den beskyttende plast-innkapslingen som Philips har på sin modell. Men LED Spot har bredere profiler også som passer bedre til brede lysstiper. Men de er ikke hvite. Alu-profilen har også en fin flens som dekker over ujevnheter og lakk som sprekker/fliser opp etter sagingen.
Så jeg løsnet platen og sagde av 18mm på midten i hele dens lengde og skudde deretter opp de to delene. Deretter skrudde jeg fast alu-profilen og til slutt limte jeg fast lysstripen. Var egentlig fort gjort. Philips Hue sin lysstripe har kanskje litt for stor avstand mellom diodene etter min smak, men når det kommer bak et diffust glass og ligger opp under et skap så merkes ikke noe av det. Sterkt nok lyser den i alle fall.

 

20200413_093743.jpg

20200413_093759.jpg

20200413_093816.jpg

20200413_093838.jpg

  • Like 5
Lenke til kommentar
Del på andre sider

Har hatt problemer med Modbus plugin som av en eller annen grunn mister kontakt med Gateway, og istedenfor å koble seg til på nytt så spammer den bare loggen med errors..

 

Laget noen events for å både "feilsøke" for å se om det er noe mønster i det, men også som restarter plugin som pleier å hjelpe. Hvis den har restartet plugin 3x uten at det hjelper så skrus hele aggregatet inkl gateway av og på. Liker å sette opp notifications når jeg har laget nye events som dette. Hvis alt funker som det skal fjerner jeg notifications etterhvert, men bare for å følge med i starten.

 

Første event er en timer som starter når alt er i orden - jeg får nye verdier fra aggregatet.

 

image.thumb.png.bff89f89e13c3d559bd8562b37ed04cb.png

 

Trinn 2 event er restart av plugin hvis jeg ikke har fått nye verdier på 1 minutt.

image.thumb.png.0cf04338536ab0840743bc3b58bb607e.png

 

Trinn 3 er at strømmen kuttes og skrus på igjen hvis trinn 2 har kjørt 3 ganger uten at det har hjulpet

image.thumb.png.ee58f6a8d1611878904b82049801a57b.png

 

Har også et event som restarter counter kl 12 sånn at den ikke ender på trinn 3 over tid uansett. Vi får se hvordan det funker, mistenker at jeg ikke er fri for hodebry bare med disse eventene :)

 

  • Like 1
Lenke til kommentar
Del på andre sider

Ble litt inspirert av en tråd her i går om strømpris inkludert nettleie og fant ut at nå er det på tide å gjøre det selv. Ikke rare greiene, men det kan brukes til eksempel på hvordan en løser det med Appdaemon til Home Assistant. Med funksjonen set_state vil en opprette en entity i HA hvis den ikke er der fra før.

Jeg har tatt de faste kostnadene og regner ut hva sekundprisen blir og legger dette på de variable kostnadene. Dette er en like "feil måte" å gjøre det på som å holde de adskilt eller å legge til dagsprisen ved midnatt. Jeg ville ha de slik som dette og da ble det slik. Jeg trenger ikke tenke på god regnskapsskikk.

PS. Har endret tekst fra linjeleie til nettleie etter at jeg la ut her........

image.png.1cb256cfd7044938f192bbd8b8a1ef27.png

 

import appdaemon.plugins.hass.hassapi as hass

class Strompris(hass.Hass):
    def initialize(self):
        self.listen_state(self.calculate, "sensor.accumulatedcost")
        self.listen_state(self.calculate, "input_number.pris_pr_kwh_kleppenergi")
        self.listen_state(self.calculate, "input_number.pris_pr_aar_kleppenergi")
        self.listen_state(self.calculate, "input_number.pris_pr_aar_tibber")
    
    def calculate(self, entity, attribute, old, new, kwargs):
        t = self.time()
        ts = t.second + t.minute * 60 + t.hour * 3600
        s = 31536000
        #self.log("{} {}".format(ts, s))
        total = float(self.get_state("sensor.accumulatedcost"))
        total += float(self.get_state("sensor.accumulatedconsumption")) * float(self.get_state("input_number.pris_pr_kwh_kleppenergi")) / 100
        total += float(self.get_state("input_number.pris_pr_aar_kleppenergi")) * ts / s
        total += float(self.get_state("input_number.pris_pr_aar_tibber")) * ts / s
        self.set_state("sensor.total_pris_for_strom", state = "{:3.2f}".format(total), attributes = {"unit_of_measurement": "NOK"})

 

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

image.png.934a27fa4ba0757822eb2f27933c2a9a.png

Det er ganske avslørende når en ser det svart på hvitt. Betaler 2 kroner for strømmen og resten opp til 20 kroner er nettleie og faste kostnader. Den variable andelen er så ubetydelig at å styre strømforbruk til tider på døgnet der strømmen er "billigst", er bortimot meningsløst.

Lenke til kommentar
Del på andre sider

22 minutter siden, stigvi skrev:

Den variable andelen er så ubetydelig at å styre strømforbruk til tider på døgnet der strømmen er "billigst", er bortimot meningsløst.

Ja, slik er det . Det er helt sprøtt flatt!

Men litt mer variasjon er normalt. Jeg så litt på dette i 2017/2018.

 

 Strømprisene har blitt flatere og flatere (og akkurat nå lavere og lavere) etter hvert som AMS har blitt mer og mer vanlig. Det er så lite variasjon i løpet av et døgn at det skal mye til å spare noe særlig på å flytte strømforbruket fra et sted til et annet. Men dette er jo til frustrasjon for NVE som mente at ved innføring av AMS vil alle husstander automatisk bli superinteressert i strømforbruket sitt for å spare penger og dermed vil forbruket jevne seg ut.

 

Det skjedde jo ikke, så nå må de jo finne en annen måte å "tvinge" folk til å jenve ut toppene. Bare synd at de forslagene de har kommet med ikke egentlig hjelper på problemet de har satt seg fore...

Lenke til kommentar
Del på andre sider

11 hours ago, stigvi said:

Den variable andelen er så ubetydelig at å styre strømforbruk til tider på døgnet der strømmen er "billigst", er bortimot meningsløst

Situasjonen akkurat nå er ikke representativ for det vi har sett siste årene.

Nedenfor er siste 12 mnd, angitt med min/max/avg per døgn. "Før" grafen var det en saftig periode tidlig 2019 med spotpriser godt over ei krone per kWh.

 

Jeg ikke nok kunnskap om markedet til å si hvor hovedårsaken til de lave prisene ligger, men prisbalansen er skjør med en slik ekstrem ferskvare som strøm.

 

Som @Moskus påpeker har det lenge vært bare unntaksvis så stor forskjell på min og max pris over døgnet at effektstyring har noen hensikt.

image.thumb.png.1bc34876df84f2dd3964fe2534889823.png

Lenke til kommentar
Del på andre sider

Det har vært en mild vinter med rekordmye snø som skal smelte og fylle vannmagasinene som gjør prisene lave i Norge.

 

I tillegg har gassprisene vært lave fordi det er bygd ute mye ny LNG eksportkapasitet i verden, og COVID-19 har redusert strømforbruket nede i Europa.

 

Alt i alt en perfekt storm :)

  • Like 1
Lenke til kommentar
Del på andre sider

Hang opp en Multisensor 6 under "glasstaket" ved inngangspartiet. Skal primært brukes til måle Lux før jeg evt kjøper en Hue-Lux-måler etter tips fra @stigvi.

Får se om jeg klarer å lure koblingene inn under kledningen istedenfor å ha den store boksen (som heldigvis er mindre synlig i virkeligheten enn jeg hadde trodd)...

 

image.png

 

Multisensor 6 er genial mtp strømtilkobling, men jeg skulle ønske de brukte skrukoblinger istedenfor microUSB...

  • Like 1
Lenke til kommentar
Del på andre sider

1 hour ago, Moskus said:

Hang opp en Multisensor 6 under "glasstaket" ved inngangspartiet.

Hvor godt tåler denne vær og vind? Ser at du ikke har bygd den inn noe ekstra, men regner med at den står en plass som iallefall ikke er utsatt for regn. Synes jeg skimter et glasstak der (som du nevner), men ble litt usikker. Her på Sunnmøre regner det aldri rett ned :) 

Lenke til kommentar
Del på andre sider

4 timer siden, Mathias skrev:

Hvor godt tåler denne vær og vind?

Det skal vi nå finne ut. ;) 

 

4 timer siden, Mathias skrev:

Ser at du ikke har bygd den inn noe ekstra, men regner med at den står en plass som iallefall ikke er utsatt for regn. Synes jeg skimter et glasstak der (som du nevner), men ble litt usikker.

Ja, det er minst en 1 glasstak i hver retning.

 

4 timer siden, Mathias skrev:

Her på Sunnmøre regner det aldri rett ned :) 

Ikke i Stavanger heller. ;) 

Lenke til kommentar
Del på andre sider

20 timer siden, Mathias skrev:

Hvor godt tåler denne vær og vind?

 

15 timer siden, Moskus skrev:

Det skal vi nå finne ut. ;)

Jeg fant ut det.

Har hatt en på batteri stående under ett takutstikk på 30 cm.
Ble montert i slutten av November.

Plassert på lesiden av huset, men tydeligvis ikke nok i le. Den sluttet å rapportere temperatur.

Jeg tror at det er snøfokk med etterfølgende temperaturøkning som er årsaken.

Trøndersk innenlandsklima.
Åpnet den opp, og det var tydelig at fukt hadde vært inni.

 

Jeg vil tro at @Moskussin plassering inne i et hjørne under ett glasstak er trygg.

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.