Eindelijk heb ik zelf uitgevonden waarom de snapshot functie van mijn camera’s random wel/niet leek te werken; het werkt alleen wanneer ik met mijn telefoon in mijn eigen Wifi netwerk zit. Zet ik de telefoon op 4G dan komen de snapshots ineens niet meer mee.
Flow was eerst als volgt:
Unifi Protect app:
Beweging gedetecteerd dan push notificatie met afbeelding naar mijn telefoon. Hierbij maakte ik gebruik van de snapshots die de Unifi Protect app zelf aanlevert.
Toen dit soms wel/soms niet bleek te werken ben ik de camera settings ingedoken en heb ik de ‘anonymous snapshots’ aangezet om zo via het IP adres van de camera de snapshot te verkrijgen middels de Image Grabber app:
Beweging gedetecteerd is image grabben van het IP adres van de camera en deze vervolgens middels snapshot notificatie sturen. Maar ook dit werkte ogenschijnlijk random wel/niet.
Nu ben ik er dus zojuist achtergekomen dat het ontvangen van snapshot notificaties wél werkt als ik thuis ben, en dus op de wifi zit, maar zodra ik de telefoon van de wifi af haal dan komen de snapshots niet meer mee…!
Het probleem is nu dus ineens duidelijk, maar hoe kan dit/krijg ik dit opgelost?
Plaatjes in push notifications werken intern ook met een URL, in feite stuur je een URL van het plaatje mee, en die URL moet openbaar zijn, anders kan je telefoon er buiten je thuisnetwerk niet bij.
Ik vermoed dat de Image Grabber app voor jouw plaatjes alleen de URL opslaat, die dus naar een niet-openbaar, lokaal IP-adres wijst.
Je zou de maker van de Image Grabber app kunnen vragen om een versie van de “Grab Image” kaart te maken die niet setUrl()
gebruikt maar setStream()
. In dat geval wordt het plaatje naar je Homey gekopieerd en krijgt ie in push notificaties een openbare (via de Athom cloud servers) URL.
Er zijn nog wel andere oplossingen te verzinnen (VPN-verbinding installeren die automatisch wordt opgezet zodra je telefoon niet meer op je thuisnetwerk zit, een port-forward naar je camera maken zodat ie openbaar bereikbaar is, een app als Image Poster gebruiken), maar die zijn niet ideaal.
Ik kan bij Homey Developer Tools de verkregen afbeeldingen van zowel Image Grabber als de snapshots van de Unifi Protect app zien. Daarmee worden ze toch van het web gehaald en lokaal op de homey gezet? Is er geen mogelijkheid om ze dan vanuit de homey in de push berichten te krijgen?
Het gekke is dat het wel gewerkt heeft in het verleden via de Unifi Protect app. Toen kreeg ik de pushafbeeldingen bij beweging ook als ik niet thuis was.
Niet per se.
Ik heb al uitgelegd hoe.
Die app gebruikt waarschijnlijk de setStream()
API, die het plaatje downloadt naar Homey.