Closed Mariusthvdb closed 4 years ago
@robertklep heeft contact opgenomen met het bedrijf achter Mijn Afvalwijzer, ze hebben gisteren een aantal wijzigingen doorgevoerd en daarnaast json.mijnafvalwijzer.nl uitgefaseerd omdat die site nog draaide op een verouderd platform. Ze zijn wel benieuwd naar de mogelijkheden van het koppelen van de afvalwijzer met home automation en willen graag kijken of er niet alsnog iets te verzinnen valt om die koppeling weer te herstellen.
wat vervelend zeg, al je werk voor niets... mss dat we tot dat moment toch weer over moeten gaan op de scraper? die werkte in het verleden echt prima
weet alleen even niet of die alle functionaliteit heeft die de nu uitgeschakelde sensor heeft?
wat vervelend zeg, al je werk voor niets... mss dat we tot dat moment toch weer over moeten gaan op de scraper? die werkte in het verleden echt prima
weet alleen even niet of die alle functionaliteit heeft die de nu uitgeschakelde sensor heeft?
platform updaten en weer aanslingeren :D
WTF?!, JSON koppeling een oud platform? Hebben ze dan een gRPC koppeling ervoor in de plaats ofzo? Hoe moeilijk kan het zijn? .. zucht..
@Expaso hun JSON platform, niet JSON platforms in het algemeen ๐
Dit is wel even balen, want het was toch wel heel prettig dat ik elke ochtend erop werd gewezen door mijn google assistent als ik de vuilnisbak buiten moet zetten. Ik hoop dat het bedrijf achter mijnafvalwijzer.nl deze functionaliteit weer snel beschikbaar maakt!
Ik maak in de tussentijd een alternatief, die haalt (scraped) de data van de website, dan werkt het ook, alleen op een minder mooie manier. De funcitionaliteit voor de eindgebruiker blijft gelijk.
Ik maak in de tussentijd een alternatief, die haalt (scraped) de data van de website, dan werkt het ook, alleen op een minder mooie manier. De funcitionaliteit voor de eindgebruiker blijft gelijk.
super, als je hulp met testen nodig hebt laat je het weten ok?
WTF?!, JSON koppeling een oud platform? Hebben ze dan een gRPC koppeling ervoor in de plaats ofzo? Hoe moeilijk kan het zijn? .. zucht..
Zover ik nu kan zien is er een https://api.mijnafvalwijzer.nl. Deze url is o.a. te zien als je kalender export doet: https://api.mijnafvalwijzer.nl/webservices/ical/1a8a0525-5eb0-478b-8972-f2ffeec0fc66
(bovenstaande info is via de demo link van mijnafvalwijzer.nl)
Ik kan niet bepalen hoe zij dit nu doen in de backend, maar ik neem aan dat dit redelijk makkelijk uit te breiden is.
De android app communiceert ook via api.mijnafvalwijzer.nl. Je zou verwachten dat die JSON ophaalt vanaf die URL.
Edit: Laat ik niet alleen maar afzeiken maar ook wat nuttigs toevoegen:
Alstublieft ;)
NB: Ik wist niet dat er zoveel data over een beetje afval binnen te trekken viel. Tot en met GPS coรถrdinaten van alle glasbakken aan toe. Ergens hoor ik de baron al roepen: drommels, drommels en nog eens drommels...!
Edit2: Heey, zie dit, er is ook een versie die niet zo lomp veel data teruggeeft. Met een beetje geluk is die bijna gelijk aan de oude API:
Overigens, niet alle request params zijn verplicht, maar bovenstaande URL is exact zoals de app het doet. (dus kleine kans dat ie opeens niet meer werkt).
@Expaso nice! Ik was zelf ook al aan het decompilen geslagen en had die eerste URL gevonden, maar ik zie nu pas dat jij al het zware werk al gedaan hebt ๐
Super! De data die wordt teruggegeven is exact zoals het was. Ik ga er nu mee aan de slag en verwacht ergens einde dag een werkende release.
Op deze manier is het exact zoals het eerder werd teruggeveven.
Al ga ik dit deel &afvaldata=2020-09-13
er wel in opnemen, want dat geeft gewoon netjes alleen json terug.
Het custom_component werkt daarna ook naar behoren. Ik test het nog even een aantal keer gedurende de dag en maak dan een nieuwe release. Super @Expaso en @robertklep
Awesome! Die eerste url geeft overigens ook alleen json terug, alleen sommige textwaarden bevatten html markup, waardoor je browser in de war raakt.
Een update aan het einde van de dag zou echt super zijn! Morgen moet de bak buiten bij ons, en ik heb geen idee welke ๐๐
Release added (not yet in hacs though): https://github.com/xirixiz/homeassistant-afvalwijzer/releases/tag/4.4.0
For me it's working like a charm for both mijnafvalwijzer and afvalstoffendienstkalender!
Thanks for the help all! Now let's hope the api key remains valid ๐ .
I`ll update the HACS PR as well, and as I prepared everything with the help of @KTibow, I think it'll be availble there again soon!
Howerver, any validation upfront is welcome ofcourse ๐
Just tested and installed via Hacs, works like a charm again! ๐
Just updated, works great again!
magic.
van
via (spannend...)
naar volle glorie:
thanks everyone!
Haha top!! Mooie card zeg! Ook veel dank @xirixiz! Nog voor de lunch!
Ik verwacht niet dat de API key snel zal veranderen. Hij zit hardcoded in de app, dus dan zouden ze eerst alle apps moeten updaten, anders crashed alles.
@robertklep Viel jou tijdens het decompilen ook het niveau op van de code van Afvalwijzer? Classes met de naam 'HttpSpul', engels en nederlands door elkaar in de API zoals 'street' en 'huisnummer', alles met strings aan elkaar geplakt. Oh well, het werkt nu, daar gaat het om.
@Expaso ja, het was me ook opgevallen: hardcoded HTML/CSS in de Java code, veel copy-paste code ๐ฌ
Jullie ook bedankt voor jullie hulp, super! @Expaso @robertklep
Goodmorning,
I just received the message below from mijnafvalwijzer.nl. I don't want to have discussions about this with mijnafvalwijzer.nl so I decided to remove the api and url information from the component. I asked them whether is possible to come up with a solution so everyone is happy. I`ll inform you when I received a reply.
Ik heb begrepen dat jij de ontwikkelaar bent achter een aantal projecten die op Github staan t.a.v. home-automation en data-fetching vanuit ons product 'Mijn Afvalwijzer'.ย
Voorheen was deze API publiekelijk beschikbaar via 'JSON.mijnafvalwijzer.nl'. Dit is inmiddels niet meer het geval en de API is publiekelijk niet meer beschikbaar. Om onze Apps te laten communiceren met de backend (de API.mijnafvalwijzer.nl) wordt gebruik gemaakt van een API-key. Deze key is klaarblijkelijk via reverse-engineering, of data-sniffing uit de app gehaald en wordt nu misbruikt om toegang tot de API te krijgen. De key is specifiek bedoelt om oneigenlijk toegang tot de dienst tegen te gaan.
Dit is niet de bedoeling. We willen je dan ook vriendelijk vragen de betreffende code (waar deze key gebruikt wordt) offline te halen. We zullen na een korte periode deze API-key sowieso gaan aanpassen en daarmee stopt de werking van de plugin. We begrijpen dat dit vervelend kan zijn voor diegene die home-automation gebruiken. Wellicht biedt de betreffende gemeente zelf een oplossing om deze data (publiekelijk) te benaderen.
Why make it so much difficult... If you don't want us to use the mobile API-key, why not given us one for Home Assistant? It is not that this app use a different method than the mobile app... Hopefully you will receive answers soon from them with a solution.
Yes, I fully agree. Let's wait for the answer.
Ik begrijp dat ze reverse engineering niet leuk vinden en zeker niet het (mis/ge)bruik van de API key. Maar dit geeft wel aan dat het alleen een kwestie is van goodwill om het gebruik in Home Assistant te ondersteunen en niet het inrichten van een speciale interface. Hopelijk zijn ze inderdaad bereid om een API key beschikbaar te stellen voor de beperkte informatie die we in Home Assistant graag willen zien.
Antwoord:
Addcomm (het bedrijf achter Mijnafvalwijzer) is niet de eigenaar van de data. De gemeentes zijn eigenaar. De ophaaldata zelf valt niet onder persoonsgegevens, maar de gemeentes zijn evengoed huiverig om deze data via hun leverancier (wij dus) naar buiten open te stellen. Om die reden moeten we het verder tegengaan. Zoals je al aangaf veranderen we de key niet enkel om jouw project. Er zijn er inderdaad meerdere.
Het idee om in de toekomst een eigen key af te geven neem ik mee. Indien de gemeente's akkoord gaan dan zijn we zeker bereid het op die manier te doen. I'll keep you posted.. ;)
Ik los het anders op. Ik maak het component beschikbaar zonder URL en API key, op die manier is diegene die het wil gebruiken verantwoordelijk voor het in het bezit krijgen van een legitieme api token. Ik heb de code overigens voor 80% herschreven, dus een nieuwe release lag toch al op de loer.... waarschijnlijk einde middag of vanavond beschikbaar. Keep you posted!
For now that would be a good alternative. You are not responsible for using someone's API-key and if people still want to use it (in any means) then they are self responsible.
Addcomm (het bedrijf achter Mijnafvalwijzer) is niet de eigenaar van de data. De gemeentes zijn eigenaar. De ophaaldata zelf valt niet onder persoonsgegevens, maar de gemeentes zijn evengoed huiverig om deze data via hun leverancier (wij dus) naar buiten open te stellen. Om die reden moeten we het verder tegengaan. Zoals je al aangaf veranderen we de key niet enkel om jouw project. Er zijn er inderdaad meerdere.
Yeah, GDPR has some good points, but people that don't understand how the information is being delivered are panicing and saying NO.
Basically they have to explain that the information is already public available, but is delivered in a different way. As an example, maybe not the best one, is receiving a postal package. It can be delivered by the mailman/mailwoman or by courier. They both can use different transports, but in the end they deliver the same (postal) package.
Oke, I'm almost done with a new and working component without using the API but with all the same functionality. I`ll release it Tomorrow or the day after Tomorrow
New release available (no API key required, same functionality!)
quick feedback:
seems the same error throws 2 different feedbacks in the log in the line
? Or is that the way you wanted it.
I've redacted the personal detail, so that not what been reported really, the url was correct, although it doesnt kist the street (isnt setup in the config either, and has never been)
btw, the version is still on 4.2.2 ;-)