Jeg har lenge ønsket å få informasjon fra vårt renovasjonsselskap RIR inn i mitt smarthus slik at jeg kan få målrettet varsel om dette sammen med annen varsling som huset gir oss. I forbindelse med at Homey slapp funksjonen advanced flow 01.07.2022, kom det ett innlegg i facebook gruppen Athom Homey Norge fra Vegard Hamar som viste en metodikk for å få dette på plass. Det krevde litt spekulasjon for å kunne gjenskape dette. Legger her ut mine notater slik at kanskje flere kan ha glede av dette.
Min Renovasjon
Variabler
Eksempel på hvordan kodene fremstår i søket |
Oppsett avansert flow
Dette kortet fylles så ut på følgende vis hvor de forskjellige variablene som ble definert nå benyttes:
Denne fylles så ut på følgende vis hvor "Svar" variabelen blir tilgjengelig når blokken kobles sammen med den første blokken:
Denne teksten kopierer jeg med meg over i en passende tekst editor og bryter den opp med linjeskift som gjør den lettere å lese. Jeg ser da at jeg kan hente ut 2 datoer pr. kildesorteringstype, første og neste hentedato:
Koden som settes inn er følgende hvor verdien som sendes inn (Opprettet tag) splittes på T og første del hentes ut og splittes videre på bindestrek. Dette sendes så tilbake som en text-tag i omvendt rekkefølge (verdi nummer 2-1-0):
Dette ser da slik ut hvor jeg dytter datoen som et resultat fra Homey scriptet inn i en Homey variabel som jeg senere skal benytte til andre flyter:
Raskt oppsummert gjører her to logiske operasjoner for hver avfallstype. Bildet over vises for "Restavfall" som kommer inn på FraksjonsId=1 i svaret fra den første forespørselen mot Min Renovasjon API'et. En sjekk for hver dato ([0] og [1]) som lå i linje 0 gir meg første og neste tømming. Dette kjøres gjennom koden for å snu om på dato til Homey format for så å legges ut til en egen variabel. Dette gjør jeg for alle avfallstyper jeg har interesse av, og jeg har da et totalt script som ser ut som følger - mye likt det opprinnelige scriptet hentet fra Facebook gruppen, men jeg velger å legge verdiene ut i egne variabler for gjenbruk:
Oppdatering for å få informasjon inn i morgenmeldingen
Innholdet i variabelen "Avfall-idag" bygges opp i rutinen som henter data fra min renovasjon. Denne rutinen er nå utvidet med en sjekk pr. renovasjonstype for å sjekke om hentedatoen er lik dagens dato. Dersom dette stemmer, legges en liten tekststreng inn i en egen variabel pr. renovasjonstype. Har da f.eks. en variabel som heter Avfall-Rest-idag hvor jeg legger inn teksten "restavfall". Denne skal etterhvert inngå i en større tekst streng som jeg ønsker opplest. Dersom datoen ikke stemmer legger jeg inn ett punktum i variabelen for å tømme den slik at den ikke blir lest opp.
Disse små tekstsnuttene settes nå sammen til en større streng i variabelen "Avfall-idag" som blir lest opp i morgenrutinen. Dette gjør jeg på følgende vis:
Jeg har lagt inn en liten delay der for å være sikker på at alle variablene i leddet før er ferdig lagret. Den oppleste teksten blir da f.eks. som følger:
- "I dag er det søppeldag. Sett ut papiravfall, Bioavfall"
Følgende har nå kommet til løsningen i forhold til det som var opprinnelig beskrevet. Dette gir meg nå innformasjon om søppeltømmingen i morgenrutinen vår.
Nå har jeg endelig fått hentet litt verdi ut av dette prosjektet med å få hentedatoene ut fra Min Renovasjon og inn i Homey.
No comments:
Post a Comment