-
Compteur de contenus
2 501 -
Inscription
-
Dernière visite
-
Jours gagnés
28
Tout ce qui a été posté par MAM78
-
@Nico tu es où en Alsace ? il m'arrive de venir en Alsace (Mulhouse et Strasbourg) un fois tous les 2 mois environ.
-
Je suis partant pour être un point de livraison/retrait sur Paris et ses alentours. A condition d'un paiement/versement Paypal ou autre sécurisé avant commande. Mais attention je serais en congés fin juillet ! Le pack de 3 revient à 427 $ (387$ + 40$ de frais de transport) soit environ 403 euros, soit 134 euros par pièce hors éventuels frais de douanes. J'ignore si les prix sont en hors taxes ou non ? @Massalia, @pepite, @BenjyNet intéressé ?
-
Ok merci pour vos réponses
-
Merci @Sakkhho cela a enfin fini par marcher. Sais-tu comment ce problème survient afin que je puisse m'en prévenir
-
J'ai tenté de décomposer la ligne suivante pour voir sur quelle instruction l'erreur se produit : local _x ={root="x_sonos_object", load=function(b) local c=_f:getGlobalValue(b.root) if string.len(c)>0 then local d=json.decode(c) if d and type(d)=="table" then return d else _f:debug("Unable to process data, check variable") end else _f:debug("No data found!") end end, set=function(b,e,d) local f=b:load() if f[e]then for g,h in pairs(d) do f[e][g]=h end else f[e]=d end; _f:setGlobal(b.root,json.encode(f)) end, get=function(b,e) local f=b: load() if f and type(f)=="table"then for g,h in pairs(f) do if tostring(g)==tostring(e or"") then return h end end end; return nil end} Mais maintenant j'ai l'erreur : [ERROR] 22:09:29: line 62: attempt to index local 'f' (a nil value) sur la ligne suivante : if f[e]then
-
oui elle existe bien avec comme valeur NaN
-
J'ai le message suivant : [ERROR] 19:19:20: line 7: attempt to concatenate local 'tempext' (a nil value) J'ai le problème depuis que je suis passé aux beta qui ont suivis la 4.110. Actuellement je suis en 4.120. Est-ce que l'un de vous peut faire un test ?
-
Bonjour j'ai également le même problème est-ce que l'un de vous pourrait faire le test. Tous fonctionnait avec la version V4.110 depuis avec les Beta et notamment la V4.120 ça ne fonctionne plus.
-
Moi aussi Envoyé de mon iPhone en utilisant Tapatalk Pro
-
Je confirme sujet du couple JSON/variables globales c'est pas top, notamment dans les cas d'accès simultanés à partir de VD/Scènes à une variable globale. Peut-être que je me suis trompé sur le choix de la boxe par rapport à Jeedom, mais j'ai eu une préférence sur l'interface utilisateur de la Fibaro qui est à mon gout plus WAF. Dommage que les plugins ne soient pas plus développés sur les HCx. La communauté côté Jeedon semble bien plus active de ce côté. L'avenir me dira si je me suis trompé Ok pas de PB, maintenant que je connais ta maladresse, je prendrais plus de recul
- 98 réponses
-
- 1
-
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
Merci @jojo trop tard, c'était déjà fait voir paragraphe sur les VD
- 25 réponses
-
tutoriel IPX800 V4 : Pilotage des relais
MAM78 a répondu à un(e) sujet de MAM78 dans GCE Electronics
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. -
Je viens d'intégré le lien .
- 25 réponses
-
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.
- 98 réponses
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
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
- 98 réponses
-
- 1
-
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
En finalité tu l'as modifiée comment ? Comme je te l'ai suggéré ?
-
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()
-
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.
-
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 "
- 215 réponses
-
- Module virtuel
- alarme
-
(et 1 en plus)
Étiqueté avec :
-
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 ?
- 215 réponses
-
- Module virtuel
- alarme
-
(et 1 en plus)
Étiqueté avec :
-
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
-
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
- 100 réponses
-
- 2
-
-
- Sirène
- Exterieure
-
(et 2 en plus)
Étiqueté avec :
-
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 ?
- 100 réponses
-
- Sirène
- Exterieure
-
(et 2 en plus)
Étiqueté avec :
-
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")
- 100 réponses
-
- Sirène
- Exterieure
-
(et 2 en plus)
Étiqueté avec :
-
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")
- 100 réponses
-
- Sirène
- Exterieure
-
(et 2 en plus)
Étiqueté avec :