Aller au contenu

mprinfo

Membres confirmés
  • Compteur de contenus

    14 328
  • Inscription

  • Dernière visite

  • Jours gagnés

    239

Tout ce qui a été posté par mprinfo

  1. par contre pour le message il serait bien que l'on récupère le nom de la porte sur le module qui surveille la porte car si on a plusieurs porte le message n'est pas le même ?
  2. t’inquiète je connaissais pas vrai les HUE donc j'en ai acheté pour voir
  3. non je voulais que tu expliques pourquoi autostart. Je pensé que tu voulais mettre cela pour que l'on reçoive un message lors d'un démarrage de la box comme cette commande permet d exécuter le script au démarrage.
  4. j'ai donc ajouter l'entête pour dire qu'a priori on partirai sur une scéne. Par contre je ne mets pas autostart car je ne vois pas bien a quoi cela peu servir Voici un tuto sur l'entéte des scénes et leurs utilisation : http://www.domotique-fibaro.fr/index.php/topic/4153-tout-sur-le-d%C3%A9clenchement-dune-sc%C3%A9ne-en-lua-by-steven/#entry61430
  5. @pépite je voyais cela aussi comme ça, dans une scène mais peut être que d'autre membres on une autre idées Par contre je ne vois pas pourquoi autosart ? puisque tu as un trigger "un trigger et un déclencheur qui va permettre de lire la scéne, le trigger ne peut être utiliser que dans les scénes"
  6. le but c'est de participer d’échanger des idées afin que tout le monde même débutant puisse faire quelque chose de sympas sur la hc2 et pourquoi pas une fois ce sujet résolu débattre ensemble pour un autre exercice. Donc dites ce que vous voulez que ce programme fasse, le code on s'en fou un peu il y a assez de membre qui pourront nous aider.
  7. merci le but ce n'est pas que d' écrire du code. le but c'est de discuter ensemble de ce que l'on aimerai faire ou plutot avoir sur notre box pour être averti lorsqu'une porte est ouverte ou fermer. Donc n'hésite pas a intervenir par exemple j'aimerai pouvoir mettre le tel de ma femme et le miens
  8. Je crois que j'ai dis un connerie lol c'est pas l'api de la hc2 que l'on veut pffff mais IP des Hues + port 80
  9. donc toi pépite tu partirais sur une scéne ? Pourquoi %% autostart ?
  10. Non depuis que j ai fais un soft reconfiguration ca l air d être bon
  11. bonjour monsieur GEO tortue lol sur To7 et Mo5 Oui mais Lazer c'est un petit jeune mais si il va bientôt prendre un an de plus
  12. oui avec le 11111 pour utiliser le localhost en interne en fait je me débrouille en réseau mais j'ai jamais utiliser d'api il faut aussi que j'arrive a voir pour le json comment ça arrive pour que je comprenne car je l'utilise mais je sais pas comment c'est encoder merci pour les conseils
  13. effectivement c'est moicphil qui en a fait un je vais essayer d'en faire un cela me fera un exercice pour comprendre car a partir de la ligne 28 a 42 c'est chaud a par les print je suis une bille en API
  14. Merci HANSOLO il va falloir que je teste cela j'ai pas de fgd pour faire le trigger mais je vais piquer ton code pour l'utiliser avec le slider d'un VD
  15. donc ok je pense qu'il faut faire deux type de groupe et d'adapté le lua qu'en c'est possible au scène bloc et pour ceux qui feront du scène bloc d'écrire la scène en lua pour HC2. Pas facile tout cela lol
  16. Peut on crée des variables globales ? le soucis ça va pas être aussi précis qu'avec le lua pour envoyer les messages personnaliser. Il va falloir que je me mette au scène bloc lol j'utilise rarement car je n'aime pas trop le générateur de codes. Mais ok on peut faire une version HC2 et faire un équivalent en scène bloc
  17. Le probléme c'est que je n'ai pas de HCL donc pas facile effectivement d'arriver a faire la même chose sur une hcl. Ta réflexion est bonne mais comment faire ?
  18. non c'est moi qui a la compréhension difficile d’où mon avatar lol
  19. (pas de type de module et la box me propose de télécharger le template mais ils fonctionnent) mais j'ai la trouille excuse moi j'ai mal compris dsl
  20. Je ne connais pas du tout la HCL le but de l'exercice au départ c'est pour apprendre par l'exemple le lua mais pas de soucis si tu peux donner un coup de mains pour l'adapter a la HCL c'est vrai que dans l'idéal il serait bien que cela fonctionne sur HCL et HC2
  21. @Shyrka973 Telecharger le template j'ai fais aussi un tuto a ce sujet @aston76 nico a raison c'est la meilleur solution
  22. C'est le but de cette exercice. Apprendre le Lua pour ceux qui ne connaissent pas ou peu ce langage
  23. Comme nous l'avons fais avec quelques membres du forum (VD Météo) je vous propose de développer un script en groupe Niveau : Débutant Je demande donc au pro de ne pas mettre la solution Merci 1 - Je désire envoyer une notification a chaque fois que j'ouvre et ferme une porte 2 - il faut que le code soit le plus générique possible 3 - il faut que le l'on puisse l'utilisé avec plusieurs téléphones 4 - il faut que le script prenne en compte au maximum tout les exigences des participants 5 - On pourra aussi adapter ce code pour envoyer un SMS a la place d'un PUSH A la fin un des participant devra faire un tuto pour expliquer le fonctionnement voici la commande pour envoyer une notification fibaro:call(ID, "sendPush", "Test Notification HC2") Vous débutez et vous voulez apprendre cette exercice et pour vous il n'y a pas de questions bête ce qui est bête c'est de ne pas poser la question c'est partie Si vous n'avez pas d'idée mais que le sujet vous intéresse posté simplement "Je Participe" Voici un début de code que je propose : --[[ %% properties 69 value 53 value 73 value %% globals --]] local IdSMS = 181 -- récuperation de la variable global instance freesms local SourceTrigger = fibaro:getSourceTrigger() -- on demande au système de récupérer (get) l'origine (Source) du déclenchement de la scène (Trigger) fibaro:debug('ID Plugin SMS = ' ..IdSMS) if SourceTrigger['type'] == 'property' then -- si l'origine du déclenchement de la scène est la modification d'une propriété d'un module surveillée dans l'entête alors local id = SourceTrigger['deviceID'] -- Récuperation de l'id du déclencheur local Name = fibaro:getName(id) -- Récuperation Nom du module déclencheur local MaPorte = fibaro:getValue(id, 'value' ) -- récuperation de la valeur de l'id déclencheur local MessageSms = ('La ' ..Name) if (MaPorte == '0') then fibaro:call(IdSMS, "sendPush", MessageSms .." est Fermee") -- envoi un push fibaro:debug( 'Fermer' ) else fibaro:call(IdSMS, "sendPush", MessageSms .." est Ouverte") -- envoi un push fibaro:debug( 'Ouverte' ) end elseif SourceTrigger['type'] == 'other' then -- sinon si l'origine du déclenchement de la scène est autre alors fibaro:call(IdSMS, "sendPush", "Message test Home Center 2"); fibaro:debug('La scène a été lancée manuellement') end Script pour plusieurs Téléphones Réalisé par un membre du forum Merci aussi a Pépite pour son aide --[[ %% autostart %% properties 69 value 53 value 73 value --]] -- ================================================ -- PREPARATION DU CODE, ON CREER LES FONCTIONS QUE -- NOUS ALLONS DEVOIR APPELER PAR LA SUITE -- Dans notre cas, il y a au moins 2 fonctions : -- une pour l'envoi du message -- une pour obtenir les informations du module et son état -- -- Une fonction est un morceau de code que nous pouvons appeler -- plusieurs fois. Elle peux recevoir des paramètres. -- Une fonction peux exister sans pour autant être utilisée -- ================================================ -- ================================================ -- Envoi un message sur un ou plusieurs portables -- ---------------------------------------------------------------------------------- -- Parmètre : -- idPortables : numéro d'un portable ou tableau de plusieurs portable -- message : message à envoyer -- Exemple : -- sendPush(23, "Envoi d'un message simple") -- sendPush({23,25,27}, "Envoi a plusieurs destinataires") -- ================================================ function sendPush(idPortables, message) if (type(idPortables) == "table") then -- Si nous avons plusieurs numéros dans un tableau {} for i = 1, #idPortables do -- On envoi le message sur tout les portables fibaro:call(idPortables[i], "sendPush", message) end fibaro:debug(string.format("Pushs envoyés : %s", message)) elseif (type(idPortables) == "number") then -- Si nous avons un seul numéro de portable fibaro:call(idPortables, "sendPush", message) fibaro:debug(string.format("Push envoyé : %s", message)) else fibaro:debug(string.format("Erreur : le numéro %s n'est pas valable", idPortables)) end end -- ================================================ -- Retourne les information sur un device -- ---------------------------------------------------------------------------------- -- Parmètre : -- deviceId : l'dientifiant du device -- Exemple : -- local message = getDeviceInfo(69) -- ================================================ function getDeviceInfo(deviceId) local etat = "ouverte" if (fibaro:getValue(deviceId, 'value' ) == "0") then etat = "ferme" end return string.format("La %s est %s.", fibaro:getName(deviceId), etat) end -- ================================================ -- FIN DE LA PREPARATION DU CODE -- ================================================ -- ================================================ -- DEBUT DU CODE PRINCIPAL -- ================================================ -- Déclaration du/des numéros de portables local idportables = 181 -- local idportables = {23, 24, 25} -- Le déclencheur de cette scène, va nous permettre de savoir qui et -- comment cette scène a été démarrée local SourceTrigger = fibaro:getSourceTrigger() if (SourceTrigger['type'] == 'property') then -- si la scène a été démarrée par un "device", on va récupérer -- les informations du device local message = getDeviceInfo(SourceTrigger['deviceID']) -- puis l'envoyer sur les portables sendPush(idportables, message) elseif (SourceTrigger['type'] == 'other') then -- Si la scène a été démarrée manuellement sendPush(idportables, string.format("La scène a été lancée le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) elseif (SourceTrigger['type'] == 'autostart') then -- Si la scène a été démarrée par une sauvegarde de cette scène -- ou le redémarrage de la box sendPush(portables, string.format("La box a démarré le %s a %s", os.date("%d/%m/%Y"), os.date("%R"))) end
  24. Si vous rencontrez des problèmes avec le code de Krikroff lorsque vous utilisez une variable globales Voici une solution c'est pas très propre comme solution mais ça fonctionne --[[ %% globals FreeSms --]] local username = "xxxxxxxxx" local password = "xxxxxxxxx" local message = fibaro:getGlobalValue("FreeSms") local http = net.HTTPClient({ timeout = 2000 }) fibaro:debug("Message a Envoyer : " ..message) http:request('https://smsapi.free-mobile.fr/sendmsg?'..string.format("user=%s&pass=%s&msg=%s", username, password, message), { options = { method = 'POST', headers = { ["Content-Type"] = "application/x-www-form-urlencoded" } }, success = function(data) print('At ' .. os.date() .. ' - status = ' .. data.status) end, error = function(err) print('error = ' .. err) end }) fibaro:setGlobal("FreeSms", "") j'ai ajouter cette ligne afin de vider la variable globale ce qui provoque un code 400 donc pas de sms envoyer lors du vidage fibaro:setGlobal("FreeSms", "")
  25. Tu vas dans la scène ou tu as copier le code de krikroff l'écran debug doit te donner un code
×
×
  • Créer...