Er zijn wel wat flows te vinden over de container app van Robert Raaijmakers maar de topics zijn niet echt meer actueel en er is ook geen concreet voorbeeld van een flow die vóór bedtijd vertelt dat de container aan de straat moet. Dus bij deze!
In deze flow ga ik er vanuit dat je een vorm van een bedtijd trigger hebt; hetzij een knopje hetzij een spraakcommando. Deze flow kun je daar in embedden.
Download eerst de Afvalreminder 2.0 app op je Homey:
Bij de instellingen zorg je ervoor dat jouw adres ingesteld is en de juiste afvalverzamelaar geselecteerd is. Stel vervolgens onder ‘Globale tag instellingen’ het volgende in met kleine letters;
Bij GFT voer je alleen ‘groene’ in
Bij restafval alleen ‘grijze’
Etc etc
Goed, dan nu de flow. Stel de trigger in zoals jij dat wilt… Bij ons is het ‘Bedtijd aangezet’. Middels de flow card van de app voer je onder ‘En…’ in; Iets wordt morgen opgehaald.
In ons geval gebeuren er nu twee dingen… Homey laat ons meldingsgeluidje horen en spreekt uit welke container er in de ovhtend opgehaald zal worden. Verder stream ik een recycle plaatje naar al mijn Google HUB schermen. Dit laatste schakel ik weer uit zodra ons slaap protocol in werking treed.
Mijn tweede flow is een reminder voor de volgende ochtend. Wij zijn soms nogal lui en negeren Homey gewoon (kan iemand een app bouwen die de container ook daadwerkelijk aan straat zet??) en derhalve willen we graag een reminder.
In dit geval gebruik ik als trigger ‘Huis wordt aangezet’. Ik gebruik een virtuele modus om ons gehele huis met één schakelaar aan en uit te zetten. Zodra die aangezet wordt en ik die dag nog niet eerder een reminder heb gehad, stuur dan een pushbericht!
De EN trigger is soortgelijk. Gebruik dezelfde kaart als hierboven maar verander hem naar Iets wordt vandaag opgehaald.
Die ‘nog niet eerder’ werkt als volgt; in logica heb ik een tekstuele variabele ‘Datum afvalherinnering’. Bij het starten van de flow check ik of die variabele gelijk is aan de datum van vandaag. Is hij dat? Doe dan niets. Is hij dat niet? Zet hem dan op die datum en stuur de reminder!
Ik gebruik bed tijd juist niet als trigger, omdat ik dan vaak al op bed lig. Bij mij ook wordt er een bericht gestuurd als het 20:00 is en ik ben thuis of als ik thuiskom tussen 16:00 en 12:00 in de middag. Hierbij krijg ik dan de melding welke container en wanneer hij geleegd wordt (morgen of vandaag). En die melding krijgen ik en mijn vriendin maar 1x (doormidden van logica).
Klinkt aardig hetzelfde, alleen de trigger is anders! Wij kennen een bedtime protocol en een sleep protocol. Bedtijd is geactiveerd wanneer we naar bed gaan, slapen wanneer we er eenmaal in liggen.
Ik denk ook dat dit de kracht is van Homey; je kunt je huis programmeren naar hoe jij je leven leeft!
Bij ons gaat er een notificatie door het hele huis (Google Service App) om 16:00 en wordt de LED van Homey (die in de woonkamer staat) ingesteld op Oranje/Blauw/Groen. Zodra we de container aan de weg hebben druk ik op een knop dat die aan de weg staat (of zeg het tegen Homey) en gaat de LED van Homey weer uit.
Als je het dan 's avonds niet hebt gedaan, zie je 's ochtend meteen dat de LED van Homey nog brand en kun je dan de container aan de weg zetten.
Ook mooi! Ik heb een aantal smart buttons, eigenlijk best slim om die te integreren zodat ik Homey kan laten weten ‘dat ik naar hem geluisterd heb ’ … Als ik ongehoorzaam was, stuur ik de volgende ochtend nogeens een reminder. Top!
Ook de kleur van de ring matchend met de bak neem ik over van je, leuk!
Inderdaad, knoppen om de vrouw, kids en mijzelf makkelijk Homey iets te laten doen is handig.
In de keuken op de koelkast hebben we bijvoorbeeld een QuadMote met wat labels (icoontjes) op de knoppen; één knop laat Homey een Annoucement ([TUTORIAL] How to make a Great Public Announcement (P.A.) System with any device! - Tutorials - Homey Community Forum (athom.com)) door het huis gaan dat we over 10 minuten gaan eten en dat ze naar de wc moeten gaan, handen wassen, tafel dekken etc.
En een andere knop laat Homey weten dat de container aan de weg staat om de ContainerStatus variabelen op leeg.
Overigens gebruik ik zelf een BetterLogic variabel waarin ik zet welke container aan de weg moet.
Om 16:00 controleer ik of er containers aan de weg moeten en stel op basis daarvan de variabele ContainerStatus in en stuur een Announcement door het huis/horloge’s. Morgen container? - 16:00
Een andere flow regelt op basis van de ContainerStatus (verandering/status) de kleur van de LED.
Ik gebruik de LEDstrip ook voor andere zaken zoals bedtijd of schooltijd. Na dergelijke LED gebruik start ik via een actioncard ook deze flow om daarmee weer de LEDstrip op container kleur in te stellen als dat nodig is. Morgen container - Zet LED
Vervolgens de flow voor de knop om Homey te laten weten dat de container aan de weg staat. Container staat aan de weg
Hier stel ik ContainerStatus in op een [Spatie] (die je dus niet zit in dit voorbeeld).
Verder
Ik heb H.O.O.P. (Hope) gebruikt, omdat je dan maar twee(!) flows nodig hebt voor de basis.
Voorheen had ik het met standaard Homey flows en had ik alleen voor dit al ongeveer 12 flows nodig.
En als je het wil combineren met bijv. de status van de wasmachine of wasdroger en de kleur van de LED combi kleuren wilt geven, dan krijg je met standaard Homey flows vele tientallen flows die na elkaar triggeren, wat bij mij vele seconde kon duren voordat die klaar was.
Ik heb er al veel verwijderd, maar om je een idee te geven:
Een dergelijke structuur werkt niet goed op Homey, zeker niet als de begin flow sneller getriggered kan worden dan de complete flow-of-flows nodig heeft om te voltooien.
Vandaar het gebruik van HOOP: Die bespaart immens veel performance bij zulke flows!
Jouw structuur heb ik grootendeels overgenomen zonder HOOP, iets aangepast naar ‘hoe wij leven’.
Voor mijn rolgordijnen werd ik al eerder geattendeerd op HOOP, dit wordt een projectje voor de komende tijd… Hier eens induiken! Ik ben PHP programmeur en heb me al eerder afgevraagd of dit soort dingen niet mogelijk zijn om het wat cleaner te houden, dit was wat ik zocht.
Het project daarna is een webapplicatie die gebruik maakt van de Honey APIs en webhooks. We gaan binnenkort verhuizen en dat nieuwe huis wil ik graag volledig geautomatiseerd hebben inclusief wat dashboards hier en daar om de mechanische knoppen te veranderen in een dashboard. Ik weet dat er dashboards zijn maar vindt het een leuke uitdaging deze zelf te bouwen.
Zodra er een dashboard komt laat ik dat zeker weten. Kan wel effe duren hoor, zo ontzettend veel projectjes op het moment en eerst maar eens zien te verhuizen.
Ik draai nu zo’n 100 flows in totaal en merk totaal geen vertragingen waar dan ook. Geheugen van de Homey zit ergens continue rond de 25%, dus zo erg is het allemaal niet. Maar er komen op grote regelmaat steeds meer en meer apparaten en flows bij dus wil wel proberen clean te werken en alles zo lichtgewicht mogelijk erin te zetten zodat zelfs na +300 flows de boel nog mooi blijft draaien.
Met de aanpassingen in LED ringen en dergelijke gebruik ik nu zo’n 7 flows voor de afvalcontainer. Met HOOP zal dit iets minder kunnen worden dankzij het combineren van wat zaken. Maar ik heb begrepen van andere topics op de community dat het aantal flows niet heel ernstig is, als ze maar niet te vaak triggeren en gaan berekenen…
Zelf heb ik (als ik console.log(Object.keys(await Homey.flow.getFlows()).length); uitvoer in Homeyscript) nu 429 flows. Maar voor HOOP had ik er bijna 1000.
En het draaide prima.
Alleen serieel veel flows starten vind Homey niet fijn nee, vandaar HOOP. Zoals ik al aangaf had ik eerder enkele tientallen flows die serieel gestart werden voor het instellen van de LED. En als je dan timers op de flows zet zag je dat het soms 10 seconde duurde (of meer) voordat de laatste flow gestart werd. Met mijn nieuwe 2 flows heb ik dit niet meer: de LED reageert altijd binnen 1-2 seconden.
Performance van Homey heeft m.i. ook veel te maken met hoe pooling zijn ingesteld en het type devices dat je gebruikt: API of z-wave bijv.
Op dit moment heb ik 134 apparaten, ong. 70 zwave en de rest diverse. Mijn Load is (standaard) nooit meer dan 20%.
Ik loop op werk, die 25% is een schatting zo vanuit de settings in mijn app. Weet niet hoe accuraat dat is.
Ik gok dat ik nu op een kleine 50 devices zit zonder virtuele dingen. Heb nu (bijna) geen ruimte meer waar het niet-smart is. Het huis waar we naartoe verhuizen is ongeveer 4x deze oppervlakte met dan ook nog mijn eigen winkelruimte die ik ook smart wil maken (etalages, alarm etc). Daarom nu al steeds meer bezig met een goede basis en leren te begrijpen wat load bespaart!
Dit heb ik ook zo maar dan als trigger wanneer ik in de gang ben. Enige wat ik dan nog moet doen is de voordeur opendoen en de container bij de weg te zetten.
Wel heb ik bij het wakker worden de melding, omdat dat dan meestal de laatste kans is.
Heel officieel heb ik maar een half uur de tijd. Je mag een container niet eerder dan 8 uur bij de weg zetten maar ze komen hier al om 8.30… beetje cru van mijn gemeente hahaha… dus ik doe het altijd avond ervoor…