Tvättmaskinmeddelanden: 3 steg
Tvättmaskinmeddelanden: 3 steg
Anonim
Image
Image
Tvättmaskinmeddelanden
Tvättmaskinmeddelanden

Jag har en "dum" billig tvättmaskin för cirka £ 150. Storleken var den största begränsningen, så döma mig inte för hårt. Det dummare i mitt hushåll är jag.

Att tvätta vita underkläder med röda tröjor är en av mina synder. Den andra kommer inte ihåg att något har stoppats i tvättmaskinen. Som ett resultat har jag tvättat samma sats ungefär 3 gånger en gång och lämnat den kvar i flera dagar. Det var dags att anpassa mina beteenden, särskilt eftersom underlåtenhet att följa kommer att resultera i en skilsmässa.

Jag börjar bli gammal, jag kan inte få det här att hända. Dags för tvättmaskinens meddelanden, det finns inget botemedel mot rosa underkläder, jag antar att jag bara måste bära det.

Funktioner:

  • Google Home -integration med (tillval) tjat
  • Slumpmässiga tjatande varningar var 5: e minut
  • Android -aviseringar
  • Kostnad för tvätt och total tvättid
  • snygg graf (på grund av stora data)
  • absolut ingen hårdvara hackar till tvättmaskinen (full garanti behålls)
  • Du behöver inte aktivera eller avaktivera larmet (börja tvätta för att starta, stäng av tvättmaskinen för att stanna)

Steg 1: Tvättmaskinmeddelanden

Tvättmaskinmeddelanden
Tvättmaskinmeddelanden

Det finns mer än ett sätt att skinna den här katten. Jag tycker att mitt är det mest vettiga och förmodligen ett av de billigaste alternativen att välja. Om du försöker hårt behöver du inte ens röra tvättmaskinen till att börja med och spara på garantin.

Jag vill ha ett meddelande på min mobil/dator/Google Home när tvätten är klar. Jag vill inte påminna mig själv om att ställa in tidtagare, aktivera någonting, bara sätta in tvätten och få någon annan än min fru att påminna mig om att tvätten behöver närvara

Så för att rädda mitt äktenskap från den förestående undergången och tjäna lite extra pengar på ansluten försäljning (vilket också sparar mitt äktenskap från den förestående undergången) hittade jag lösningen på problemet.

Svaret är Sonoff POW R2

Vänta, hur ska du meddela tvättmaskinaviseringar med Sonoff? - Låt mig berätta allt om det!

Du måste skaffa Sonoff POW R2 - jag länkade några butiker åt dig, men om du hittar ett bättre erbjudande är det ännu mer häftigt:

  • Bangood
  • Gearbest
  • Aliexpress
  • AmazonUK
  • AmazonUS
  • ITEAD (Sonoff store)

(Tycker bara inte att jag är så snäll, de här länkarna ger mig en liten kickback om du använder den - tack!)

Sonoff POW R2

Inga av de nödvändiga funktionerna är verkligen tillgängliga i enhetens version av enheten, så jag kommer att blinka Tasmota-firmware på den. På så sätt kan jag göra vad jag vill med data som kommer från Sonoff POW R2.

Den unika förmågan hos Sonoff POW R2 är att dela information om strömmen som används av enheten som är ansluten via Sonoff. Jag kan berätta när tvättmaskinen är i drift och när den inte längre tvättas. Allt jag behöver göra vid denna tidpunkt är att klä upp det med lite logik för att skapa tvättmaskinmeddelanden. Inga modifieringar behövs i tvättmaskinen! Se bara till att kontrollera effektvärdena för din tvättmaskin. Denna Sonoff POW R2 klarar 15A med 3500W effekt - jag är på den säkra sidan eftersom min tvättmaskin har en effekt på 2000W.

Om du är tillräckligt smart kan du skarva kabeln från en kort förlängning istället för att klippa av nätsladden. På så sätt förblir din "stumma" tvättmaskin intakt och får alla smarta funktioner.

Steg 2: Använda NodeRED för meddelanden om tvättmaskin

Använda NodeRED för tvättmaskinmeddelanden
Använda NodeRED för tvättmaskinmeddelanden
Använda NodeRED för tvättmaskinaviseringar
Använda NodeRED för tvättmaskinaviseringar
Använda NodeRED för tvättmaskinaviseringar
Använda NodeRED för tvättmaskinaviseringar
Använda NodeRED för tvättmaskinaviseringar
Använda NodeRED för tvättmaskinaviseringar

Du vet nu, jag älskar NodeRED. Du kan argumentera för hur coolt Home Assistant är hela dagen, men du kommer inte i närheten av vad du kan uppnå med NodeRED. Jag har en serie för nybörjare om du är redo att göra hoppet.

Jag kommer faktiskt att återanvända en idé jag hade för mina 3D -skrivarmeddelanden. Jag räknade ut strömförbrukningen innan, det är ingen idé att uppfinna hjulet igen. Dags att ändra det.

Jag försöker göra detta så användarvänligt som möjligt så att du inte behöver ändra mycket kod själv, därför är många saker kodade för dig. Det betyder att vi måste konfigurera flödet för att fungera med din tvättmaskin. Det finns ett par saker du måste tillhandahålla:

  • Kostnad för el (ett JSON -objekt som har 2 tariffer. Fyll i priset och gånger tariffen ändras, om du bara har en enda tariff, duplicera ditt pris)
  • Timeout (tiden i minuter efter vilken meddelandet kommer att utfärdas. Det är inställt på 5 minuter, men ändra det gärna. Öka timeout om din tvättmaskinmeddelande utlöser mittdisk)
  • Standby Power (tvättmaskinens effektdragning uppmätt när den är i standby - påslagen men inte i bruk)
  • Nagging (på/av upprepa Google Home -aviseringar var 5: e minut tills tvättmaskinen stängs av, tjat måste aktiveras varje gång)

Hur fungerar det? Jag använde ett smart trick för att trimma en array till antal värden som motsvarar timeout i minuter. Detta innebär att flödet ALLTID kontrollerar tvättmaskinens genomsnittliga effektuttag.

genomsnitt === 0 (tvättmaskinen är avstängd)

genomsnitt 0 (tvättmaskin i standby) genomsnitt> 0 (tvättmaskin används)

Eftersom jag kontrollerar tvättmaskinens strömförbrukning var 60: e sekund (det lägsta värdet jag spelade in var 3W) kan jag enkelt avgöra när maskinen tvättar, i vänteläge eller avstängd. Det är dags att linda en fungerande logik runt den och lägga till några aviseringar.

FUNKTIONSNOD: Beräkna effekten

var power = msg.payload. StatusSNS. ENERGY. Power; var timer = flow.get ("timeout"); var total = flow.get ("Totalt"); var cost = flow.get ("CostArray");

// kontrollera om det finns en array

om (! totalt ||! total.längd || totalt === odefinierat) {totalt = ; }

// tryckelement

total.unshift (kraft); // ta bort X elementh if (total [timer] === odefinierad) {flow.set ("Totalt", totalt); } annat {total.splice (timer, 1); flow.set ("Totalt", totalt); }

När tvättmaskinen går i beredskap efter att ha varit udda händer ingenting egentligen. Den första händelsen registreras när strömförbrukningen överskrider vänteläget. Tvätten har börjat (plus/minus 60 sekunder) och tiden noteras. Vid denna tidpunkt börjar jag också beräkna hur mycket varje minut kostar mig och skjuter det värdet till en annan array. Jag aktiverar också meddelandet.

Om tvättmaskinen stannar beräknar jag energikostnaden (summan av alla element i matrisen), den tid det tar att slutföra (minus timeout) och trycker på det som ett meddelande till Google Home eller Android via Join. Om du aldrig använde Join in NodeRED har jag en praktisk handledning för att komma igång. Jag skapade också loa op som pågår var 5: e minut och ger ett tjatande meddelande till Google Home. Den slingan stoppas när strömmen som tvättmaskinen använder = 0. Jag måste också avaktivera aviseringarna.

FUNKTIONSNOD: meddela falskt

funktion secondsToHms (d) {d = Tal (d); var h = Math.floor (d / 3600); var m = Math.floor (d % 3600 /60); retur ('0' + h). skiva (-2) + "h" + ('0' + m). skiva (-2) + "min"; }

flow.set ("meddela", falskt);

var start = flow.get ("WashStart"); var timer = flow.get ("timeout");

// beräkna tvättid

var datum = nytt datum (); var ms = date.getTime ();

var totaltimeinsec = (ms -start)/1000 - 60 *timer;

var totalWashTime = secondsToHms (totaltimeinsec);

flow.set ("TotalWashTime", totalWashTime);

flow.set ("WashStart", 0);

// spara tvättkraftsessionen

var washtotal = flow.get ("WashTotal"); var sum = washtotal;

funktion add (ackumulator, a) {

returackumulator + a; }

var genomsnitt = sum.reduce (add);

msg. genomsnitt = genomsnitt / washtotal.length; flow.set ("WashTotal", null);

//total kostnad

var sum = flow.get ("CostArray");

funktion add (ackumulator, a) {

returackumulator + a; }

var costofpower = sum.reduce (add);

var totalcost = Math.round (costofpower * 100) / 100; flow.set ("CostArray", null); flow.set ("TotalCost", totalcost);

msg = {};

msg.payload = "Din tvätt är klar";

msg.ms = ms; msg.totalWashTime = totalWashTime;

returmeddelande;

Mina meddelanden utfärdas till tre enheter (telefon, stationär och bärbar dator) Jag använde autentiseringssystemet för att betjäna API -nycklarna, och jag aktiverade också kontextlagring för min NodeRED.

FUNKTIONSNOD: återställ avisering

flow.set ("meddela", sant); var power = msg.payload; var total = flow.get ("WashTotal"); var start = flow.get ("WashStart"); // bara starta tvätten om (start === 0) {var date = new Date (); var sec = date.getTime (); flow.set ("WashStart", sek); } // kontrollera om array finns om (! total ||! total.length || total === odefinierad) {total = ; } // push element total.unshift (kraft); flow.set ("WashTotal", totalt); msg.payload = totalt; returmeddelande;

Jag skapade en liten tjatgenerator som väljer slumpmässigt tjat varje gång Google Home behöver påminna dig. Det finns en grundläggande funktion för att välja ett slumpmässigt tal från det område som anges av antalet element från den tjatande matrisen.

Steg 3: Slutord

Slutliga ord
Slutliga ord
Slutliga ord
Slutliga ord

För mindre än $ 15 kan du smarta upp din tvättmaskin och förmodligen spara dig mycket tjat! Det är en hel del. Jag ser fram emot reaktionen från mina missar, eftersom hon är borta. Hon förväntar sig inte att tvättmaskinen ska tala tillbaka till henne med sina "favorit" citat!

Dessutom, om du vill få information om uppdateringarna till detta eller andra projekt - överväg att följa mig på den plattform du väljer:

  • Instagram
  • Youtube

och om du känner för att köpa mig en kaffe eller stödja mig på ett mer kontinuerligt sätt:

  • PayPal
  • Patreon

Jag hoppas att du har tyckt om projektet! Kolla in fler projekt på notenoughtech.com