ELpris – Udskyd tøjvasken og spar (Fremtidens Hjem)

Min næsten-kone, Amanda, og jeg, har hen over de seneste uger tilbragt et par lærerige dage på legedate i Nivå sammen med 4 andre smarthome nørder. De fantastiske og meget kompetente personer, som gjorde os selskab, var Sepp fra @GeekNetworkdDK, Fille (og hans kæreste Zoe) fra @RepairGuyDK, Peter fra Biggerthings.io (Nordisk distributør af bl.a. Homey og Aqara produkter) og Dennis der er Nordisk Distributør af Shelly produkter.

Vi blev lukket ind i et nybygget Eurodan hus, som de har valgt at kalde for “legehuset”. Missionen var at tage et eksisterende “normalt hus” og tilføje alle de smarthome produkter og automationer, som vi kunne komme i tanke om. Eneste krav var, at huset stadigvæk skulle fremstå pænt og som et normalt hjem bagefter og ikke et tempel for nørder med synlige kabler alle steder og en påkrævet IT-eksamen for at kunne bo der.

Peter og Dennis havde til lejligheden fremskaffet bunkevis af Philips Hue, Shelly, Aqara, Sonos og Google Nest produkter m.fl. Det var som at være et forkælet barn til juleaften! Så mange helt nye æsker der måtte åbnes, med både velkendte produkter samt produkter, som knapt er udkommet.

Formålet med “legehuset” er at vise et eksempel på hvad man kan lave af smarthome i en gør-det-selv udgave, i et hus som ikke er klargjort til det fra starten af. Sådan et hus som mange af os bor i. Huset skal være et alternativ til 2 andre huse fra Eurodan, hvor der er indbygget smarthome under opførelsen af husene.

Læs evt. mere om Fremtidens Hjem her: https://www.fremtidenshjem.dk/velkommen-til-fremtidens-hjem-i-nivaa/

Tænd vaskemaskinen og hør om det er et godt tidspunkt at vaske

Én af de spændende smarthome løsninger, der blev lavet til Fremtidens Hus, og som jeg vil vise hvordan man laver i denne guide, er information om prisen på en vask/tørring af tøj. Informationen får man allerede når vaskemaskinen eller tørretumbleren tændes – altså inden en vask/tørring startes.

Se evt. ovenstående video og husk lyd.
(Videoen er optaget hjemme hos mig og ikke i Fremtidens Hus)

Når vaskemaskinen/tørretumbleren tændes, så benytter Homey et HomeyScript, som henter elpriserne fra nu og 8 timer frem (det kan ændres til et andet antal timer). I de timer bliver der søgt efter de billigste henholdsvis 2 timer til en vask eller 3 timer til en tørring + gennemsnits KwH prisen for de fundne billigste timer + hvilket klokkeslæt de fundne billigste timer begynder. Der bliver også returneret mange andre udregninger og tags, som du kan se i dokumentationen for HomeyScriptet på https://homey.guide/homeyscript-elpris

HomeyScriptet, som vi bruger til dette, blev udviklet sidste sommer (hvor elpriserne stak helt af!) til at finde de billigste timer, hvor de strømslugende apparater automatisk kunne startes. Så kunne man undgå at skulle kigge på prisgrafer hele tiden, hvilket var blevet en trend blandt de fleste.

I forbindelse med Fremtidens Hus projektet er dette HomeyScript blevet udvidet med en ny udregning. Den nye udregning finder gennemsnits KwH prisen fra lige nu og X timer frem. En 2 timers periode strækker sig f.eks. for det meste over 3 forskellige timer og dermed forskellige 3 prissatser. F.eks. 15 minutter i den første time, 1 time i den næste og 45 minutter i den sidste.

Dataene fra HomeyScriptet bliver behandlet i et flow , hvorefter der i en højtalers bliver afspillet ét af følgende eksempel-speaks:

  • Du kan spare 1 krone og 31 øre ved at vente med at vaske til klokken 13. Prisen for en vask nu er 3 kroner og 6 øre, hvor den kun koster 1 krone og 75 øre klokken 13.

  • Der er ikke noget at spare ved at vente med at starte vasken. Prisen for en vask nu er 3 kroner og 6 øre

I flowet er det muligt at indstille hvor meget der skal være at spare.

Samtidig med speaken i højtaleren kommer der en push besked på telefonen, hvor du kan vælge at blive påmindet om at starte vaskemaskinen, når de billigste timer starter.

Hvordan laver man det så?

  1. Din vaskemaskine og tørretumbler skal hver have enten en Shelly Plug S til stikkontakten eller en Shelly Plus 1PM til indbygning i elinstallationen.

    Begge enheder udmærker sig ved, at de kan måle hvor meget strøm (watt), som der bliver brugt lige nu. Der bliver brugt 0 watt når maskinen ikke er tændt, og det stiger til ca. 0,7 – 1,5 watt, når den bliver tændt. Det kan vi bruge til at starte vores flow på det rigtige tidspunkt.

    Husk at tilføje Shelly enheden til Homey!
    (Se evt. GRUNDLÆGGENDE: TILFØJ EN SMART-ENHED I HOMEY artiklen for hjælp)
  2. Der skal være en højtaler i nærheden af vaskemaskinen og tørretumbleren hvor speaken kan blive afspillet.

    I Fremtidens Hus bruger vi en Google Nest Hub. Så har vi senere mulighed for også at vise noget på skærmen. Det kunne f.eks. være grafer over dagens elpriser, til at understøtte informationen fra speaken.

  3. Chronograh app’en skal være installeret på Homey.

    Vi bruger den til at kunne sende en push besked med påmindelse om at starte vaskemaskinen, når vi er kommet frem til det rigtige tidspunkt.
    (Se evt. GRUNDLÆGGENDE: INSTALLER EN APP for hjælp)

  4. En Google TTS app skal være installeret på Homey.

    Helst i denne udgave, som giver en naturlig TTS stemme: NATURLIG GOOGLE-STEMME (TTS) MED GOOGLE SERVICES

    Du kan også vælge at bruge Cast a text to Google app’en i stedet. Det er nemmere, men stemmen er mere robot-agtig.

  5. Du skal have kopieret ELpris HomeyScriptet til din egen Homey fra denne side: https://homey.guide/homeyscript-elpris

    Sepp forklarer hvordan du gør det i videoen i artiklen.

  6. Vælg mellem at importere hele flow’et automatisk fra denne fil i Device Capabilities app’en (jeg har ikke en guide til hvordan man gør det endnu) eller gå videre til punkt 7.

    Vær opmærksom på, at de 6 stk. HomeyScript kort ikke importeres korrekt. Kortene bliver af typen DeviceCapalities og skal replaces af det tilsvarende HomeyScript kort. HomeyScriptet og variablen, der bruges til HomeyScriptet, skal indsættes igen. Scriptene står herunder.

  7. Byg flowet manuelt, som afbilledet på dette link. Der er noter hen over hver kolonne i flowet, som forklarer hvad hver del i flowet udfører.

    Til flow’et skal du bruge disse variabler. Opret dem på forhånd eller mens du bygger flowet:
    • Nummer variable: TempHvidevarerKostprisNu
    • Nummer variable: TempHvidevarerKostprisBilligst
    • Nummer variable: TempHvidevarerKostprisDiff
    • Tekst variable: HvidevarerKostprisSpeak

      Informationer som skal bruges til at lave flowet og ikke kan se på flow-billedet:
      Flow-kolonne 6: De 4 stk. “Run HomeyScript and return Text-tag”, indeholder dette HomeyScript, som du skal huske at indsætte i hver af dem:

      console.log(args[0]);
      var TempString = Number(args[0]).toFixed(2);
      var TempString = String(TempString).split(".");
      if(TempString[1].substring(0,1) == 0){TempString[1] = TempString[1].substring(1);}
      if(TempString[0] == 1){
        return(TempString[0] + " krone og " + TempString[1] + " øre");
      }else if (TempString[0] > 1){
        return(TempString[0] + " kroner og " + TempString[1] + " øre");
      }else{
        return(TempString[1] + " øre");
      }


      Flow-kolonne 8: Jeg bruger en speciel Google TTS, som taler med en mere naturlig stemme. Du kan læse om den i NATURLIG GOOGLE-STEMME (TTS) MED GOOGLE SERVICES artiklen.

      Du kan også vælge at bruge Cast a text to Google app’en i stedet. Det er nemmere, men stemmen er mere robot-agtig.

      Flow-kolonne 10: “Run HomeyScript and return Number-tag”, indeholder dette HomeyScript, som du skal huske at indsætte:

      console.log(args[0]);
      // Klokken er nu
      var nowDate = new Date();
      var nowDate = nowDate.toLocaleString("en-US", { hour12: false, timeZone: (await Homey.system.getInfo()).timezone});
      nowDate = new Date(nowDate);

      // Påmindelses dag
      var targetDate = new Date();

      // Hvis de billige timer er i denne time, så er det for sent med påmindelse
      if(nowDate.getHours == args[0]){
        throw Error("Det er for sent med påmindelse");
      }

      // Hvis de billige timer begynder før nuværende time, så er de billige timer i morgen
      if(nowDate.getHours > args[0]){
        targetDate.setTime(targetDate.getTime() + (24 * 60 * 60 * 1000));
      }

      // Indstil timetallet på påmindelses dagen
      targetDate.setHours(args[0],0,0,0)

      // Udregn tid fra nu til påmindelse i sekunder
      let diff = Math.round((targetDate.getTime() - nowDate.getTime()) / 1000);
      console.log("Klokken er nu:  " + nowDate);
      console.log("Påmindelsen er kl:  " + targetDate);
      console.log("Sekunder til påmindelse: " + diff);
      return(diff);
Skriv en kommentar

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The reCAPTCHA verification period has expired. Please reload the page.