54allan54 Posté(e) le 16 avril 2020 Signaler Posté(e) le 16 avril 2020 Bonjour !! Je suis en train de faire une scène et dans celle ci j'ai besoin d'avoir une notification push sur la totalités des appareils enregistrés dans la box (et les futurs a venir), hors en scène bloc il n'y pas possibilité de choisir "all devices" ou quelques chose de similaire. Si je la converti en LUA j'ai : fibaro:call(255, "sendDefinedPushNotification", "203" et j'aimerai pouvoir mettre tout les devices au lieu du 255. Merci a vous pour vos lumières ! Très bonne journée :)
Krikroff Posté(e) le 16 avril 2020 Signaler Posté(e) le 16 avril 2020 Alors tu peux faire un boucle genre: local ids = {10,20,30,40,50} for key, value in ipairs(ids) do print("send to ", value) fibaro:call(value, "sendDefinedPushNotification", "203") end ou essayer avec un fibaro:callGroupAction("sendDefinedPushNotification", filters) mais si tu vas galérer avec les filtres...
54allan54 Posté(e) le 16 avril 2020 Auteur Signaler Posté(e) le 16 avril 2020 Ah le grand Krikroff !! Tout d’abord merci pour ta réponse. Alors excuse mon manque de connaissances en dev mais les local ids que tu indiquent, ça correspond à quoi ? Les id des devices ? Parce que si c’est le cas il faut prendre en considération qu’il y aura des id futures (par exemple lors d’un achat d’un nouveau smartphone)
Krikroff Posté(e) le 16 avril 2020 Signaler Posté(e) le 16 avril 2020 Il y a 2 heures, 54allan54 a dit : j'aimerai pouvoir mettre tout les devices au lieu du 255. Voilà c’est ça les ids c’est toi qui renseigne ce que tu souhaites. Ici local c’est pour déclarer ta variable, et il s’agit de notre cas d’un tableau de valeur.
54allan54 Posté(e) le 16 avril 2020 Auteur Signaler Posté(e) le 16 avril 2020 Oui ça j’ai bien compris mais ce que je souhaite c’est définir les futurs id automatiquement a l’avenir. En fait j’ai installé une hc2 au père d’un copain mais j’ai pas envie de devoir lui refaire les scènes a chaque fois qu’il changera son iPhone par exemple. On peut le faire directement sur les modules, ça envoie une notification à la totalité des appareils connectés à la box mais sur les scènes je ne trouve pas de solution
54allan54 Posté(e) le 21 avril 2020 Auteur Signaler Posté(e) le 21 avril 2020 Je trouve toujours pas de solution Bizarre que Fibaro ne l'ai pas intégré
54allan54 Posté(e) le 21 avril 2020 Auteur Signaler Posté(e) le 21 avril 2020 Il n'y a pas possibilité d'intégrer un petit script dans la scène pour qu'elle récupère les différents ID des smartphones et les intègres automatiquement ? Désolé je suis vraiment nul ...
Krikroff Posté(e) le 21 avril 2020 Signaler Posté(e) le 21 avril 2020 Il n’y a rien en effet nativement pour faire cela, il faut faire un peu de code.C’était l’idée... alimenter le tableau avec les devices déclarés... Envoyé de mon iPhone en utilisant Tapatalk
54allan54 Posté(e) le 23 avril 2020 Auteur Signaler Posté(e) le 23 avril 2020 Je suis en train de créer un VD qui a pour but de récupérer et lister les IDs directement depuis /api/iosDevices. Par contre je ne sais pas comment récupérer directement les IDs, json decode ?
Krikroff Posté(e) le 23 avril 2020 Signaler Posté(e) le 23 avril 2020 Pourquoi un VD et pas simplement une scène ? Bon je vais pas te laisser galérer Avec ceci tu vas lister tous les devices (push) déclarés dans ton HC2 local ids = api.get("/iosDevices") for _,value in pairs(ids) do if (value.push==true) then print(value.id, value.name) end end Je te laisse adapter en ajoutant le fibaro:call(xxx, "sendDefinedPushNotification", "203") Dis-moi si cela répond bien à tes attentes... 1
54allan54 Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 (modifié) Super, merci beaucoup pour ton aide. J'avais pensé faire un module pour qu'en plus je puisse visualiser directement les IDs en cas de besoin. J'avais presque fini mais je bloque a la ligne 6, je n'arrive pas sortir la totalité des IDs, enfin je ne sais pas ce que je dois remplacer par le [1] : local SelfId = fibaro:getSelfId() local HC2 = Net.FHttp("127.0.0.1",11111) local response, status, errorCode = HC2:GET("/api/iosDevices") local result = json.decode(response) local Total = #result local Id = result[1].id fibaro:call(SelfId,"setProperty","ui.TotalDevice.value", Total) fibaro:call(SelfId,"setProperty","ui.ListID.value", Id) Sinon pour la scène ca marche j'ai bien le listing dans le debug mais que dois-je lui indiquer a la place des XXX pour envoyer le push sur la totalité listé ? Désolé comme tu peux le constater je suis vraiment nul en dev ... Un très grand merci pour ta patiente, enfin ton courage ! Modifié le 24 avril 2020 par 54allan54
54allan54 Posté(e) le 24 avril 2020 Auteur Signaler Posté(e) le 24 avril 2020 Pour la scene c'est bon j'ai trouvé en remplacent simplement par value.id, merci 1
Messages recommandés