Håll koll på speltiden

Som förälder så kan barnens skärm- och TV-spelstider vara en utmaning att hantera. Jag har gjort några automationer i Node-RED som hjälper oss lite med detta.

När vår son startar sitt Xbox på vår TV så skickas en notifikation till våra telefoner. Där kan vi genom en action ställa in en förvald timer (en timme, två timmar, ingen timer) för hur länge vi tycker att han ska få spela. När tiden sedan har gått ut så skickas det en ny notifikation, samt att det spelas upp ett meddelande att tiden är ute på en Google Home-högtalare.

Min utrustning består av:
– Harmony Hub (universalfjärrkontroll)
– Smartphone av valfri modell (jag har en iPhone med proceduren är samma för Android)

Xbox startas

När vår Harmony Hub startas på aktiviteten ”Xbox” så skickas en actionable notification till våra telefoner:

Genom att långtrycka på notifikationen så visas vilka olika timers som är förvalda.

Sekvensen i Node-RED ser ut så här:

I Data-fältet skriver man in meddelandet som ska skickas, och vilka actions som ska visas. JSON-koden i mitt fall ser ut enligt följande:
Det som skrivs som ”actions” kommer vi sedan plocka upp i nästa automation.

Timer vald

När man sedan väljer en timer så skickas ett event till Home Assistant. För att hämta upp detta eventet så använder man en ”events: all” node. Har man en iPhone så ska man lyssna på event type: ios.notification_action_fired. Efter det sätter man en switch node som ger en output för vilken action man har valt.

Som du ser så är de tre första actions här samma som jag har i min JSON i förra steget. Jag har även en action för att stänga av Xbox, som kommer i sista steget.

Samtidigt som en timer startar så skickas det även ut ett meddelande till Google Home-högtalaren vilken timer som är vald. För en timme så blir call-service noden för meddelandet enligt följande:

Jag använder mig av en stoptimer node för mina olika timers. Jag har även lagt in en påminnelse när det är 10 min kvar. Därför har jag satt en timer, om man väljer en timme, på 50 minuter först, som sedan följs upp av en ny timer på 10 min. Jag har faktiskt satt den första timern på 55 minuter eftersom jag är snäll och ger honom 5 minuter för att starta spelet och så 🙂

Hela sekvensen ser ut så här:

Tiden är slut

När tiden är slut så skickas det alltså ett meddelande till Google Home-höglaren som informerar att tiden är slut och det skickas även en ny notifikation till telefonen. I den notifikationen finns ett val för att stänga av Xbox (och TV) ifall att detta inte görs.

JSON för denna call-service ser ut så här:

Denna action hämtas upp av samma event och switch node som jag visade ovan.

Sociala Medier

Följ mig gärna på Instagram där jag postar en del om mitt smarta hem och övrig teknik.

Leave a Reply

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.