Aller au contenu

Krikroff

Modérateurs
  • Compteur de contenus

    6 715
  • Inscription

  • Dernière visite

  • Jours gagnés

    124

Tout ce qui a été posté par Krikroff

  1. L'essentiel est que tout fonctionne maintenant ! L'explication est simple: L'authentification directe vers l'API de la HC2 prend la forme http://userID:password@server:port/etc... un second @ est interdit....
  2. Moi je trouve l'affichage LUA au top , pour les messages postés avant, il suffit d’éditer puis d'enregistrer...
  3. @moicphil: Pourquoi je suis hors-sujet ici ?
  4. Krikroff

    Bug export VD

    Fibaro connait ce bug, il complète celui ci http://bugzilla.fibaro.com/view.php?id=1122 et celui ci http://bugzilla.fibaro.com/view.php?id=1090
  5. Tu peux le trouver depuis mon profil sur le Forum Fibaro ou directement sur mon post dédié ici http://forum.fibaro.com/viewtopic.php?t=2995
  6. Pour la date je confirme c'est un simple: fibaro:call(_selfId, "setProperty", "ui.lblUpdate.value", os.date()); Pour l' IP deux solutions: soit une requête vers checkip.dyndns.com (toujours en service) ou bien pour les heureux possesseurs d 'une freebox Revolution mon plugin Freebox V6 pour Fibaro HC2 ( Plugin à l'origine de la création du framework LUA Tk.)
  7. Bib60, Avec le Toolkit tu apprendrais beaucoup sur la création de scène en LUA, il faut savoir que l'éditeur graphique est une "surcouche" et le HC2 exécute un code LUA. Avec le Toolkit tu peux voir le code LUA même pour les scènes "graphiques"
  8. Je confirme depuis la version 3.5xx le HC2 s'occupe de tout cela, il y a la possibilité de les afficher ou non dans l'interface. Pour la résolution complète des dead nodes attendez la sortie de la V4.xx dans quelques semaines / mois ou installez des wall plugs partout
  9. Krikroff

    Text-2-Speech Sonos

    Tout àfait possible en suivant les points soulevés avant.
  10. Moi je pense plus à Février ou Mars, le nouveau moteur Z-wave n'est toujours pas finalisé ... Cela vaut le coup nous aurons alors le trace route z-wave mais chut ! Je reste persuadé qu'a ce jour le HC2 n'est capable de communiquer qu'en directe avec les périphériques, vous verrez avec la V4.xx les deadnodes disparaitront... Pour SATEL, je pense surtout qu' il y a dans l' équipe d'ingé de Fibaro des anciens du spécialiste de l'alarme Je rejoins Shad sur les autres points en suspens
  11. Lorsque une valeur doit être renseignée dans la fameuse case verte, la liste déroulante n'est pas prise en compte par la box (oui c'est pas limpide ) Par exemple: ici je teste la consommation d'un Wall plug,
  12. Pourquoi le message mail n'est pas juste ?? Le script demande le réveil du nÅ“ud mort et envoi un mail pour prévenir que ce périphérique était en état mort... Le mail ne valide en rien le fait que l'action de réveil est soit valide ou non , pour cela il faut re-tester le nÅ“ud pour voir si il est réveillé, ce que je trouve inutile car pas fiable du tout sachant que le réveil peut être immédiat ou prendre 2 heure. Le but de ce type de script est d'optimiser son installation par détection des problèmes et surtout pas pour pallier définitivement aux nÅ“uds morts qui doivent être éradiqués pour obtenir une installation stable et surtout pérenne.
  13. Krikroff

    Text-2-Speech Sonos

    Peut être le & dans la requête avant: translate.google.com/translate_tts?tl=en&q= après: translate.google.com/translate_tts?tl=en&q= Et aussi le "Content-Length: 439" qui doit changer puisque la taille du corp de la requête change ().
  14. C'est certain il n'y a rien d'évident ;-) le message et pas limpide. Cette erreur signifie que la méthode n'existe pas ou bien la variable dans le cas d'une variable ;-) Oui passage obligé par un périphérique virtuel. Ps: envoyé de mon smartphone..
  15. La réponse est dans le message d'erreur. L'espace de nom .Net ne peut pas être utilisé dans une scène, uniquement dans un périphérique virtuel ;-)
  16. Krikroff

    Salut

    Salut Shad ;-), you're welcome!
  17. Salut martial, bienvenue àtoi ;-)
  18. C'est l'application de Steven ça non ? Pour échanger souvent avec lui il est sérieux, du beau boulot !
  19. Super i-magin, merci pour le tuto.Et avec Robert pas de problème pour le code
  20. Pourquoi utiliser une méthode POST alors que la requête fonctionne très bien en méthode GET depuis un navigateur ? --[[ %% properties %% globals --]] HC2 = Net.FHttp("192.168.0.91"); HC2:setBasicAuthentication("user","pass"); HC2:GET("/decoder_control.cgi?command=33");
  21. Le matériel: 1x Déshumidificateur Zibro D510 1x Everspring ST814 Temperature / Humidity Detector 1x Wallplug Fibaro La scène en LUA (le code n'est pas optimisé, ce n'est pas un Best Pratictice mais utilisable sans risque ) Le paramétrage: humidityTargetValue : Représente l'humidité relative désirée. Le node 18 est ici le ST814 Le node 35 est le Wall plug Le script est en fonction tous les jours de 11h à 19h --[[ %% autostart %% globals --]] -- Regulating humidity in a room with a dehumidifier. -- Copyright © 2013 Jean-christophe Vermandé fibaro:debug("HC2 start script at " .. os.date()); -- check script instance count in memory if (fibaro:countScenes() > 1) then fibaro:debug("Script already running."); fibaro:abort(); end local sourceTrigger = fibaro:getSourceTrigger(); local hysteresis = 2; local sensorValueCorrection = -8; local humidityTargetValue = 60; local _dtLastIgnition; function deviceControl(targetValue) local humidityValue = tonumber(fibaro:getValue(18, "value")) + sensorValueCorrection; local deviceState = tonumber(fibaro:getValue(35, "value")); --fibaro:debug("device state: " .. deviceState .. " relative humidity: " .. humidityValue); if (humidityValue > targetValue) then -- TURN ON if (deviceState==0) then fibaro:call(35, "turnOn"); fibaro:debug("Date of the last ignition is " .. (_dtLastIgnition or "unknown.")); _dtLastIgnition = os.date(); fibaro:debug(_dtLastIgnition .. " - device state: " .. deviceState .. " relative humidity: " .. humidityValue .. " -> device turned On"); end elseif (humidityValue < targetValue) then -- TURN OFF if (deviceState==1) then fibaro:call(35, "turnOff"); fibaro:debug(os.date() .. " - device state: " .. deviceState .. " relative humidity: " .. humidityValue .. " -> device turned Off"); end end end if (sourceTrigger["type"] == "autostart") then while true do local currentTime = tonumber(os.date("%H%M")); if ((currentTime >= tonumber(string.format("%02d%02d", "11", "00"))) and (currentTime <= tonumber(string.format("%02d%02d", "19", "00")))) then deviceControl(humidityTargetValue); else if (tonumber(fibaro:getValue(35, "value"))==1) then fibaro:call(35, "turnOff"); --fibaro:debug("force turnOff"); end end fibaro:sleep(5*60*1000); end else local currentTime = tonumber(os.date("%H%M")); local startSource = fibaro:getSourceTrigger(); if ( ((currentTime >= tonumber(string.format("%02d%02d", "11", "00"))) and (currentTime <= tonumber(string.format("%02d%02d", "19", "00")))) or startSource["type"] == "other") then deviceControl(humidityTargetValue); end end Une autre scène nous préviens grâce à la mesure de consommation du wall plug lorsque le déshumidificateur est plein
  22. Tout à commencé ici http://forum.fibaro.com/viewtopic.php?t=1894 Ce script peut servir à vérifier l'accès à un domaine et donc aussi sa connexion Internet. J'utilise une variable pour enregistrer le résultat: Cette variable n'est pas obligatoire, juste utile pour utiliser le résultat du script dans une scène. La limite de cette méthode pour le test de connexion est la disponibilité du domaine vers lequel pointe le script. --[[ %% properties %% globals --]] fibaro:log("Start process"); fibaro:sleep(2000); fibaro:log("<b>Check internet connection.</b>"); fibaro:sleep(2000); HC2 = Net.FHttp("dyn.com"); -- call domaine to check response, status, errorCode = HC2:GET("/"); -- check for error if errorCode == 0 then fibaro:setGlobal('Network Status', 1); fibaro:log("Internet connection is alive, http response status is " .. status); if tonumber(status) == 200 then fibaro:sleep(2000); fibaro:log("<b>The request has succeeded</b>"); end else fibaro:setGlobal('Network Status', 0); fibaro:log("<b>Internet is down, check your connection</b>"); end --EOF
  23. Tout est dans le titre J'ai publié ce code en premier sur le Forum Fibaro ici http://forum.fibaro.com/viewtopic.php?t=1870#15926 suite à une demande utilisateur. Modifier avec votre adresse IP, UserID et Password de votre HC2. HC2 = Net.FHttp("xxx.xxx.xxx.xxx"); HC2:setBasicAuthentication("admin","password"); response, status, errorCode = HC2:POST("/api/settings/reboot", "data=reboot"); if errorCode == 0 then fibaro:log(status); else fibaro:log("error"); end A utiliser par exemple dans le bouton d'un périphérique virtuel.
  24. Ce bout de code LUA permet de faire un Ping sur un équipement de votre réseau. Première publication sur le Forum Fibaro ici http://forum.fibaro.com/viewtopic.php?t=1927 Les variables sont les suivantes: deviceIp : Adresse IP du périphérique réseau à contacter. devicePort : Port maxRetryProcess : Nombre de tentatives pour contacter le périphérique. --[[ %% properties %% globals --]] -- Ping v 1.0.1 [05-2013] -- Copyright © 2013 Jean-christophe Vermandé fibaro:log("Start process"); local _deviceIp = "192.168.1.250"; local _devicePort = 80; local _maxRetryProcess = 5; -- recursive function to ping device local function _ping(retry) retry = retry or 0; --open the socket local tcpSocket = Net.FTcpSocket(_deviceIp, _devicePort); --set the read timeout tcpSocket:setReadTimeout(250); --notify user fibaro:log("Search on the local network, try #" .. retry .. " please wait..."); fibaro:sleep(250); --send packet local bytes, errorCode = tcpSocket:write("test"); --check for error if errorCode == 0 then return true; else if retry < _maxRetryProcess then fibaro:log("Retry process, please wait..."); fibaro:sleep(1000); return _ping(retry + 1); end return false; end end --ping device, secure with pcall to catch errors. local f, result = pcall(_ping); if (f) then if (result == true) then fibaro:log("Device has been found, is awake and listening."); else fibaro:log("Device was not found!"); end else fibaro:log("Error: " .. f); end Notez l'utilisation de la fonction LUA pcall qui permet l’exécution du code en mode "protégé" ou "encapsulé", c'est à dire qu' il ne lèvera pas d' erreur dans le processus de votre box si jamais le code provoquait une erreur. La box est protégée, vos scènes aussi .
  25. Celui-ci oui je l'éteins car il n'est utilisé que pour les sauvegardes et le streaming, un autre tourne 24h/24h...
×
×
  • Créer...