Aller au contenu

jjacques68

Membres confirmés
  • Compteur de contenus

    4 380
  • Inscription

  • Dernière visite

  • Jours gagnés

    40

Tout ce qui a été posté par jjacques68

  1. j'essaye avec ça mais sans succès : local ListeLights = { args = {}, filters = { {filter = "roomID", value = {roomID}}, {filter = "and", value = {filter = "isLight", value = {true}}} } } Je souhaite avoir la liste ID des device qui : - sont dans une pièce précise (roomID) -> ça ça marche - sont des lumières "isLight" = true -> marche pas
  2. ah oui zut, copier coller trop vite... est ce qu'on peut cumuler des filtres dans cette commande ? par exemple là j'ai la commande qui me retourne tous les device de la room 232 : local ListeDeviceInRoom = api.get("/devices/?roomID=232") Mais est ce que je peux ajouter un truc du genre "?isLight = true" ?
  3. Donc ça simplifie beaucoup la scène initiale : fibaro.debug("Volets", "Volets - start Scene") local Trigger = sourceTrigger local Tel = tonumber(fibaro.getGlobalVariable("Phone_JJ")) local Message = "" local ListeDevice = api.get("/devices/?type=com.fibaro.FGRM222") local IDVoletSalon = 38 ---------------------- --SUNSET ---------------------- if Trigger.property == "sunset" then fibaro.debug("Volets", "Volets - Sunset Trigger") Message = "Fermeture des volets" for k,v in pairs(ListeDevice) do --Volet du salon : le fermer que si absent et porte fermée if v.id == IDVoletSalon then if fibaro.getValue(56, "value") == false and fibaro.getValue(36, "value") == false then fibaro.call(38, "close") end else fibaro.call(v.id, "close") end end end ---------------------- --SUNRISE ---------------------- if Trigger.property == "sunrise" then fibaro.debug("Volets", "Volets - Sunrise Trigger") Message = "Ouverture des volets" for k,v in pairs(ListeDevice) do fibaro.call(v.id, "open") end end fibaro.alert("push", {Tel}, Message) merci @Krikroff ! ah c’est dommage qu’on ne puisse pas mettre ce genre de filtre sur la “catégories“ du module...
  4. si c’est ok ça marche : local ListeVolet = api.get("/devices/?type=com.fibaro.FGRM222") for k,v in pairs(ListeVolet) do print(k,v.id) end L’erreur était : j’avais mis “/api/devices/...“ au lieu de “/devices/...“
  5. il faut te que je ré-essaye, j’ai peut être pas traité le retour de la bonne façon. j’avais fait une simple boucle pour afficher chaque occurrence de la table. et j’avais "nil" comme réponse...
  6. ce serait pas ça ?
  7. @Krikroff, j’ai un doute : la commande local ListeVolet = api.get("/api/devices/?type=com.fibaro.FGRM222") retourne bien un tableau json sous la forme {38,42, ... , ... } ? ou autre chose ?
  8. oui là va pas avoir le choix de boucler sur tous les device... c’est étonnant d’ailleurs de pouvoir choisir plusieurs catégories, je vois pas encore l’intérêt...
  9. oui le voilà : c'était pour les volets local ListeDevice = api.get("/devices/") print("Nb Device = "..#ListeDevice) for i = 1, #ListeDevice do if ListeDevice[i].properties.categories then if ListeDevice[i].properties.categories[1] == "blinds" then print(ListeDevice[i].id.." = "..ListeDevice[i].name) end end end
  10. ah zut, dommage ! pourtant il me semble avoir réussi à fair un truc du genre : api.get(/api/devices/32).categories[1] == "lights"
  11. Par contre je galère avec le filtre sur les catégories : local ListeLumiere = { args = {}, filters = { { filter = "categories", value = "lights" } } } en effet "categories" est un tableau (on peut le voir dans l'API) et je trouve pas la syntaxe...... ...
  12. et si on veut filter encore plus, genre exclure un ID : local ListeVolet = { args = {}, filters = { { filter = "type", value = {"com.fibaro.FGRM222"}, }, { filter = "not", value = { filter = "id", value = {38} } } } } étrange comme syntaxe...
  13. alors ça marche avec le fibaro.callGroupAction(action_name, arguments) local ListeVolet = { args = {}, filters = { { filter = "type", value = {"com.fibaro.FGRM222"} } } } fibaro.callGroupAction("close", ListeVolet)
  14. ça marche pas local ListeVolet = api.get("/api/devices/?type=com.fibaro.FGRM222") et j'ai trouvé la fonction fibaro.callGroupAction(action_name, arguments) dans l'aide : local ListeVolet = { "args" : [], "filters" : [ { "filter" : "type", "value" : ["com.fibaro.FGRM222"] } ] } fibaro.callGroupAction("close", ListeVolet) mais ça bug niveau syntaxe, pourtant je fais comme dans l'exemple.. je suis entrain de chercher...
  15. jjacques68

    Petits bug de la HC3

    oui je suis d'accord...
  16. jjacques68

    Petits bug de la HC3

    je réitère : ce soir j'ai beau faire autant de refresh de l'IHM que je veux, le status des modules volets n'est pas bon..
  17. qui sait, ça va peut être arriver ce "at" dans les conditions !!!
  18. jjacques68

    Petits bug de la HC3

    ce matin j’ai rafraîchit la page du navigateur, et tous les volets avaient le bon status.
  19. jjacques68

    Petits bug de la HC3

    ah justement : le 0 est géré par le « opening » est donc géré par les paramètres module pour la notification. mais : dans la première, il me faut bien tout, car cela me permet d’afficher des icônes spécifiques à la valeur dans le le soft qui reçoit la socket... dans la seconde, pour les push, il me faut que quand > 0 (ou != 0) pur avoir le pourcentage dans le message... tu penses à quoi, que les scènes sont appelées bien plus que 6 fois, et du coup ça panique ? pour le push, je pourrais en effet ne tenir que du 0 et 100, mais pour la socket, ça m’embête...
  20. ben tout simplement, par exemple le déclenchement de l’arrosage à tel ou tel l’heure (paramétrer via une QA), démarrage d’une réveil, en fait dès que l’on souhaite démarrer qqch à une heure variable... le CRON c’est très bien, mais ça reste fixe...
  21. ben sinon à l’ancienne, on fait tourner une boucle et on contrôle os.date(“%H:%M“).
  22. Hello, encore une question de fou et je sèche complet : comment peut-on trigger une scène avec une date et heure paramétrable ? J’ai essayé de stocké le tableau CRON {a,b,c,d,e,f} dans une variable globale, en me disant que j’allais faire un fibaro.getGlobalValue dans les conditions mais : 1. mettre un fibaro.getGlobalVariable dans les conditions de déclenchement de la scène, et bien ça aime pas du tout 2. et ça je trouve très problématique : on ne peut pas avoir plus de 20 caractères dans les VG !!! aie aie aie : comment faire pour stocker des tableaux JSON ou autre ????? je me corrige, si on peut par code, mais pas via la fenêtre d’ajout de la variable, il doit y avoir une limitation dans la zone texte... donc pas de problèmes... ouf. 3. quand bien même, pas sûr que ça aurait marché. J’ai essayé de passé par un QA de type générique en lui donnant le tableau CRON comme valeur mais : 4. un QA de type générique n’a pas la propriété value 5. impossible de mettre un fibaro.xxxxx dans les conditions d’une scène ou alors il est tard et je fais n’importe quoi ! Merciiiii !
  23. jjacques68

    Petits bug de la HC3

    j'ai constaté un autre soucis... plus compliqé à expliquer : J'ai 2 scènes triggées par la "value" des volets. Donc 6 au total. La première scène m'envoie les "value" sur une socket. Voici les trigger : { operator = "any", conditions = { {type = "device", id = 38, property = "value", operator = "!=", value = 100, isTrigger = true}, {type = "device", id = 42, property = "value", operator = "!=", value = 100, isTrigger = true}, {type = "device", id = 45, property = "value", operator = "!=", value = 100, isTrigger = true}, {type = "device", id = 48, property = "value", operator = "!=", value = 100, isTrigger = true}, {type = "device", id = 51, property = "value", operator = "!=", value = 100, isTrigger = true}, {type = "device", id = 54, property = "value", operator = "!=", value = 100, isTrigger = true} } } La deuxième scène me fait les notif push des "value". Voici les trigger : { operator = "any", conditions = { {type = "device", id = 38, property = "value", operator = "!=", value = 0 , isTrigger = true}, {type = "device", id = 42, property = "value", operator = "!=", value = 0 , isTrigger = true}, {type = "device", id = 45, property = "value", operator = "!=", value = 0 , isTrigger = true}, {type = "device", id = 48, property = "value", operator = "!=", value = 0 , isTrigger = true}, {type = "device", id = 51, property = "value", operator = "!=", value = 0 , isTrigger = true}, {type = "device", id = 54, property = "value", operator = "!=", value = 0 , isTrigger = true}, } } donc quand les volets s'ouvrent/ferment, et bien je ne reçois pas tous les push, et je ne reçois pas toutes les trames sur la socket. Je constate un effet aléatoire... un coup je vois passer tel ou tel device, un autre coup, ce sont d'autres device... Concernant la socket : ce n'est pas la socket qui pose problème (ça c'est ok maintenant). Tout simplement la scène n'a pas été triggée par tous les volets (donc 6 appels). Concernant les push, c'est identique, la scène n'a pas été triggée 6 fois. Pour les notifications push directement paramétrées dans les propriétés du device (je l'utilise pour le "opening" des volets), le résultat est identique. Toutes les push ne sont pas remontés... Mais les push ne passent-ils par leur serveur ? peut-être que ça sature... je sais pas. En tout cas, cela m'inquiète car, c'est le genre de scènes qui vont avoir beaucoup de trigger et donc peuvent, potentiellement, être exécutées plusieurs fois simultanément ! Là il n'y a que les volets, mais il y aura d'autres actionneurs, capteurs, ... A suivre... PS : on a plus la notion du nombre instances de scène avec la HC3 ? il y a bien un paramètre : "Allow to restart a running scene: " = YES/NO et ils sont bien sur NO.
  24. jjacques68

    Petits bug de la HC3

    ben là, depuis ce matin, j'en ai bien peur... Ce soir ça a été ok... APRES avoir fait un refresh du navigateur !! et ce matin... j'ai pas fais de refresh, du moins il me semble pas, je reteste ça demain matin, et ferai un retour
  25. jjacques68

    Question TCPSocket

    ah oui pas bête..., pas besoin de faire de tunOn ou turnOff... avais pas pensé au Sensor
×
×
  • Créer...