Pad van een image

Hoi,

ik maak vast een denkfout maar die image-tokens etc kan ik maar niet begrijpen.

Ik zou graag het pad willen hebben van een image.
Bijvoorbeeld van deze image

Nou zit ik hier wel wat te lezen ( Images - Homey Apps SDK ) maar ik krijg het maar niet voor elkaar om het pad te krijgen.

@Jorden Kan jij mij helpen?
Als ik een image-url ophaal, dan bewaart jouw app de image toch?
Hoe kan ik met code het pad ( niet te verwarren met de url ) van die image ophalen zodat ik het bestand kan verwerken ( /userdata/bestand.jpg bijvoorbeeld ).
Of moet ik dan ook code maken die hem lokaal ( in mijn app? ) ook weer bewaart?

Ik heb dan bijvoorbeeld deze “flow”

Nee, de app bewaart alleen de URL.

Bedankt voor je antoord, maar ik maak schijnbaar een denkfout
Ik dacht: image-grabber haalt hem op, en geeft de abeelding door als object in het geheugen ( maar ik merk dus dat die hem zelf ook opslaat ), maar dan moet ik dus in de app die ik zelf maak, de afbeelding ook nog een keer opslaan?
Dus dan zou de afbeelding dubbel op de homey staan, correct? ( 1x door image-grabber en 1x door mijn app )

Het lijkt/leek mij logisch een flow het “object image” doorgeeft en ik die dan ten alle tijden kan oproepen zonder opnieuw code te schrijven die hem ‘fetcht’ van de lokale api en hem lokaal weer op moet slaan.

Excuus voor mijn vragen, maar soms vind ik dingen zo onlogisch klinken/werken terwijl andere subliem werken/uitgedacht zijn.

Image Grabber gebruikt fetch om de response van de URL te streamen in de getStream handler (zie hier).

Er wordt niks lokaal opgeslagen (in ieder geval niet op een plek waar jij er iets mee kunt, eventueel zou het kunnen dat Homey’s core de stream data tijdelijk ergens opslaat, maar daar kun je niet bij), de app is alleen maar een doorgeefluik.

Nou, dat dacht ik dus ook, maar als ikk hier kijk Homey Developer Tools dan zie ik dus wel alle images staan, per keer dat ie het opgehaald heeft.

Hoe ik het zie: er wordt 6x een Image aangemaakt. Homey slaat daar van URL van op, en als jij de developer tools opent wordt per image de URL opgehaald. Dat dat 6x dezelfde URL is is niet relevant.

Overigens vergiste ik me in mijn vorige post, Image Grabber gebruikt alleen fetch() als de URL van een plaatje niet begint met https://. Als dat wel het geval is, haalt Homey’s core de image file op.

tsjah, dat kan ook … maar het lijkt mij toch iets wat onlogisch dat er alleen een image-object aangemaakt wordt en geen binaire data wordt opgeslagen en alleen maar gebruikt kan worden ter referentie.
Nu heb ik geen mogelijkheid om iets te genereren met een timestamp zoals een webcam want zou ik het beter kunnen testen.
Plus dat de naam “image-grabber” de naam doet suggereren dat het de image download en opslaat voor later gebruik.

De broncode is beschikbaar, dus je kunt precies nagaan hoe het werkt.

Je kunt de app die jij bouwt, de image-token van Homey laten ondersteunen. Zie voor de documentatie: Tokens - Homey Apps SDK

Een voorbeeld van een app die dat ondersteunt, is mijn Telegram app. De sourcecode daarvan staat op GitHub - jordenc/org.telegram.api.bot: Homey Telegram communication
Schijnt wel een bug in te zitten waardoor het verzenden op Homey Pro 2023 niet werkt, daar moet ik nog in duiken (maar tijd tekort as always…)

1 Like

Bedankt, ik zal er nogmaals eens induiken.
Maar als je dit zo zegt, kan het misschien daar ook aan liggen dat ik het niet voor elkaar krijg.

Ja, iedereen heeft te weinig tijd :wink: