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

Pollenvarsel


ZoRaC

Anbefalte innlegg

Oppdatert 30.04.19 med nytt "scrape-oppsett".

Oppdatert 17.03.21 med ny info om URL.

 

Ble inspirert av @Evelensin løsning for Domoticz (https://www.hjemmeautomasjon.no/forums/topic/1353-pollenvarsel-et-powershell-script/) og gjorde tilsvarende med "Jon00 Data Scraper"-plugin:

Sitat

[Grab10]

Devicemode=2
Path=https://pollenkontroll.no/api/middleware/pollen/f2911165-bc25-494d-a331-42c05e14cfe2
Pattern1=(?s)"Hassel".*?"level_number":(.*?),"level_description":"(.*?)"
Pattern2=(?s)"Or".*?"level_number":(.*?),"level_description":"(.*?)"
Pattern3=(?s)"Bj.*?"level_number":(.*?),"level_description":"(.*?)"
Pattern4=(?s)"Gress".*?"level_number":(.*?),"level_description":"(.*?)"
Pattern5=(?s)"Burot".*?"level_number":(.*?),"level_description":"(.*?)"
DeviceName1=Hassel (i dag)
DeviceValue1=[0]
DeviceText1=[1]
DeviceName2=Hassel (i morgen)
DeviceValue2=[2]
DeviceText2=[3]
DeviceName3=Or (i dag)
DeviceValue3=[100]
DeviceText3=[101]
DeviceName4=Or (i morgen)
DeviceValue4=[102]
DeviceText4=[103]
DeviceName5=Bjørk (i dag)
DeviceValue5=[200]
DeviceText5=[201]
DeviceName6=Bjørk (i morgen)
DeviceValue6=[202]
DeviceText6=[203]
DeviceName7=Gress (i dag)
DeviceValue7=[300]
DeviceText7=[301]
DeviceName8=Gress (i morgen)
DeviceValue8=[302]
DeviceText8=[303]
DeviceName9=Burot (i dag)
DeviceValue9=[400]
DeviceText9=[401]
DeviceName10=Burot (i morgen)
DeviceValue10=[402]
DeviceText10=[403]

 

[Grab11]

Devicemode=2
Path=https://pollenkontroll.no/api/middleware/pollen/f2911165-bc25-494d-a331-42c05e14cfe2
Pattern1=(?s)"Salix".*?"level_number":(.*?),"level_description":"(.*?)"
DeviceName1=Salix (i dag)
DeviceValue1=[0]
DeviceText1=[1]
DeviceName2=Salix (i morgen)
DeviceValue2=[2]
DeviceText2=[3]

 

I "path" trenger du riktig URL til ditt område på begge "grabs" (må ha 2 "grabs" pga maks 5 pattern pr grab):

1. Med Chrome, gå til https://pollenkontroll.no/pollenvarsel

2. Trykk F12 og velg "Network"

3. Finn den adressen som hentes og som består av en del tall og bokstaver (f.eks https://pollenkontroll.no/api/middleware/pollen/901f3d22-b95f-4b64-a181-0b847b76b1a3?t=1615988025432)

4. Fjern "?t=xxxxxx" i URL og bruk den adressen som "Path" i ini-filen

 

Etter å ha kjørt "scrape" en gang, slik at devicene har blitt opprettet, er det bare å opprette en range 0-5 på statusgraphics og så vil man få verdier fra 0-5 som man kan bruke i events. :) 
status-graphics.thumb.PNG.b3007c4fffa55c8990a2a03deb2dd5c1.PNG

 

I forrige versjon var det et generelt varsel i tillegg, men det ser ikke ut til å finnes i kilden som brukes nå (pr 30.04.19)... :( 
Da kan du sende det generelle varslet, hvis det er varslet stor spredning av en eller flere sorter:

IMG_5171.thumb.PNG.6450c336e2ccccc2d0e1c8b332f8f562.PNG

Endret av ZoRaC
Ny metode for å finne URL
  • Like 6
  • Thanks 2
Lenke til kommentar
Del på andre sider

Dette var glimrende, takk for guiden! Et tips til andre: Dersom man kopierer ini-teksten rett fra innlegget, kommer det et ekstra linjeskift etter første linje. Det funket ikke hos meg før jeg fjernet det linjeskiftet.

 

Skjermbilde.PNG.2055c6c214aec28ee639b85229717904.PNG

Lenke til kommentar
Del på andre sider

27 minutter siden, psv021 skrev:

Dette var glimrende, takk for guiden! Et tips til andre: Dersom man kopierer ini-teksten rett fra innlegget, kommer det et ekstra linjeskift etter første linje. Det funket ikke hos meg før jeg fjernet det linjeskiftet.

 

Skjermbilde.PNG.2055c6c214aec28ee639b85229717904.PNG

 

Mener du mellomrom?

Det var rart. Skjer det i vanlig notepad også?

Lenke til kommentar
Del på andre sider

Nei, linjeskift/avsnitt etter [Grab]. Ja, skjer i Notepad også. Sikkert nettleseravhengig og alt mulig (jeg bruker IE11).

 

Ikke noe feil i det du skriver, altså, men tydeligvis noe formatering som skjer i forumet.

Lenke til kommentar
Del på andre sider

Klør meg litt i hodet her. Tror det handler mest om HS3 enn det handler om Jon00-skraperen, men det er i alle fall noe jeg ikke har forstått:

 

  • Scraperen lager virtuelle devicer slik den skal, men de oppdateres ikke. Har fjernet kryss på "do not update if value does not change". Forsøkte å slette en device og kjøre scriptet igjen. Da lages det en ny device som erstatning for den som mangler. Men eksisterende devicer, laget av scriptet, oppdateres ikke... Noen tips??
  • Devicene som lages viser ikke grafikken. Jeg har lagt til verdiene (som range på noen og som diskrete verdier på andre, bare for å forsøke begge) og tilhørende grafikk. Men det er kun tannhjulet som vises i HS3 uansett, selv om devicene har verdier som passer med grafikk jeg har lagt inn. I HS touch vises kun "thumbnail" - for devicene laget av scraperen er det en skiftenøkkel som er lagt inn som default.

 

Hvorfor oppfører disse devicene seg helt annerledes enn andre devicer? Jeg ser i utgangspunktet ingenting annerledes her..

 

Edit: Får ikke endret dem manuelt heller... Selv om jeg setter til Control, og forandrer verdien, blir ikke devicen endret. Mystiske greier...

Edit2: Når jeg ser nærmere på devicene, og sammenligner med en av "mine" virtuelle devicer, er det forskjeller. Relevant?

 

Device laget av scraperen:

virtuell_jon00.PNG.064261ec35697db108b521b00b3e9e50.PNG

 

Device laget av meg:

virtuell_min.PNG.c6b956f3c6914366b2607cf10198946e.PNG

 

Endret av psv021
Lenke til kommentar
Del på andre sider

Tja, har satt det opp til å kjøres hver 12 time ja. Men i debugging har jeg sikkert kjørt det 20 ganger på kort tid. Når scriptet blir kjørt, oppdateres ikke devicene. Men dersom jeg sletter en av devicene (som scriptet har opprettet), lager scriptet en ny (så jeg vet at scriptet kjører, og at det leser nettsiden korrekt).

 

Men jeg fatter ikke hvorfor ikke devicene oppdateres...

Lenke til kommentar
Del på andre sider

Bruker grab 1+2, og siden devicene opprettes korrekt forutsetter jeg at scriptet virker. 

 

Har satt opp at device skal oppdateres uansett om verdi er den samme, men jeg får heller ikke til å endre verdi på disse devicene manuelt. Det er merkelig. Så hvis jeg legger til range 0-5, og Control, og justerer verdien, så blir ikke verdien endret. Den har fortsatt verdien den ble initialisert med av scriptet... 

 

Med grafikk mener jeg verdi-basert grafikk. Så jeg legger inn grafikk tilhørende ulike verdier, men de vises ikke. 

 

Gjør jeg det samme med en virtuell device jeg selv lager funker alt fint...

Lenke til kommentar
Del på andre sider

Det er mulig Jon00 har lagt inn noe ekstra funksjoner her - at device ikke oppdateres hvis verdien er den samme (uansett om du krysser av for det eller ikke). Kan også hende han har gjort slik at disse ikke skal kunne endres manuelt (control). 

 

Så lenge en device har DeviceString satt, så er det det som vises i HS. DeviceString inneholder et bilde av et tannhjul. Fjern alle "DeviceTextX=" fra ini-filen. Da skal den bruke verdiene og ikonene du har definert. 

 

EDIT:

Når du sier du ikke får endret verdien manuelt, sjekker du da i oversikten i HS eller under "advanced" på devicen? Det første vil nok ikke endres, bare verdien under "advanced" (så lenge DeviceString er satt). 

Endret av ZoRaC
Lenke til kommentar
Del på andre sider

Ja, kanskje det ligger noe overstyring i scriptet - men jeg fortstår ikke hvorfor jeg ikke skal kunne overstyre dem igjen. Er det mulig å lage en "skrivebeskyttet" device i HS3? Jeg sjekker, etter å ha forsøkt å sette verdi manuelt, verdien både i HS og i "advanced" - begge deler er slik devicen ble satt da den ble laget av scriptet i første kjøring.

 

Det er helt sikkert noe dustete jeg har oversett. Jeg skal forsøke å teste litt mer.

 

Kanskje en moderator kunne ha splittet ut denne side-diskusjonen, da det ble litt off-topic i akkurat denne tråden...

Lenke til kommentar
Del på andre sider

Jepp, det er den verdien den fikk da scriptet ble kjørt første gang og devicen ble laget. Men dersom jeg kjører scriptet på nytt, blir den ikke oppdatert. Og dersom jeg setter en range 0-5, med Control, og setter verdien manuelt til f.eks. 3, er verdien fortsatt 1. Dersom jeg setter enkeltverdier 1 til 5, i stedet for range, og setter verdien til en av dem, får jeg opp kontroll-knapper for de ulike verdiene - men de gjør ingenting. Så jeg kan trykke så mye jeg vil på andre verdier - devicen står fortsatt på den verdien den opprinnelig fikk.

 

Har ikke tilgang til scriptet, kun til HS3 akkurat nå, men skal teste litt mer senere. Det kan godt være det er devicetext som er årsaken som du nevner over. Syntes bare det var så rart at 1) Devicene ikke blir oppdatert når scriptet kjøres på nytt, og 2) at jeg heller ikke kan endre device-verdiene manuelt...

 

Dersom jeg kan få scriptet til å oppdatere devicene er alt i orden, da kan jeg speile dem til egne devicer for å få ikoner.

Lenke til kommentar
Del på andre sider

Godt mulig det bare ikke er mulig å endre verdi manuelt (noe Jon00 har lagt inn).

Men, det kan jo godt hende det virker likevel, du må bare vente til en dag med annet pollenvarsel og se om verdien endrer seg. ;) 

 

Kan anbefale Jon00 INI Editor, da kan du redigere INI-filene direkte i HS. :) 

 

Jeg tror løsningen er å fjerne DeviceText og at du da får brukt de status-ikonene du har definert. :) 

Lenke til kommentar
Del på andre sider

Tok bort DeviceText - fortsatt tannhjul, men ingen tekst (kommer en bindestrek, det er muligens en default string i scriptet i tilfelle input manger)... ?

Skal speile de scrapede devicene til noen andre virtuelle, og se hvordan det funker over tid.

 

Tror HS roter med endringstidspunktene. Se bilde av de to tekst-devicene (som skal være tekst, og som fanger bare tekst, ikke numeriske verdier). Sist endret i går, da devicene ble opprettet iflg dato. Men hvis man ser på teksten, så ser man at den må være hentet i dag (søndag/mandag). Kanskje endring av kun tekst ikke teller som en endring i HS (må være endret verdi?)...

 

scraper_feil_dato.PNG.270ceb1890666f96b71ca0485f3c28f9.PNG

 

 

Lenke til kommentar
Del på andre sider

Ok, mulig de viser string, selv om den ikke er satt... mulig du må sjekke ned Jon00. 

 

5 minutter siden, psv021 skrev:

Kanskje endring av kun tekst ikke teller som en endring i HS (må være endret verdi?)...

 

Ser det samme hos meg, så du har nok rett i det. 

  • Like 1
Lenke til kommentar
Del på andre sider

  • 3 uker senere...
8 timer siden, iceball skrev:

Tenkte jeg skulle kopiere dette også, men opplever samme problemer som @psv021 beskriver.

Alle enheter med verdi 0 har fortsatt ikke fått "last change" oppdatert.

Jon00DataScraperData.ini ser riktig ut.

 

Men er ikke det slik det skal være?

Lenke til kommentar
Del på andre sider

Den 1.4.2017 klokken 7.42, ZoRaC skrev:

 

Men er ikke det slik det skal være?

Jo, det fungerer jo, selv om jeg helst skulle sett at den faktisk hadde verdi 0 og fortsatt har verdi 0 ?

@psv021 hvis du legger inn DeviceMode=2 under begge [Grab] delene i .ini-filen.

 

Justerte Status Graphics for alle enhetene (kjedelig tungvindt..)

Pollen1.PNG.0beb23e7002ae4ea0fd9d7dbe8017b70.PNG

 

Kjør scriptet en gang og vips:

Pollen2.thumb.PNG.aa8acf0a7e4eb732d9c2abbb28063bb6.PNG

  • Like 1
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.