Hello,
J’ai testé sous la version ios en beta (avec le plugin en beta) et la version android en stable (avec le plugin en stable), jeedom v4.1.x dans les 2 cas mais ca ne changera rien.
Dans les 2 cas j’ai le problème suivant:
J’envoie donc des notifications depuis une commande « envoyer une capture » du #plugin-arlo et pas du #plugin-camera (que je n’utilise pas) mais elle fonctionne grosso-modo pareil: dans les 2 cas les plugins sauvent les captures dans un dossier local.
pour la forme, voici un exemple du log:
[2021-08-08 17:47:45][INFO] : Send notification with data {"type":"DISPLAY_NOTIF","payload":{"cmdId":"6004","title":"capture","message":"capture","answer":null,"timeout":null,"files":["\/var\/www\/html\/plugins\/arlo\/data\/snapshots\/55xxxxx548\/20xxxxxxxxxxx862.jpg"],"time":1628437665,"id":"defaultNotif","channel":"default","index":0}}
[2021-08-08 17:47:45][DEBUG] : Send output : 2021/08/08 17:47:45 {"multicast_id":903xxxxxxxxx3562,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"162xxxxxxx55"}]}
L’envoi de notification avec snapshot depuis arlo fonctionnent bien avec #plugin-mail ou avec #plugin-telegram par exemple mais avec #plugin-jeedomconnect l’image ne s’affiche pas et la raison est que jeedomConnect génère un lien http vers l’image alors que les autres inclus l’image (en tant que fichier) dans le message.
Hors dans le plugin arlo j’ai bloqué l’accès au images en direct car ce n’est protégé par aucune authentification; je suis d’ailleurs surpris que le plugin caméra ne bloque pas cela… cela veut dire que toutes vos captures et enregistrement de caméras sont accessibles par n’importe qui sur internet
bref, quand l’app (jeedomconnect) veut afficher l’image, elle recoit un 403 du server web de jeedom évidement, je retrouve bien l’appel en statut 403 dans mes logs.
si je permet l’accès directe cela fonctionne, la capture s’affiche mais je suis pas vraiment chaud de permettre un accès libre aux captures
Est-ce qu’il serait envisageable d’adapter cela et d’inclure le fichier dans la notification?
L’alternative que je vois, peut-être plus simple, serait que le plug-in fasse proxy. Donc que l’app appelle une api du plug-in avec le path du fichier et celui-ci serait retourné en réponse, l’api serait protégée par la clé api du plug-in.
J’ai fait cela dans le plug-in arlo, je peux donner le code pour faire cela et il y aurait juste un changement d’URL à faire dans l’app.