Vakantie Flow (tussen 2 datums)

Hallo allemaal,

In mijn homey 2019 wil ik de volgende schakeling maken :

Stel ik ga over 2 weken op vakantie. dan wil ik dat nu aan zetten dat

  • Er vóór een bepaalde datum (vakantie start) niks gebeurd en

  • na een bepaalde datum (vakantie start) een flow wordt gestart en

  • na een volgende datum (vakantie einde) de flow weer naar zijn normale stand gaat.

Nu heb ik heb volgende gemaakt (zie bijlage) met logic.

Ik vergelijk dus de huidige datum met een datum die in in een variabel heb opgevoerd.

MAAR beide zijn “tekst variabele” en daarom is de datum van 31-10-2025 toch groter dan 15-11-2025 (31 wordt vergeleken met 15)

  • hoe kan ik dat ik toch voor zorgen dat ze beide als datums gezien worden?
  • en met elkaar juist vergeleken worden?

(Ik wil voorkomen om iets met “aanwezigheid” te doen omdat ik de enige ben die de app op mij telefoon heb staan in ons huishouden. de rest wilt het allemaal niet.)

Wat wel werkt is logic card ‘vakantieStart is precies datum’

Als de voorwaarde waar zou je de YES/NO-variabele ‘fam.Bruin is op vakantie’ op YES kunnen zetten.

Als waarde YES is kun je bepaalde flows wel of juist niet laten doorlopen.

1 Like

Dank je. het zou een oplossing kunnen zijn maar werkt maar op één bepaalde dag.

Dat is de dag dat “vandaag” en “datum” gelijk zijn. Gisteren, morgen en overmorgen werk het niet meer.

En door “all” wordt een bepaalde flow tegen gehouden. ik wil juist dat er een flow (de “vakantie flow") start. En aan terugkomst van mijn vakantie weer stopt.

Op de eerste dag de vakantie variabele op yes zetten en op laatste DAG weer op no.

Mijn schermprint is van de verwarming. Die loopt dus niet door als ik op vakantie ben. Maar andersom kan natuurlijk ook:

@Wim_Post

Var ‘vandaag’ vul je met de inhoud van een tag ‘date’ ofzo ?

En ‘datum’ met start vakantie ? Zodat je ze wél kunt vergelijken?

Ik zit met een vacantieflow die ik steeds handmatig moet editen, dit kon wel de oplossing kunnen zijn met alleen aanpassen van een variabele….

Omdat groter dan bij Rogier niet werkte heb om te testen even ‘vandaag’ aangemaakt:

Als ik deze gisteravond vergeleek met de systeem-datum was deze exact gelijk en liep de flow door.

I’m loving this !!

Altijd afgevraagd hoe ik een vergelijking kon maken met een datum.

Wel goed om te beseffen dat je op deze wijze niet ‘echte’ datums vergelijkt, maar een tekstuele weergave van een opgemaakte datum.

Mocht je ook willen rekenen met datums en tijdscomponenten (zoals in deze post) of datums die een verschillende opmaak hebben, dan kun je deze het beste eerst omzetten nar een echte datumwaarde (in ms).

Klopt, maar voor dit doel (datum ingang energiecontract en dus van de eindafrekening) voldoende.

Variabele kan ik gebruiken in meerdere flows.

Tot nu had ik een datumcard met hardcoded de datum in elke flow…

Helder. En prima als het zo werkt. :+1:

En hoe kan je dan tekst variabelen en/of datum (“a” dus ook een tekst) omzetten in een datumwaarde dus een “#”?

let wel: ik heb (nog) een Homey Pro (early 2019)

Dat kan m.b.t. een aantal JavaScript functies. Ik gebruik zelf het liefst de flowkaarten van de Better Logic Library (BLL) voor het uitvoeren van functies. Specifiek de volgende:

Als je sec de datum-/tijd-waarde van het huidige moment wilt weten, dan gaat dat simpelweg via de functie Date.now(). De waarde die je krijgt is een getal dat het aantal ms t.o.v. 1-1-1970 voorstelt in UTC-tijdzone.

Als je een andere/vooraf bepaalde datum en tijd wilt omzetten naar de datum-/tijdwaarde, dan kun je de Date.parse("jouw datum en tijdstempel") gebruiken. Er zit echter een addertje onder het gras in deze functie: hij vereist een specifieke syntax waarin je de datum-/tijdstempel aanlevert, namelijk: “YYYY-MM-DDThh:mm:ss”. Dus eerst het jaardeel, dan het maanddeel, vervolgens het dagdeel, etc.

Je zult de bestaande datum-/tijdstempel dan dus moeten gaan opsplitsen in betreffende delen om de betreffende syntax op te bouwen. Ik heb hieronder een voorbeeld opgenomen van een flow die de standaard Datum en Tijd tags van Homey opsplitst in genoemde delen.

Daarvoor gebruik ik de .substring methode. Daarmee kun je een deel van een tekst selecteren, die BLL in de ‘Expressie waarde (Tekst)’-tag stopt. Die datum-/tijddelen stop ik vervolgens in de genoemde Date.parse()-functie voor het omrekenen naar een getalwaarde. Eventueel kun je een datumwaarde ook weer omzetten naar een opgemaakte datum/tijd. Daarvoor heeft BLL een standaard flowkaart: ‘Datum opnamen als’, waar je dan de datum-/tijdwaarde in stopt en aangeeft welke ommaak je wilt en in welke tijdzone hij het resultaat moet tonen.

Nadat je een datum hebt omgezet naar waarde kun je er ook bijv. uren of minuten bij optellen of eraf trekken (zoals in deze post). Zolang die die plussen en minnen altijd terugrekent naar ms.

Wellicht dat het simpler kan; dan hoor ik het graag.

@SunBeech : ben je helderziende ofzo ? :innocent:

Dat was nog net wat ik miste: datum jaarafrekening uit de datum Einde contract halen.

Heb nu dit in een flow gezet, en als ik de vergelijking nodig heb kan ik dat zo kopieren

Ik heb nu 1 plek waar in de datum van het energiecontract inzet, en dak die door alle flows/AVD’s die energieverbruik berekenen gebruiken voor het resetten van tellers op de juiste dag :star_struck:

1 Like

De glazen bollen waren in de uitverkoop :wink: :rofl:.

1 Like

Wat mij verbaasd is dat niemand de app iCalCalendar adviseert…

Zet het in je agenda en start op basis van de gegevens die Homey oppakt uit je agenda een flow. Zowel bij begin als bij het einde.

Op deze manier tegen ik het nachtlampje van mijn dochter. Op schooldagen wordt deze altijd op een vaste tijd groen dat ze er uit mag. Studiedagen en vakantiedagen heb ik in “haar” agenda staan. Op basis daarvan wordt haar lampje pas groen als wij zelf in beweging zijn door het huis.

Ook de tuinverlichting gaat op basis van een andere agenda in bepaalde sferen.

Vakantiemodus gaat hier overigens vanzelf aan als het alarm er 24 uur op staat. Op die manier gaat dat ook vanzelf als het een weekendje of spontaan nachtje weg is.

1 Like

Ik heb die app wel eens geprobeerd, maar het lukte niet hoe ik het wou, Kan zijn dat het feit dat ik met outlook werk het probleem is.

Goeie aanvulling, ik ga ermee stoeien.

In de beschrijving van de app staat:

Exchange Online ical link

  1. Ga naar Outlook
  2. klik op settings → Show all outlook setting
  3. Ga naa Kalender → Gedeelde kalenders
  4. Deel een kalender, klik op de ics link en selecteer copy
  5. Plak de ical link in de settings van de Homey IcalCalendar app

Ik ben even aan het stoeien geweest maar ik kan geen trigger starten. heb je nog tips?

Ik heb mijn flows in Advanced Flows staan, Duitse kan ze zo niet bekijken op mijn telefoon, maar volgens mij doe ik de EN via logica ipv via de app.

Voorbeeldje, ff in elkaar gezet, niet getest: