Homey Community Forum

Buienradar Json

Ik probeer vanuit de buienradar json file een variabele te vullen in better logic. Veel geprobeerd en gezocht, maar loop nu echt vast. Wat gaat hier niet goed? Zal hem zitten in het Jsonpath denk ik, krijg daar de gegevens maar niet goed in.

Probeer om te beginnen eens om de JSON te downloaden en op deze website uit te testen tegen je JSONpath expressie. Als je er dan nog niet uit komt, post de JSON (niet een screenshot ervan) in deze thread, dan kunnen anderen er ook mee spelen.

Mogelijke quick fix: twee punten achter elkaar is niks in, maak daar eens één punt van: $.buienradar.humidity[5]

Ik was idd al aan het stoeien op die site. Moet ik daar de json file plakken of alleen $.buienradar.humidity[5]. De puntjes was een probeersel, maar werkte ook niet

Hier de gehele file;

https://data.buienradar.nl/2.0/feed/json

Zoiets?

$.actual.stationmeasurements[5].humidity

Dat is de luchtvochtigheid bij station Den Helder.

Om het wat robuuster te maken is het misschien handiger om te filteren op de naam van het meetstation, want ik weet niet of de gegevens van Den Helder altijd op dezelfde plek in het array staan. Dan wordt de expressie zoiets:

$.actual.stationmeasurements[?(@.stationname == 'Meetstation Den Helder')].humidity
1 Like

Ja fantastisch dat werkt! je wilt niet weten hoe lang ik hier mee bezig was. Ik was ook al op actual en stationmeasurements gekomen. Maar net niet op de juiste manier ingevoerd. Dank je wel! Weer een stukje dichterbij de optimalisering van de tuinbewatering🙏

Ik heb ook gewerkt aan automatisering van beregening. Wat wil je bereiken met humidity?

Ik haal bij agromonitoring.com de bodemvochtigheid op voor mijn locatie. Deze combineer ik met de regenverwachting voor de komende 2 dagen van open weather.
Als bodemvochtigheid onder een niveau zit en het regent de komende 2 dagen ook niet dan activeer ik de beregening.

1 Like

Dat is expert-level! :+1:t2:

1 Like

Humidity was als voorbeeld. Gebruik ik idd niet. Ging om de voorspelling. Ik heb nu via weerlive.nl de verwachting neerslag voor het komende uur in variabelen. Dit kan ik maximaal 16x per dag binnen halen om binnen hun api limiet te blijven. De andere 8 uur ga ik opvullen met buienradar. Heb de bewatering in mijn tuin nu in 6 zones. Van 2 zones krijg ik via sensoren de bodemvochtigheid automatisch door. Daarnaast koppel ik dat met de regenvoorspelling. Alleen in de nacht laat ik bewateren mits er dan geen regen valt. De bloempotten worden iets vaker bewaterd en eventuele regen is dan van minder invloed.

Bij het opnemen van de regendata van buienradar liep ik er wel tegenaan dat er slechts een beperkt aantal plaatsen selecteerbaar zijn(bij mij min 25 km verwijdert) wat de accutaresse wel vermindert. Wel kun je welhaast onbeperkt de api aanroepen. Bij openweather kan ik wel mijn eigen plaats selecteren, maar krijg ik de regen per drie uur gecumuleerd door. Dit is niet heel accuraat, omdat in het derde uur wellicht juist alle regen valt. In de keuze voor de juiste api voor mij kom ik dan toch uit op weerlive.nl. Regen per uur en per plaats, maar max 18 aanroepen per dag. Dit betent dat er bij 8 uursvoorspellingen de data een uur oud zijn. Daar valt mee te leven.

Zou je deze opzet eens kunnen delen?
Klinkt als een nette oplossing.

Iets meer toelichting. Lees eerst bijgaande web pagina.
https://agromonitoring.com/api/get
Kortweg maak een polygoon figuur van je grondoppervlak. Zet een API call op met het json trigger object (gebruikmakend van je polygoonid en je API key). Schrijf dit object naar een betterlogic variabele. Dan heb je de vochtigheid van je grond opgeslagen in een variabele.
Daarnaast heb ik 16 3-uursvoorspellingen opgezet van OpenWeatherMap (die zijn gratis te gebruiken). Hiervan tel ik de de verwachtte neerslag op.
Als de vochtigheid onder 0,14 is en regen is komende 2 dagen lager dan 3 mm dan activeer ik de beregeningscomputer van Hunter door via een schakelaar van Fibaro het circuit te sluiten van de regensensor.

2 Likes