-
Compteur de contenus
2 515 -
Inscription
-
Dernière visite
-
Jours gagnés
28
Tout ce qui a été posté par MAM78
-
Ok, je vois mieux de quoi tu voulais parler. J'étais bien aller faire un tour de ce côté la lorsqu'il avait indiqué sa découverte de la possibilité de passer des paramètres à l'appel d'une scène. Je vais intégrer, mais ce n'est pas accessible au commun des mortels
- 33 réponses
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
@Steven comme indiqué dans notre conversation sur ton sujet HC2 - Ajouter du texte dans vos "debug". Je viens de faire le test sur la base de ta suggestion d'utiliser un Label pour tester la fin d'exécution. Mais comme indiquer ça ne fonctionne pas. Tu trouveras ci-joint les 2 VD et la scène utilisés. Si tu regardes dans la log du bouton du VD Message Synology. il y a des messages qui sont mangés Ai-je bien appliqué le principe que tu me suggérais ? Syslog_Message_Demo.vfib.json Syslog_Message.vfib.json le code de ma scène : --[[ %% properties %% events %% globals --]] -------------------------------------------------- -- Scene : Syslog Message -- Author : Mam78 -- Version : 0.1 -- Date : March 2017 -------------------------------------------------- -- Prerequisites for use you need to : -- install the corresponding VD "Syslog Message" -- modify below variable vd_id with the number of the corresponding VD "Syslog Message" -- change the icon of the scene -------------------------------------------------- -- For use it from a VD or Scene you need call them like this : -- fibaro:startScene(40, {{sev = "debug"}, {orig= "VD/Scene Name"}, {mess = "SysLog text message"}}) -- first parameter (40) is the number this Scene -- Sev = the severity (textual) of the message, see the value bilow (not the number) -- Orig = the nome of the VD ou Scene who call this Scene to indicate the origine of the message -- mess = Your message -------------------------------------------------- ----------------------- -- User settings to be changed ----------------------- local vd_id = 179 -- id number off the corresponding VD "Syslog Message" local sc_id = 40 -- id off the presence scene local VG_syslog_message ="syslog_message" -- Variable name if you use Gabal Variable ----------------------- -- No more change under this ----------------------- ----------------------- -- number button off used in the corresponding VD "Syslog Message" ----------------------- local bt_nb = 1 local debug = true -- or true local Max_Elapsed_Time = 10 -- seconds, used for timeout local syslog_hostname = "" ----------------------- -- 8 level off severity ----------------------- local severity = { ["emergency"] = 0, ["alert"] = 1, ["critical"] = 2, ["error"] = 3, ["warning"] = 4, ["notice"] = 5, ["info"] = 6, ["debug"] = 7 } ----------------------- -- load the args from the scene ----------------------- local arg_sev = nil local arg_orig = nil local arg_mess = nil local params = fibaro:args() if (params) then for k, v in ipairs(params) do if (v.sev) then arg_sev = v.sev end if (v.orig) then arg_orig = v.orig end if (v.mess) then arg_mess = v.mess end end end var_abort=false if arg_sev and arg_orig and arg_mess then ----------------------- -- this code is for waiting the end of the precedente sending ----------------------- startTime = os.time() local save_scenecount = fibaro:countScenes(sc_id) while (fibaro:getValue(vd_id, "ui.Label2.value") == "OUI") do fibaro:sleep(2000) if (timeout) then -- en cas d attente trop longue, prevoir une sortie fibaro:abort() var_abort=true end end -- while true do -- local elapsedTime = os.difftime(os.time(), startTime or 0) -- if elapsedTime > Max_Elapsed_Time then -- if debug then fibaro:debug("Send message scene timeout : "..arg_sev.." ("..severity[arg_sev]..")") end -- break -- end -- if debug then fibaro:debug("Nbr Scene = "..fibaro:countScenes(sc_id).." Elapsed time : " .. elapsedTime.." : "..arg_sev.." ("..severity[arg_sev]..")") end -- if fibaro:countScenes(sc_id) < save_scenecount or fibaro:countScenes(sc_id) == 1 then -- break -- else -- -- fibaro:sleep(1 * 1000) -- Wait 1 seconds -- end -- end -- if fibaro:countScenes(sc_id) <=1 then if not(var_abort) then ----------------------- -- Set the label under process on YES ----------------------- fibaro:call(vd_id, "setProperty", "ui.Label2.value", "YES") if debug then fibaro:debug("Message : "..arg_mess) end ----------------------- -- Calculate the priority for the message ----------------------- local syslog_severity = severity[arg_sev] local syslog_facility = 1 -- 1 = user category local syslog_priority = syslog_facility*8 + (syslog_severity%8) ----------------------- -- Remplace de spaces character by "_" because space is forbidden ----------------------- local syslog_origine = string.gsub(arg_orig, " ", "_") -- Space is forbidden local syslog_message = ("<%d>%s %s %s: %s\n"):format (syslog_priority, os.date "%b %d %H:%M:%S", syslog_hostname, syslog_origine , arg_mess) ----------------------- -- Set the Gabal Variable used by the virtual device "Message Syslog" ----------------------- --fibaro:setGlobal(VG_syslog_message, syslog_message) ----------------------- -- Set the label on the virtual device "Message Syslog" ----------------------- fibaro:call(vd_id, "setProperty", "ui.label_1_0.value", syslog_message) ----------------------- -- push the button on the virtual device "Message Syslog" ----------------------- fibaro:call(vd_id, "pressButton", bt_nb) else fibaro:debug("Sortie de la boucle pour timeout") end else fibaro:debug("There are missing parameters") end -----------------------
-
J'ai déjà tenté l'expérience, mais j'ai constaté que 2 traitements lancés quasiment en simultané arrivent à détecter le passage à "NON" avant que l'un des 2 ai le temps de positionner le label à "OUI". Si tu regardes mon code, que j'avais déjà fait l'essai, mes appels aux label existent encore dans ma scène et mon VD. Regarde le VD de démo et supprime la tempo d'une seconde et tu devrais constater la même chose. Si tu as le temps de faire le test avec ma scène et mes 2 VD. J'aimerais bien savoir si tu as le même comportement. D'où mon problème d'exécution simultanée (ce VD de démo envoi 8 messages en appelant ma scène de manière très rapide, ce serai la même chose sur d'un coup j'avais plusieurs Scènes ou VD qui demandaient l'envoi de messages en parallèle). C'est un cas que je ne peux pas exclure. Désolé, mais je fais du hors sujet. Si tu le souhaites, nous pouvons poursuivre dans mon TUTO sur l'envoi de message Syslog
-
@pepite j'ai bien intégré ton ton Tuto sur les API-LUA et API-HTTP. Mais pour le reste je ne vois pas de quoi tu parles ci-dessous : http://updateHC2/"firmw"' et /opt/fibaro/scene.... Si tu peux me donner les liens en question
- 33 réponses
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
En fait j'ai plusieurs instance d'une scène et je souhaite m'assurer celles-ci soit exécutées dans l'ordre des demandes d'exécutions. Voir dans mon TUTO sur l'envoi de passage dans la Syslog. En particulier le point dans la partie évolutions à venir (en rouge). J'ai constaté que cet ordre n'est pas forcément respecté. J'ai bien utilisé la fonction fibaro:countScenes() mais celle-ci ne réponds que partiellement à mon besoin ci-dessus.
-
Dans le même registre. Est-ce qu'il existe un identifiant unique désignant une instance de scène ? J'aimerait pouvoir l'utiliser pour s'assurer de l'exécution dans l'ordre dans lesquels les instances sont lancées. J'ai bien pensé utiliser la date et heure de lancement comme identifiant mais je ne sais pas jusqu'à quelle niveau de précision nous avons accès à cette heure d'exécution. (miliseconde ?)
-
@pepite elle est où ta documentation sur les API
- 33 réponses
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
Top merci pour cette info. Mais comment ont fait pour utiliser ces fonctions ?
- 33 réponses
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
J'ai une suggestion pour les admin. Vous pourriez peut-être ajouter ce sujet au menu "Outils" du forum sous le nom "Documentations" afin de pouvoir y accéder rapidement
- 33 réponses
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
Bibliothèque de la Documentations Fibaro HCL et HC2 1) Introduction : Je débute sur ma box HC2 et j'apprécie notamment de pouvoir développer ses propres scripts en LUA et Bloc, mais je suis souvent confronté à la difficulté de trouver des fonctions, propriétés, API, leur syntaxe, ... Le site apporte une grande richesse d'informations. Mais celles-ci sont dispersées et pas toujours facile à trouver. J'ai donc pris l'initiative de créer ce sujet pour y référencer les différentes documentations disponibles (sur le site ou externes) afin facilement les retrouver. J'aurais pu les mettre dans mes favoris de mon navigateur, mais c'est quand même plus cool de les partager avec vous Ce sujet est le votre. C'est grâce à vous qu'il va vivre et vous servir. Merci donc de m'indiquer les liens à ajouter qui vous semble utiles, idem pour vos suggestions de rubriques. 2) Fonctions et API LUA Documentation générale sur LUA : Tutoriel du Langage LUA 5.2 Source : (wxlua.developpez.com) Auteur : Claude Urban Langue : français Commentaire : Très bon tutoriel sur la programmation en LUA. Manuel Officiel LUA 5.2 Source : (lua.org) Auteur : Lua Org Langue : anglais Commentaire : Documentation officielle des commandes LUA. Documentation Spécifique pour nos box Fibaro : Résumé des Fonctions HC2 Source : (domotique-fibaro.fr) Auteur : @Tomzebest Langue : français Commentaire : Traduction en français de la documentation Fibaro Résumé des Fonctions HC2 Source : (fibarouk.co.uk) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro. Introduction à la programmation LUA sur HC2 Source : (domotique-store.fr) Auteur : Jérôme Massiaux Langue : français Commentaire : Vous apprendrez les bases de la programmation de scènes via le langage Lua. Une introduction au langage Lua Source : (fibarouk.co.uk) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro. Liste Api-Lua & Api-Http Pour Hc2 Source : (domotique-fibaro.fr) Auteur : @pepite Langue : français Commentaire : Tutorial sur les API-LUA et API-HTTP Introduction aux API via des requêtes HTTP Source : (domotique-store.fr) Auteur : Martial Villemin Langue : français Commentaire : exemple simple, pour allumer une lumière via de simples requêtes HTTP http://l'adresse IP de votre box/docs/ Source : (developer.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation Active de l'API Rest (vous pouvez tester en live les fonctions FGHC Rest API Functions Source : (developer.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro de l'API Rest (pour les développer) Nécessite un compte. FGHC LUA API Source : (developer.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro des fonction LUA de l'API (pour les développer) Nécessite un compte. FGHC Plugins Creating Source : (developer.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro sur le développement de Plugins) Nécessite un compte. Matrice Fonctions / Type de Devices Source : (fibarouk.co.uk) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro. http://updatehc2.fibaro.com/4.110/ Source : (fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Ressources disponibles dans les Upgrade de versions. Attention de remplacer 4.110 par la version correspondante à votre HC2. Il convient de d'extraire le contenu du fichier patch.tar.gz sur votre disque parcourir les arborescences et regarder le contenu des fichier présents. notamment celui-ci qui liste les fonctions disponible dans les API pour les scènes : patch/opt/fibaro/FibaroSceneAPI.lua Ce n'est pas forcement accessible à tous, mais vous pourriez y trouver des informations intéressantes. n'oubliez pas de les partager Développement spécifique pour nos HC2: Gestionnaire d'Evénements Automatique (GEA) Auteur : @Steven Langue : français Commentaire : contrôler, à intervalle régulier, l'état de votre environnement pendant une durée déterminée afin de vous avertir d'éventuel soucis et si nécessaire d'effectuer automatiquement certaines actions Base de connaissances sur les produits Fibaro : Base de Connaissances Source : (manuals.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Base de connaissances sur les produits Fibaro 3) Utilisation de nos Home Center Plate-forme eLearning Fibaro Source : (e-learning.fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation officielle de Fibaro sur le développement de Plugins) Nécessite un compte. Présentation Box Zwave: Home Center v2 de Fibaro Source : (maison-et-domotique.com) Auteur : Cédric Locqueneux Langue : français Commentaire : Présentation de la Home Center v2 de Fibaro. 4) Utilisation des blocs graphiques Création de scénarios Source : (blog.domadoo.fr) Auteur : Bruno Langue : français Commentaire : Tutoriels pour la création de scénarios 5) Devices Fibaro FIBARO Devices Manuels Source : (fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Documentation pour chacun de module de marque Fibaro. 6) Androïd et iOS Paramètrage Appli Fibaro pour Android et iOS Source : (fibaro.com) Auteur : Fibaro Langue : anglais Commentaire : Comment configurer des raccourcis sur votre téléphone Androïd et iOS 7) Utilitaires Fibaro HC HTTP Commands Source : (smarthome.com) Auteur : Brad Arthur Langue : anglais Commentaire : Il permet de générer ane commande http selon un ensemble de paramètre. Si vous ne voulez pas mettre d'infos sensible, mettez zzzz à la place de password et remplacer manuellement ensuite.
- 33 réponses
-
- 6
-
-
- hc2
- documentation
-
(et 1 en plus)
Étiqueté avec :
-
Je veux bien essayé, mais je suis loin d'avoir son niveau. Ca risque de ne pas être très joli
- 98 réponses
-
- 1
-
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
Merci @Steven tu as la même pour le nom de la scène ? sinon elles sont documentés ou ces propriétés. Je n'ai pas identifié un lieu qui référence toutes les documentations existantes. Est-ce qu'il y a un post qui nous donne tout ça ? Si ça n'existe pas je veux bien m'en charger de le créer. Mais il faudra me donner les liens.
-
Notre amis @Steven devrait pouvoir nous arranger cela
- 98 réponses
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
Ca y est la première Scène (utilisant les passages de paramètres) permettant de : Centraliser l'ensemble des logs de toutes les scènes et VD. Notamment celles les plus critiques qui permettrait d'avoir une vision globale sur les problèmes rencontrées. Suggestion de @Gazous ==> C'est fait par @MAM78 via un serveur Syslog (exemple Synology) est c'est disponible ici : Envoi de Logs vers un serveur syslog (exemple : Synology)
- 98 réponses
-
- figaro:args()
- paramètre
-
(et 1 en plus)
Étiqueté avec :
-
Pourquoi ce n'est pas possible, ils n'ont qu'à l'ajouter dans les Scènes
-
Hello, Je viens de vous livrer une nouvelle version de ma fonction d'envoi de message dans la Logs vers un serveur Syslog. Voir 1er Tuto. Elle est constituée de 2 parties : Une scène que l'on appelle depuis nos VD ou nos Scènes pour envoyer les messages. Cette scène appel un VD qui se charge lancer les commandes d'écriture dans la Syslog Un VD qui lance les commandes d'écriture dans la Syslog. Je suis obligé de construire cette fonction en 2 parties (VD et Scènes) du fait que la commande Net.FUdpSocket() existe uniquement dans les VD et non dans les scènes. Dès que l'un de vous me trouve une solution pour faire la même chose que la fonction Net.FUdpSocket() dans une scène, je fusionnerais les 2 parties. Vous trouverez également un VD DEMO qui vous permet de tester la fonction d'envoi de message dans la Logs vers un serveur Syslog.
-
Tu lis dans mes pensées
-
@Steven ou @Lazer désolé de faire un petit hors sujet, mais pourriez-vous m'indiquer comment trouver l'id et le nom de la scène dans laquelle on est. Pour un VD je vois bien la fonction figaro:getSelfId (seulement disponible pour les VD) mais pour une scène comment on fait ? Vous pouvez me répondre MP, ensuite, je supprimerais ce message
-
Génial, c'est exactement ce que je voulais ajouter à la scène générique pour tous types de messages. Cf. le Tuto pour les passages d'args pour les scènes.
-
Pourriez-vous m'indiquer si lorsque l'on dépose un message sur le forum Fibaro officiel, il y a qu'un de chez figaro pour traiter nos messages. J'ai remarqué le message suivant sur la page dédié au administrateurs : Temporary absence of main administrator 01/17/17 Dear users, due to longer absence of our main administrator, we will provide support on forum with help of other administrators until the end of the month. Our main administrator will be back on February. We are sorry for the inconvenience and thank you for your understanding. Cela ne donne guère l'impression qu'ils soient présents sur leur forum pour leur client. Nous sommes au mois de mars et toujours pas d'admin. au bout d'un mois et demi Je connais peu d'entreprises qui abandonnent leur client pendant une si longue période ?
-
Je sèche sur la transposition de mon VD en Scènes puisque les fonctions Net.FUdpSocket() et Net.FTcpSocket() n'existent pas dans les scènes. Je cherche désespérément une autre façon d'envoyer une trame vers un serveur (adresse ip, port, message). Tu aurais une idée ?
-
Hello @Sakkhho est-ce que tu as vu mon tuto sur l'écriture dans la syslog de nos Synology ?
-
Précision, les push ne sont générés que pour les logs générés par le NAS lui-même pas ceux provenant d'autres sources. Cf. celles que nous générons par le présent module.
-
@Sakkhho en attendant d'avoir l'explication de comment ajouter le l'exécution de la scène dans GEA tu peux modifier la scène WatchDog comme je viens de l'expliquer dans le Tuto.
