Aller au contenu

Steven

Membres confirmés
  • Compteur de contenus

    3 939
  • Inscription

  • Dernière visite

Réputation sur la communauté

1 994 Excellent

1 abonné

À propos de Steven

  • Rang
    Maitre Yoda du forum
  • Date de naissance 18/04/1971

Profile Information

  • Sexe :
    Homme
  • Ville :
    Valleiry, Haute-Savoie
  • Intéret :
    Domotique, Fitness et programmation
  • Box
    Home Center 2
  • Version
    4.154 Beta

Visiteurs récents du profil

1 912 visualisations du profil
  1. Impérihome Et Hc2

    Ok, ils ont activé manuellement ma licence dans l'heure. Un support qui a bien fait son job.
  2. quelle assistant vocale me recommander Vous ?

    Pour @Lazer
  3. Impérihome Et Hc2

    Situation intéressante : la version Pro a été supprimée du Play Store. Sur ma tablette, j'ai la version Pro et Standard, lors de la mise à jour, rien ne m'a été demandé et je bénéficie donc de toutes les options. Sur mon téléphone, je n'avais plus Impérihome, je l'ai donc réinstallé mais comme la version Pro à disparu, je ne peux donc pas l'installer et il me demande donc de payer l'abonnement. J'ai écrit au support.
  4. Connecter une Zibase à une HC2

    Je n'utilise plus ma Zibase pour l'instant, mais pourrais-tu faire un test. Changer une variable de la Zibase selon l'état de la porte du garage et voir si le fichier sensors.xml prend en compte cette variable dans la section : <vars> <var num="0" val="0"/> <var num="1" val="0"/> <var num="2" val="0"/> <var num="3" val="0"/> <var num="4" val="0"/> <var num="5" val="0"/> <var num="6" val="0"/> <var num="7" val="0"/> <var num="8" val="0"/> <var num="9" val="0"/> <var num="10" val="0"/> <var num="11" val="0"/> <var num="12" val="0"/> <var num="13" val="0"/> <var num="14" val="0"/> <var num="15" val="2"/> <var num="16" val="0"/> <var num="17" val="1"/> <var num="18" val="-1"/> <var num="19" val="-1"/> <var num="20" val="243"/> <var num="21" val="174"/> <var num="22" val="0"/> <var num="23" val="0"/> <var num="24" val="190"/> <var num="25" val="0"/> <var num="26" val="-1"/> <var num="27" val="-1"/> <var num="28" val="-1"/> <var num="29" val="500"/> <var num="30" val="1"/> <var num="31" val="-32762"/> </vars> Si cela fonctionne, on pourra ce baser là dessus.
  5. Connecter une Zibase à une HC2

    @minos J'ai tout réinstallé le VD et j'ai bien la remontée de mon CSXXXXXXX_V1 Voici le code que j'ai dans mon VD derrière le bouton Rafraichir. -- This script will request sensors.xml file from a Zibase -- and use it to change global variables. -- Version = "1.0.0" -- Author = "Domotique-Info.fr (Steven Piccand)" -- Info = "Memory is preserved: Object are only load once in memory"-- This program is free software: you can redistribute it and/or modify -- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. -- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. -- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. local maj = 30 -- Durée en secondes de la mise à jour -- -------------------------------------------------------------------------------------------------------------- -- Check that one and only one instance is in memory -- -------------------------------------------------------------------------------------------------------------- if ((not Zibase) or (Zibase.errors >= 5)) then Zibase = { errors = 0 } -- -------------------------------------------------------------------------------------------------------------- -- Miscellaneous -- -------------------------------------------------------------------------------------------------------------- Zibase.url = fibaro:get(fibaro:getSelfId(), 'IPAddress') Zibase.port = fibaro:get(fibaro:getSelfId(), 'TCPPort') -- -------------------------------------------------------------------------------------------------------------- -- Get the XML from the zibase and return it as a LUA table -- -------------------------------------------------------------------------------------------------------------- Zibase.getXml = function() --local zibaseURL = Net.FHttp("zibase.net"); --response, status, errorCode = zibaseURL:GET("/m/get_xml_sensors.php?device="..Zibase.id.."&token="..Zibase.token); local zibaseURL = Net.FHttp(Zibase.url) response, status, errorCode = zibaseURL:GET("/sensors.xml") return Zibase.iif(response ~= nil, Zibase.newParser().ParseXmlText(response), "") end -- -------------------------------------------------------------------------------------------------------------- -- Put all Sensors values in global variables -- -------------------------------------------------------------------------------------------------------------- Zibase.putSensorsInMemory = function(id) local index = 1 local xmlTable = Zibase.getXml() if (xmlTable) then if (not xmlTable.doc) then Zibase.errors = Zibase.errors+1 return nil end local evs = xmlTable.doc.evs for i in pairs(evs:children()) do local idtmp = evs.ev[i]["@id"] if (evs.ev[i]["@pro"]) then idtmp = evs.ev[i]["@pro"] .. idtmp else if (evs.ev[i]["@type"] == "2") then idtmp = "VS" .. idtmp elseif (evs.ev[i]["@type"] == "6") then idtmp = "CS" .. idtmp elseif (evs.ev[i]["@type"] == "7") then idtmp = "OS" .. idtmp elseif (evs.ev[i]["@type"] == "8") then idtmp = "VR" .. idtmp elseif (evs.ev[i]["@type"] == "10") then idtmp = "WS" .. idtmp end end if (not id) then fibaro:setGlobal(idtmp.."_V1", evs.ev[i]["@v1"]) fibaro:setGlobal(idtmp.."_V2", evs.ev[i]["@v2"]) fibaro:debug(idtmp) elseif ((id ~= nil) and (idtmp == id)) then values = {} values[1] = evs.ev[i]["@v1"] values[2] = evs.ev[i]["@v2"] return values end end end return nil end -- -------------------------------------------------------------------------------------------------------------- -- Get the values (v1 and v2) of a sensor from the zibase -- -------------------------------------------------------------------------------------------------------------- Zibase.getSensorValues = function(id) if (id ~= nil) then return Zibase.putSensorsInMemory(id) else return nil end end -- -------------------------------------------------------------------------------------------------------------- -- Get the value from a variable from the zibase -- -------------------------------------------------------------------------------------------------------------- Zibase.getVariable = function(num) local xmlTable = Zibase.getXml() if (xmlTable) then if (not xmlTable.doc) then Zibase.errors = Zibase.errors+1 return "" end local vars = xmlTable.doc.vars for i in pairs(vars:children()) do if (vars.var[i]["@num"] == num) then return vars.var[i]["@val"] end end end return "" end -- ------------------------------------------------------------------------------------------------------------- -- Test the condition and return true or false param depending of the result -- param : condition (condition to test) -- iftrue (result to return of condition if true) -- iftfalse (result to return of condition if false) -- ------------------------------------------------------------------------------------------------------------- Zibase.iif = function(condition, iftrue, iffalse) if (condition) then return iftrue end return iffalse end -- ------------------------------------------------------------------------------------------------------------- -- Return a random number from 1 to 100 -- ------------------------------------------------------------------------------------------------------------- Zibase.random = function() return math.random(100) end -- ------------------------------------------------------------------------------------------------------------- -- This is a modified version of Corona-XML-Module by Jonathan Beebe which in turn -- is based on Alexander Makeev's Lua-only XML parser . -- see https://github.com/Cluain/Lua-Simple-XML-Parser -- ------------------------------------------------------------------------------------------------------------- Zibase.newParser = function() parseXml = {} parseXml.FromXmlString = function(value) value = string.gsub(value, "&#x([%x]+)%;", function(h) return string.char(tonumber(h, 16)) end); value = string.gsub(value, "&#([0-9]+)%;", function(h) return string.char(tonumber(h, 10)) end); value = string.gsub(value, "\"", "\""); value = string.gsub(value, "'", "'"); value = string.gsub(value, ">", ">"); value = string.gsub(value, "<", "<"); value = string.gsub(value, "&", "&"); return value; end parseXml.ParseArgs = function(node, s) string.gsub(s, "(%w+)=([\"'])(.-)%2", function(w, _, a) node:addProperty(w, parseXml.FromXmlString(a)) end) end parseXml.ParseXmlText = function(xmlText) local stack = {} local top = parseXml.newNode() table.insert(stack, top) local ni, c, label, xarg, empty local i, j = 1, 1 while true do ni, j, c, label, xarg, empty = string.find(xmlText, "<(%/?)([%w_:]+)(.-)(%/?)>", i) if not ni then break end local text = string.sub(xmlText, i, ni - 1); if not string.find(text, "^%s*$") then local lVal = (top:value() or "") .. parseXml.FromXmlString(text) stack[#stack]:setValue(lVal) end if empty == "/" then -- empty element tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) top:addChild(lNode) elseif c == "" then -- start tag local lNode = parseXml.newNode(label) parseXml.ParseArgs(lNode, xarg) table.insert(stack, lNode) top = lNode else -- end tag local toclose = table.remove(stack) -- remove top top = stack[#stack] if #stack < 1 then error("XmlParser: nothing to close with " .. label) end if toclose:name() ~= label then error("XmlParser: trying to close " .. toclose.name .. " with " .. label) end top:addChild(toclose) end i = j + 1 end local text = string.sub(xmlText, i); if #stack > 1 then error("XmlParser: unclosed " .. stack[#stack]:name()) end return top end parseXml.newNode = function(name) local node = {} node.___value = nil node.___name = name node.___children = {} node.___props = {} function node:value() return self.___value end function node:setValue(val) self.___value = val end function node:name() return self.___name end function node:setName(name) self.___name = name end function node:children() return self.___children end function node:numChildren() return #self.___children end function node:addChild(child) if self[child:name()] ~= nil then if type(self[child:name()].name) == "function" then local tempTable = {} table.insert(tempTable, self[child:name()]) self[child:name()] = tempTable end table.insert(self[child:name()], child) else self[child:name()] = child end table.insert(self.___children, child) end function node:properties() return self.___props end function node:numProperties() return #self.___props end function node:addProperty(name, value) local lName = "@" .. name if self[lName] ~= nil then if type(self[lName]) == "string" then local tempTable = {} table.insert(tempTable, self[lName]) self[lName] = tempTable end table.insert(self[lName], value) else self[lName] = value end table.insert(self.___props, { name = name, value = self[name] }) end return node end return parseXml; end end -- ------------------------------------------------------------------------------------------------------------- -- Send a message in the default chat frame if debug mode is activated -- param : sMessage (message to display) -- return : <none> -- ------------------------------------------------------------------------------------------------------------- Zibase.putSensorsInMemory() local time = os.date("le %d.%m.%Y à %H:%M:%S") if (Zibase.errors > 0) then time = "Erreur : " .. Zibase.errors end fibaro:call(fibaro:getSelfId(),"setProperty","ui.Label0.value",time)
  6. Android 1.20.0

    Version 1.20.0 Adds support for heating zone schedules on Android Watch Adds heating zone edit in Fibaro The Heat Controller detailed view Other minor improvements and bug fixes P.S Très pratique le changement depuis la montre.
  7. Domotiser porte garage sectionnelle

    Si tu as une alimentation proche de ton bouton pression. Tu peux simplement le remplacer par un z-wave. L'installation sera plus facile et tu n'auras par besoin de FGS. Je pense même que cela sera moins cher. https://www.domadoo.fr/fr/peripheriques/2060-tkb-home-tz66-s-interrupteur-simple-z-wave-blanc-6959174466508.html
  8. Domotiser porte garage sectionnelle

    J'avais écrit un article sur https://spiccand.wordpress.com/2014/03/26/domotiser-son-garage-un-cas-concret/ sur la domotisation de ma porte de garage. J'utilise le même détecteur d'ouverture/fermeture que @mprinfo. Regarde l'article, il y a tout ce que tu as besoin. P.S. Je vole l'idée du wall plug pour les longues vacances.
  9. HC2 : Philips HUE Manager

    Petite info (inutile ou pas ... voir directement pour la poubelle). Si les utilisateurs ont installé le plug-in Philips Hue dans leur HC2, il est aisé de retrouvé tout ce qu'il faut (hueGroupID, IP, hueUser) en partant uniquement d'une ampoule (ID dans la HC2) ou ID du pont. -- PSEUDO code -- local id = 230 -- ID d'une ampoule hue déclarée dans la HC2 ou du pont local device = api.get("/devices/"..id) local lightid = device.properties.lightId -- numéro du hueGroupID if (device.parentId > 0) then -- c'est une ampoule, on recherche donc le pont device = api.get("/devices/"..device.parentId) end -- retourne hueGroupId, l'adresse IP et le code User return lightid, device.properties.ip, device.properties.userName
  10. Connecter une Zibase à une HC2

    @Phil1789 Sur le site domotique-info.fr tu trouveras un tuto avec le VD en question, créé dans les années 2000 Recherche "passerelle zibase". Je ne peux pas te donner de lien plus précis, ce site est interdit à mon boulot.
  11. Connecter une Zibase à une HC2

    @minos Mon dieu, tu dois être le dernier sur la planète à utiliser ce VD Pourrais-tu me donner le contenu de ton fichier sensor.xml s'il te plait ? http://<adresse zibase>/sensor.xml Principalement la section suivante : <evs> <ev type="10" pro="WS" id="133703" gmt="1514985510" v1="21964" v2="4" lowbatt="1"/> <ev type="8" pro="VR" id="630027392" gmt="1519069530" v1="1" v2="0" lowbatt="0"/> ... <ev type="6" pro="CS" id="625060767" gmt="1514189766" v1="1" v2="0" lowbatt="0"/> ... <ev type="8" pro="VR" id="1331037448" gmt="1511916211" v1="1" v2="0" lowbatt="0"/> </evs>
  12. HC2 : Philips HUE Manager

    Si comme moi vous n'avez que des Philips Hue blanc, il y a toujours ceci (mais sans la minuterie) :
  13. Connecter une Zibase à une HC2

    En bref, tu veux savoir l'inverse de ce que tu as demandé 2 posts plus haut ?
  14. Support Gea

    Chez moi, je n'arrive pas reproduire les problèmes de redémarrage de GEA avec des "RestartTask" immediat. Est-ce que les personnes souffrante de ce symptôme pourraient m'envoyer leur configuration svp. steven.piccand@gmail.com Merci d'avance. P.S Noté moi aussi sur quel version de votre HC2 vous tournez, cela peut aider.
  15. Support Gea

    %% properties 73 ui.JourNuit.value Selon l'exemple de @pepite
×