Centraliseret besked flow

Dette er et flow, som man desværre først opdager, at man har brug for, efter man allerede har oprettet talrige flows, som hver især sender push besked til en eller flere personer.

Forestil dig at der kommer en gæst i hustanden – eller én der skal passe huset – hvor det også ville være en fordel, at personen modtager de samme push beskeder fra Homey, som de faste beboere modtager. Så skal du ind i samtlige flows, hvor der bliver sendt push beskeder fra og tilføje personen med et ekstra kort. Og senere skal du fjerne personen igen. Det er så omstændeligt, at det gider man ikke begynde på.

Jeg står lige nu med en lignende udfordring. Jeg vil gerne have et tidsstempel foran alle beskederne, så jeg kan se hvornår de er afsendt. Det er nemlig ikke altid, at vi modtager beskederne i samme øjeblik at de afsendes. Nogle gange er problemet afhjulpet, før beskeden kommer frem. Det skaber unødvendig forvirring, og vi er nødt til manuelt at undersøge nærmere, om der stadigvæk er et problem, fejl i flowet eller om det bare er en forsinket besked.

Det betyder også, at jeg er nødt til at skulle finde alle flows, hvorfra der sendes push beskeder. Jeg vil benytte lejligheden til at ændre, så det er et centralt flow, som står for at tilføje tidsstemplet og sende push beskederne ud. Det gør det nemt fremover at tilføje/fjerne modtagere.

Det centrale flow

Lad os kigge på flowet som er afbilledet til højre på ovenstående billede. Det er flowet, som fremover håndterer alle sendinger af push beskeder. Jeg bruger en ny tekst variable, som jeg har kaldt Pushbesked, og som jeg giver værdien 0 når jeg opretter den. Jeg giver også Pushbesked variablen værdien 0 i slutningen af flow’et, så standardværdien altid er 0, når beskeden er sendt.

Og hvorfor gør jeg så det? Lad os forestille os, at jeg ikke gør det og der 2 gange i træk skal sendes den samme besked, om at køleskabet ikke er lukket korrekt. Hvis der ikke har været en anden besked i mellemtiden, så kommer besked nummer 2 ikke frem, da der ikke sker en ændring i Pushbesked variablen. Værdien af variablen forbliver den samme og udløser derfor ikke flowet.

Når jeg ændrer værdien af Pushbesked variablen til 0 i slutningen af flowet, så bliver flowet udløst igen – fordi værdien jo blev ændret. Derfor har jeg et kort under AND, hvor jeg sørger kun at fortsætte flowet, hvis værdien af Pushbesked variablen er noget andet end 0.

Hvis vi kigger på venstre og midterste kolonne på billedet, så kan du se, hvordan push besked delen af de gamle (og kommende) flows skal ændres.

Hvad hvis jeg vil opsamle alle beskeder i en log?

Nu er det jo blevet super nemt, at tilføje nye funktioner til håndteringen af beskederne. Bare tilføj et nyt kort i det centrale besked flow, som gemmer værdien af Pushbesked variablen i Papertrails loggen og så er du færdig.

Hvor langt tid ville det have taget førhen?

Begrænsninger

Ideen om det centrale besked flow kan ikke bruges ved de push beskeder, som stiller et spørgsmål og venter på et svar fra modtageren. Den slags beskeder er beskrevet i STIL ET SPØRGSMÅL? artiklen.

Det fungerer heller ikke med push beskeder, som sender et billede med beskeden.

Skriv en kommentar

Skriv et svar

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