Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

GCalSeer - En plugin for kobling mot Google og Microsoft kalendere - 0.0.5.0


Guahtdim

Anbefalte innlegg

 

Det er korrekt at GCalSeer ikke vil klare å ha flere forskjellige actions basert på en hendelse. BLGData er en mye heftigere plugin enn jeg har tenkt til å lage. Min plugin har sprunget ut fra mye enklere behov. Etter å ha lest dokumentasjonen til BLGData så ser jeg veldig mye arbeid i den og jeg skjønner at han vil ha litt betalt.

 

Hvis du skal prøve å bruke GCalSeer er du nok nødt til å sette opp en event for start og en event for slutt ved bruk av offset.

 

 

 

Endret av Guahtdim
Lenke til kommentar
Del på andre sider

  • 2 uker senere...

Godt nytt år!

 

I løpet av julen fikk jeg hull på Microsoft Auth2 byllen. Ting ser ut til å fungere mot Microsoft kalender også (kun consumer Hotmail/OutlookLive). Nå er det litt pussing for å få av de groveste kantene + en dokumentering av oppsett hos Microsoft for at man skal få kontakt.

Egentlig fungerer Microsoft sin tilkobling mye bedre enn Google siden jeg selv kan styre når man skal prøve å gjøre en refresh på tilgang. 

 

Mulig release til helgen eller neste uke.

  • Like 1
  • Thanks 1
Lenke til kommentar
Del på andre sider

9 minutter siden, Guahtdim skrev:

I løpet av julen fikk jeg hull på Microsoft Auth2 byllen.

Jeg har ikke tenkt å klone plugin'en din på noen måte, men trenger noe slikt for et annet (ikke hjemmeautomasjons)prosjekt. Er det noe du kan sende på PM?

Lenke til kommentar
Del på andre sider

Okidoki. Nå er støtte for Microsoft kalendere lagt inn. Link i første post til siste versjon av plugin.

 

Første post begynner å bli kjempelang. Desverre så har jeg ikke skjønt helt hvordan å få til hide/show på deler. Dette ville kanskje gjort det litt mer oversiktlig.

Edit: Skjønte nå hvordan det skulle være og har krympet ting litt slik at det ikke blir helt "Wall of text"

 

Det er bare å melde inn ønsker, feil etc. Jeg vil etter beste evne forsøke å rette feil, mens ønsker/endringer får lavere prioritet.

Endret av Guahtdim
  • Like 1
Lenke til kommentar
Del på andre sider

6 minutes ago, toonwolf said:

Har det blitt gjort noe i den nye versjonen med timeout som kommer ved kobling mot Google kalender? Mistet litt motivasjonen til å teste når den hele tiden måtte autentisere på nytt...

Jeg har gjort litt for å sørge for at man opprettholder kontakten, men det er avhengig av at man har valgt minst en kalender. Da vil det (tror jeg) bli spurt mot denne. Men det er viktig at man ikke setter Time between checks of calendars til en for høy verdi.

Jeg føler at jeg har mindre kontroll på timeout mot Google enn Microsoft, men det får bli noe jeg ser på senere.

 

Gi det ett forsøk ved å bare sette opp en trigger som går mot en test-device eller sender en push-varsel slik at du fort kan se om det fungerer for deg eller ikke.

  • Like 1
Lenke til kommentar
Del på andre sider

28 minutter siden, Guahtdim skrev:

Gi det ett forsøk ved å bare sette opp en trigger som går mot en test-device eller sender en push-varsel slik at du fort kan se om det fungerer for deg eller ikke.

Oppdatert til siste versjon og kjører "stresstest" i hele natt med push-varsling (blir lite søvn på meg, men det får vi tåle). Neida har mobilen på stille ?

  • Like 1
Lenke til kommentar
Del på andre sider

Ok ser umiddelbart et problem som oppstår om du har en aktivitet som har en varighet på feks 10 min så vil eventen trigges "hele tiden" om og om igjen. Er det noen måte å unngå dette på eller må du bygge inn logikk for å håndtere dette? Mine avtaler varer typisk 1 time og når jeg testet dette med 1 min offset trigger den hele tiden eventen

2019-01-05 00_18_22-Window.png

Lenke til kommentar
Del på andre sider

Jeg har normalt en eller annen ekstra variabel eller device som jeg har i if sjekken og setter ved første tilslag. Da unngår du trigging hvert 10 sekund. 

 

Tidligere har du skrevet om noen lys som skal av og på. Da ville jeg laget en egen device for å markere lys av/på og ha en trigger som trigger på kalender og at lys er av. En av handlingene i triggeren blir å sette lys device til på. 

En annen trigger med offset after sjekker feks om lys er på og slår de av samtidig som device settes av. 

 

Det er iallefall slik utviklerhodet mitt tenker. 

Endret av Guahtdim
Lenke til kommentar
Del på andre sider

Da har jeg fått testet litt mer og laget en ekstra device som setter status og som jeg bruker for å sjekke om "lyset" er på eller av. Det ser ut til å fungere som det skal, men skjønner ikke helt hvorfor? Grunnen til det er at mine aktiviteter er "adjacent" og ikke "overlapping". Dvs den ene aktiviteten starter rett etter den andre. Det jeg ikke ønsker er at et lys skal tennes eller slukkes i tidsrommet til en annen aktivitet. Jeg fikk det ikke til å fungere med "Do not trigger if overlapping events" men slik ser altså mine to eventer ut

 

Lys på

image.png.fd2ef1a94b6c7ce825295e636c1d6eb5.png

 

Lys av

image.png.ed972269aad866370a919dad7e43ba2a.png

 

Jeg må gjøre noen flere tester for å se om dette faktisk fungerer slik det skal. Opplevde også at GCalSeer mistet autentisering mot Google og at jeg måtte inn i Config for å aktivere det igjen.

Lenke til kommentar
Del på andre sider

Jeg anbefaler alle de som kjører min plugin å oppgradere hvis dere er på versjon 0.0.0.5. Jeg fant bl.a. ett par feil i hvordan den behandler eventer som er allday. De blir fort to-dagers istendenfor endags.

 

Med tanke på autorisering så er bildet under fra min logg for de siste 6 timene med 1 minutts mellomrom mellom hver gang man henter data fra Google eller Microsoft (jeg kjører nå begge). Google har en tendens til å ikke fungere siste kvarteret av en time.

ErrorAuth.thumb.png.737af0721698e7d14481aa8954c938d8.png

 

Jeg aner ikke hvorfor, men siden jeg tar vare på eventer allerede nedlastet og ikke sletter hvis jeg ikke får kontakt så skal det i utgangspunktet gå greit. Ulempen er hvis du lager eventer som kun strekker seg over de tidene som man ikke får kontakt.

Lenke til kommentar
Del på andre sider

@toonwolf

Beklager at jeg først nå ser postene dine. 

Jeg skal teste litt mer på offset. Meningen med denne er jo at den skal trigge minst en gang med det mellomrommet man har satt til før/etter en event. Og ved valget overlapping (som egentlig burde het adjacent som du påpeker) skal logikken være at man ikke får trigging hvis man har en event som ligger så tett opptil at den er rett på eller innenfor offset perioden. 

Jeg oppdaterer om det jeg finner etter å ha laget flere tester på logikken.  

NB: Du må hake av for overlapping(adjacent) hvis du skal teste det. 

 

Lenke til kommentar
Del på andre sider

2 minutter siden, Guahtdim skrev:

Beklager at jeg først nå ser postene dine

Det går bra, er slått ut av influensa og ting går i "rykk og napp". Skal teste litt mer, men som nevnt tidligere plager det meg litt at den mister autentisering mot Google. Det gjør det litt mer kronglete å teste da jeg ikke kan være sikker på om jeg kan helt stole på resultatet av testing. Skyldes det problemer med autentisering eller logikk i plug-in?

Lenke til kommentar
Del på andre sider

Etter å ha testet litt så ser jeg at jeg har en liten feil i hvordan jeg håndterer offset after. Her har jeg startet å trigge 2 min før tiden. Ved 15 min offset after så vil man få første trigging 13 min etter istedenfor 15 min etter. Dette vil jeg få opp en fiks for i neste versjon.

 

Jeg er ikke helt ferdig med å gå igjennom tester, men det ser ut som om det fungerer som planlagt hvis man har avtaler som kommer tett på hverandre. 

 

Jeg ser jeg har noe logikk for å unngå trigging av avsluttende offset hvis man har en ny avtale som begynner 2xOffset unna. Dette for å unngå følgende scenario:

Avtale 0900 til 1000

Avtale 1030 til 1130

Med 15 min offset på både en after og en before trigger så vil man her oppleve at det trigges for After 1015 og så before 1015 igjen.

Jeg er litt usikker på om dette er noe jeg skal la være enda en setting man kan skru av/på som man selv vil. Slik jeg har laget den nå så vil den muligens bare virke forvirrende.

Lenke til kommentar
Del på andre sider

Mulig jeg har fått fikset på problemet med autorisering som forsvant. Og selvfølgelig var det jeg selv som var skyldig... ?

Man var autorisert, men jeg leste av en utløpsdato som ikke har så mye å si. Den forteller bare komponenten jeg brukte at man må spørre om tilgang på en annen måte. Doh!

 

Jeg har laget neste versjon, men vil helst kjøre den en natt selv for å se at det fungerer som det skal før jeg frigir den til dere andre.

  • Like 2
Lenke til kommentar
Del på andre sider

På 8.1.2019 den 6.09, Guahtdim skrev:

versjon 0.0.0.7

testet denne versjonen litt nå. Autentiseringsproblematikken mot Google ser ut til å være helt fikset nå slik du også har testet. Har ikke hatt en eneste feil som jeg kan se etter at jeg installerte denne versjonen.

 

Når det kommer til testing av Eventer fungerer det fint med start, men ikke end

 

Jeg har to events.  En for lys på og en av. Begge er satt med 1 minutt offset

Har laget en virtuell device som brukes i sjekk for å hindre at den trigges flere ganger "Virtual Lights TEST"

Testet med å opprette en aktivitet: "Test 2 - kl 2335-2336"

Den starter kl 2334 som den skal, men vil ikke trigge "Lights off test" som jeg hadde forventet skulle startet kl 2337. Jeg har ikke kommet så langt med å teste tilstøtende (adjacent) aktiviteter. Fra loggen til HS:

jan-11 23:34:00   Device Control Device: Virtual Lights Test to On (100)
jan-11 23:34:00   Event Event Trigger "TEST Lights on test"

 

Her er min event for lys på:

image.png.56a0c0ade2eb154d2f69654b6cccd056.png

 

Her er min event for lys av:

image.png.59bd64ad3344dafb8704a10d1b9cc7fc.png

 

Jeg har sjekket at Virtual LIghts Test er "On" etter at event lys på har kjørt noe loggen også bekrefter. Skjønner derfor ikke hvorfor event for å skru lys av ikke fungerer..

Lenke til kommentar
Del på andre sider

2 timer siden, Guahtdim skrev:

Kunne du teste med litt lenger kalendereventer? Si minimum 5 minutter? 

Testet med 5 min. aktiviteter i kalenderen, fungerer ikke med "No offset trigger" eller med offset trigger satt til "after" (1 min) Har ikke testet med lengre eventer, litt "upraktisk" å teste med om du skjønner hva jeg mener..

Lenke til kommentar
Del på andre sider

13 timer siden, Guahtdim skrev:

Jeg skal ta en titt ved første anledning og se hvorfor det ikke fungerer. 

Flott, en liten "feature request". I BLGData er det mulig å trigge en event ved å legge inn flere "triggerord" som skilles med en |. Jeg har behov for å kunne trigge en og samme event om det eksisterer en event som inneholder 7-8 forskjellige tekst i emnet. "test 1|test 2|test 3" osv. Om du hadde fått til å lagt til dette som et valg på en eller annen måte så hadde det spart meg å måtte lage en egen event for hvert eneste trigger-ord. Du begynner å nærme deg nå ift "mitt" behov, bare noen små justeringer nå føler jeg. BLGData er som du skriver tidligere avansert, men det du har laget er akkurat det jeg ønsker + at måten du har løst det på er bedre IMHO ved å gjøre plug-inen tilgjengelig i Event-motoren i HS.

Lenke til kommentar
Del på andre sider

Takk for gode ord. Slikt faller jeg lett for.

 

Jeg tror jeg har kontroll på problemet med offset after. Logisk brist både i kjørende kode og testene for denne koden. Det er rettet og ser ut til å fungere som det skal. Nå må jeg bare kjøre noen ordentlige tester for å se at det fungerer.

 

Det å ha lister på søkeord som skal matche tar jeg som en god utfordring.

For å være enda sikrere på at det ikke feiltolkes så bruker vi 2 stykk | ("||") som skilletegn.

Og hvis jeg implementerer logisk ELLER ("||") så kan vi også gjøre logisk OG ("&&"). Jeg har vel nesten noe ferdig der siden jeg ikke trengte å omorganisere koden så mye for å få det til.

 

 

Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.