Aller au contenu

MAM78

Membres confirmés
  • Compteur de contenus

    2 515
  • Inscription

  • Dernière visite

  • Jours gagnés

    28

Tout ce qui a été posté par MAM78

  1. En fait le mot de passe correspond au paramètre : key=apikey apikey étant le mot de passe par défaut qui est modifiable dans l'IPX.
  2. Je viens d'intégré le lien .
  3. Tu peux développer ton idée de bufferisation. Dans quel registre mémoire tu vois ça et selon quel type de procédures/fonctions. Tu admettras que l'écart entre le domaine de la domotique et de l'informatique est tenu. Une boxe domotique, n'est plus ni moins qu'un ordinateur, avec un système d'exploitation et une couche applicative, basé le tout sur un OS couramment utilisé dans le monde de l'informatique. Pourquoi séparer les deux mondes si j'ai choisi d'acheter une Fibaro HC2 c'est bien pour pouvoir avoir accès au code et pouvoir développer ses propres fonctionnalités, sinon j'aurais acheté une boxe fermée comme un simple utilisateur Je n'ai pas de débat sur des limitations quelconques fixé par Fibaro. C'est leur droit, je ne critique pas (sauf sur l'indisponibilité de la fonction Net.F???? dans le scènes ) mais le propre de ce Forum il me semble, c'est de pouvoir échanger notamment (pas uniquement) sur ces limites et voir s'il est possible de les contourner sans pour autant se voir discrédité sur des logiques de conception. J'ai une expérience toute relative en informatique et je suis très loin de votre expérience/compétence (dont j'ai besoin pour progresser) en particulier sur cette boxe. C'est donc sans aucune prétention, que depuis moins de 2 mois que je participe activement au forum et que je partage mes expériences (déjà 7 Tutos en ligne et probablement d'autres à venir). Qui dit mieux ? Pour rappel, mon présent Tuto a pour objectif de partager avec vous l'utilisation de la fonction figaro:args() et en quoi elle nous permet notamment de simplifier la maintenance de nos codes en diminuant leur redondances dans nos VD/Scènes. D'ou l'idée d'utiliser cette fonction comme un moyen de créer ses propres fonctions avec passage de paramètres.
  4. Cela peut arriver par exemple, lorsque plusieurs détecteurs se déclencheraient en quasi-simultanés et pour lesquels la même scène serait sollicitée. Je te l'accorde cela correspond à des cas exceptionnels. Dans ce cas il convient de bien positionner le paramètre (Max. running instances). Mais le cas auquel je pense est surtout celui ou l'on utiliserait une scène qui consoliderait la gestion des traces dans une log centralisée et/ou l'envoi de messages (mail, SMS, Push, TTS) et là la probabilité d'avoir des exécutions simultanées peut être beaucoup plus importante. Pourquoi parler de problèmes de conception , il y a tout bonnement une limitation à 10 instances. D'où ma mise en garde puisqu'il y a un risque que certains lancements de la scène d'aboutissent pas. Il y a bien évidement la possibilité de contrôler le nombre d'instances de la scène et de faire une boucle d'attente (sleep) dans les scènes/vd appelants celle-ci, mais cela alourdirait leur code. CQFD
  5. En finalité tu l'as modifiée comment ? Comme je te l'ai suggéré ?
  6. Pour moi, tu devrais avoir quelque chose comme ça. Mais moi j'utilise pas GEA, j'utilise Watchdog Je n'ai donc pas fait le test. error = function(err) Debug("grey","T7".." - "..params[idx].name) Debug("orange","Erreur de reception de données, Erreur = ".. err) -- retry after 10 seconds -- setTimeout(function() -- GetWazeData(idx) -- end, 10000) -- Debug("grey","T8".." - "..params[idx].name) end }) end) if not(ok) then Debug("red","Erreur dans l'exécution de fhttp:request(query") end Debug("grey","T9".." - "..params[idx].name) -- Polling -- setTimeout(function() -- GetWazeData(idx) -- end, params[idx].pollingMs) -- Debug("grey","T10".." - "..params[idx].name) end Start()
  7. Dans l'exemple de @Steven c'est la deuxième partie qu'il faut commenter, par la première. Moi j'utilise le Watchdog. et non GEA pour relancer la scène.
  8. L'améliorer serait présomptueux, mais je vais essayer d'y intégrer les fonctionnalités de mon projet " La mise sous surveillance de nos habitations "
  9. Hello @Moicphil je suis en cours d'implémentation de ma sirène et je souhaite capitaliser sur ton VD et tes scènes de gestion des alarmes. Est-ce que tu as fait évoluer ton VD et ta Scène depuis ta dernière publication sur le Tuto ? Si oui est-ce que tu pourrais STP me communiquer ta dernière version ?
  10. IPX800 V4 : Pilotage des relais Contexte : Après avoir galléré pour trouver un Tuto sur le Forum expliquant comment piloter un IPX800 V4, je partage avec vous un exemple d'usage de l'IPX. Mon exemple est de pouvoir modifier l'état d'un des relais de l'IPX qui active le relais d'une sirène d'alarme. Je suis parti de l'exemple de @Moicphil Utiliser Une Sirène Extérieure Filaire Avec La Hc2 / Hclite , mais dans son cas il utiliser un IPX800 V3 alors moi j'utilise un IPX800 V4 et pour lequel les commandes ne sont pas les mêmes. Voici un extrait de la documentation de l'API de l'IPX800V4 : L'ensemble de l'API est protégée par une clef secrète. Par défaut, cette clef est : « apikey ». Elle est bien sur paramétrable et il est également possible de supprimer cette protection. Lors de l'utilisation de l'API JSON, il sera nécessaire de renseigner cette clef à chaque commande. Pour cela, dans tous les cas, il vous suffira de la placer en premier argument de la manière suivante : « key=apikey ». Les requêtes JSON commenceront donc de la manière suivante : « http://IPX800_V4/api/xdevices.json?key=apikey&... ». Elles pourront également comprendre plusieurs commandes à la fois (même si cela aura un impact sur la réponse). Exemple 1 : commande qui met le relais 01 de l'IPX800V4 à 1 (fonction SetR=) http://192.168.0.10/api/xdevices.json?key=apikey&SetR=01 Exemple 2 : commande qui met le relais 01 de l'IPX800V4 à 0 (fonction ClearR=) http://192.168.0.10/api/xdevices.json?key=apikey&ClearR=01 Exécution de ces commandes sous son explorateur, avec le résultat suivant : { "product": "IPX800_V4", "status": "Success" } Transposition de ces commandes en LUA dans un VD qui déclenche/arrête la Sirène : Bouton On (déclenche la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&ClearR=01") Bouton Off (arrête la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&SetR=01") Documentations de l'IPX800 V4 : mode-d'emploiIPX800V4.pdf IPX_API.pdf
  11. Ca y est , j'ai trouvé la solution pour piloter sa sirène via un IPX800 V4. merci @Lazer pour ton orientation Voici un extrait de la documentation de l'API de l'IPX800V4 : L'ensemble de l'API est protégée par une clef secrète. Par défaut, cette clef est : « apikey ». Elle est bien sur paramétrable et il est également possible de supprimer cette protection. Lors de l'utilisation de l'API JSON, il sera nécessaire de renseigner cette clef à chaque commande. Pour cela, dans tous les cas, il vous suffira de la placer en premier argument de la manière suivante : « key=apikey ». Les requêtes JSON commenceront donc de la manière suivante : « http://IPX800_V4/api/xdevices.json?key=apikey&... ». Elles pourront également comprendre plusieurs commandes à la fois (même si cela aura un impact sur la réponse). Exemple 1 : commande qui met le relais 01 de l'IPX800V4 à 1 (fonction SetR=) http://192.168.0.10/api/xdevices.json?key=apikey&SetR=01 Exemple 2 : commande qui met le relais 01 de l'IPX800V4 à 0 (fonction ClearR=) http://192.168.0.10/api/xdevices.json?key=apikey&ClearR=01 Lorsque l'on exécute ces commandes sous son explorateur, le résultat est le suivant : { "product": "IPX800_V4", "status": "Success" } Ci-dessous la transposition de ces commandes dans un VD qui déclenche/arrête la Sirène Bouton On (déclenche la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&ClearR=01") Bouton Off (arrête la sirène) : local _deviceIp = fibaro:get(fibaro:getSelfId(), 'IPAddress') -- get the adress off ipx800V4 HC2 = Net.FHttp(_deviceIp) response = HC2:GET("/api/xdevices.json?key=apikey&SetR=01") Suggestion pour @Moicphil d'ajouter les commandes LUA dans la première page du TUTO pour ceux qui sont équipé d'un IPX800 V4
  12. Hello @Lazer merci pour tes indications. Mais ça fait une heure que je recherche des exemples de code LUA avec un IPX800 V4 et je ne trouve rien sur le forum ou sur le net. Peut-être que je m'y prends mal dans mes recherches. Ce que je recherche est vraiment très simple. l'activation d'un relai depuis un VD. J'ai bien regardé la doc API HTTP, mais je t'avoue que je ne sais pas comment transposer en LUA. Tu n'aurais pas un lien à me pointer STP ?
  13. j'ai également ceci qui ne fonctionne toujours pas : local ip_module = fibaro:get(fibaro:getSelfId(),"IPAddress") HC2 = Net.FHttp(ip_module) HC2:setBasicAuthentication("login", "psw") response = HC2:GET("/preset.htm?set1=1")
  14. J'ai également essayé avec la commande suivante : ça marche pas ! local ip_module = fibaro:get(fibaro:getSelfId(),"IPAddress") HC2 = Net.FHttp(ip_module) response = HC2:GET("/preset.htm?set1=1")
  15. J'ai un souci, j'ai bien câblé le tout comme indiqué. J'arrive à piloter ma sirène depuis mon IPX800V4 (on/off), mais je n'arrive pas à piloter mon IPX depuis ma HC2. J'ai bien configuré mon VD comme indiqué (en code LUA) de la façon suivante : mon bouton On avec le code suivant : IPX = Net.FHttp("192.168.0.50", 80) response = IPX:GET("/preset.htm?led1=1") mon bouton Off avec le code suivant : IPX = Net.FHttp("192.168.0.50", 80) response = IPX:GET("/preset.htm?led1=0") J'ai même ajouté une règle sur mon pare-feu afin d'autoriser le port 80 à dialoguer en TCP/UDP dans les 2 sens entre ma HC2 et mon IPX. C'est ma première configuration d'un IPX800V4. Désolé pour le côté newbe Hello @Moicphil tu n'aurais pas une petite idée ?
  16. MAM78

    Documentations Fibaro HCL et HC2

    Aller spécialement pour toi, j'ai ajouter l'indication fibarouk.co.uk sur les sources
  17. MAM78

    Documentations Fibaro HCL et HC2

    @Lazer "eh ouais mec" Ca fait bien une semaine que le lien est dispo. Je n'ai pas encore la flemme des copier/coller Comme tu peux le constater il y a 17 liens documentaires référencés
  18. MAM78

    Documentations Fibaro HCL et HC2

    Concernant les PDF c'est relativement simple dans certain cas lorsque tu as toute la documentation sur une seule page. Tu fais juste un impression avec un driver d'impression qui génère des PDF et le tour est joué. Sur Mac c'est encore plus simple puisque la fonction est directement disponible dans le menu Fichier puis Exporter au format PDF. CQFD
  19. MAM78

    Documentations Fibaro HCL et HC2

    est-ce celui-ci dont tu parles ? Résumé des Fonctions HC2 Source : (fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro.
  20. MAM78

    Documentations Fibaro HCL et HC2

    @Lazer tu peux STP me pointer le lien dont tu parles ?
  21. MAM78

    Support Gea

    quelle anticipation, vous m'impressionnez
  22. MAM78

    Documentations Fibaro HCL et HC2

    J'avais déjà mentionné les pages disponibles sous ton lien. A l'exception du lien ci-dessous dont le contenu était relativement limité mais que j'ai finalement ajouté quand même puisqu'il s'agit du lien du fabricant de nos boxes. Une introduction au langage Lua Source : (fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro. et un autre "Try LUA" qui m'envoi sur une page en chinois Try Lua
  23. MAM78

    Support Gea

    C'est top, une double initiative. Ca va être encore plus riche et plus rapide. Après tous ça il va falloir consolider vos codes et les rendre compatibles
  24. Après quelques temps, je me suis rendu compte d'une certaine limite à l'usage que cette solution, notamment lorsque l'on veut la solliciter la scène de façon intensive. En effet lorsqu'il y a un grand nombre d'appels de la scène créée dans un laps de temps très court, comme par exemple inférieur à la seconde (ou plus si, la scène effectue un grand nombre de traitements qui durent un certain temps), vous aurez un violant plantage de la Scène ou du VD qui sollicite la scène créée/appelée. Cela arrive dès lors que l'on dépasse le paramètrage du nombre maximum d'exécutions simultanées (Max. running instances) de la scène créée. Sachant que le maximum est limité à 10 instances simultanées. Donc avant de se lancer dans la création d'une scène comme un équivalent d'une fonction, il convient de se poser la question, combien de fois cette scène peut être appelée en parallèle.
  25. @Titof_44 Ce serait bien de partager ton code pour en faire profiter les autres et pour illustrer l'usage de cette fonction.
×
×
  • Créer...