Aller au contenu

manufilm

Membres confirmés
  • Compteur de contenus

    4
  • Inscription

  • Dernière visite

Tout ce qui a été posté par manufilm

  1. Bonsoir Moicphil votre code pour la température est ce que je cherchais dans divers forums ...
    (prémisse mon ignorance avec le code lua) comment puis-je envoyer la valeur de la température au lieu du debag au téléphone? 
    J'ai essayé avec ce code "76" est l'identifiant de mon appareil, mais je pense que j'ai fait quelque chose de mal ... 
    pouvez-vous m'aider? Je vous remercie beaucop.

    VOTRE CODE

    --[[
    %% properties
    66 value
    %% globals
    --]]
    local Temperature = fibaro:getValue(11, "value")
    fibaro:debug('Température actuelle : '..Temperature..' °C' )
    if
    tonumber(fibaro:getValue(11, "value")) < 20
    then
    fibaro:call(76, "sendDefinedPushNotification", "9");
    end

     

     

    MON CODE

    fibaro:call(76, "sendPush",('Temperatura Attuale : '..Temperature..' °C' ))

     

     

    1. Moicphil

      Moicphil

      Bonjour

       

      Penser à vérifier le numéro ID de votre capteur de température et celui du téléphone, à remplacer par les ID existants

    2. manufilm

      manufilm

      si je l'ai fait et que ça marche, 
      seulement que ce que je veux faire c'est de ne pas le voir debug
      mais de l'envoyer comme un message push sur le téléphone portable avec id 76
  2. manufilm

    LUA : Variable Table contenant elle-même une table ?

    Bonsoir Moicphil votre code pour la température est ce que je cherchais dans divers forums ... (prémisse mon ignorance avec le code lua) comment puis-je envoyer la valeur de la température au lieu du debag au téléphone? J'ai essayé avec ce code "76" est l'identifiant de mon appareil, mais je pense que j'ai fait quelque chose de mal ... pouvez-vous m'aider? Je vous remercie beaucop. VOTRE CODE --[[ %% properties 66 value %% globals --]] local Temperature = fibaro:getValue(11, "value") fibaro:debug('Température actuelle : '..Temperature..' °C' ) if tonumber(fibaro:getValue(11, "value")) < 20 then fibaro:call(76, "sendDefinedPushNotification", "9"); end MON CODE fibaro:call(76, "sendPush",('Temperatura Attuale : '..Temperature..' °C' ))
  3. manufilm

    éteindre qnap

    bonne chance à tout le monde, j'ai lu loin et loin le post mais je ne peux pas comprendre comment créer ou mieux quel code insère dans le VD pour éteindre le qnap. Je ne suis pas bon avec le LUA mais j'aimerais le faire. Pouvez-vous m'aider?
  4. manufilm

    éteindre qnap

    Merci beaucoup Lamparo, j'avais vu ce forum mais bêtement je n'avais pas regardé les pages suivantes, j'ai eu ton code mais je n'arrive pas à le faire fonctionner et je ne comprends pas ce que je me trompe? À ce stade, je me demande si je mettre au bon endroit ip, username e password: je les mets dans cette partie du code - Voir les parties en vert- (où je mets username-manu et password-manu) if (not QNAP) then QNAP = {} QNAP.globalvariable = "" -- -------------------------------------------------------------------------------------------------------------- -- Obtient le XML et le retourne sous forme de table LUA -- -------------------------------------------------------------------------------------------------------------- QNAP.getTokenFromXml = function() --local QNAP2URL = Net.FHttp(ip,port); local QNAP2URL = Net.FHttp("MY IP", 13131); response = QNAP2URL:GET("/cgi-bin/authLogin.cgi?user=user-manu_pwd=password-manu"); xmlTable = QNAP.iif(response ~= nil, QNAP.newParser().ParseXmlText(response), ""); if (xmlTable.QDocRoot ~= nil) then qsidstr = xmlTable.QDocRoot.authSid:value(); if (string.len(qsidstr)>0) then fibaro:debug("Qtoken founded"); qsidstr = qsidstr:gsub("[".."<![CDATA[".."]", ''); qsidstr = qsidstr:gsub("[".."]".."]", ''); qsidstr = qsidstr:gsub("["..">".."]", ''); fibaro:debug(qsidstr); response = QNAP2URL:GET("/cgi-bin/sys/sysRequest.cgi?subfunc=power_mgmt&count=0.1234&sid="..qsidstr.."&apply=shutdown"); if (string.find(response, "OK")) then fibaro:log("Power Off Server") else fibaro:log("ERROR") end end end end -- ------------------------------------------------------------------------------------------------------------- -- Teste la condition et retourne la valeur true ou false -- ------------------------------------------------------------------------------------------------------------- QNAP.iif = function(condition, iftrue, iffalse) if (condition) then return iftrue end return iffalse end -- ------------------------------------------------------------------------------------------------------------- -- Ceci est une version modifiée par Steven de Corona-XML-Module par Jonathan Beebe qui a son tour -- est basée sur Alexander Makeev's Lua-only XML parser . -- see https://github.com/Cluain/Lua-Simple-XML-Parser -- ------------------------------------------------------------------------------------------------------------- QNAP.newParser = function() parseXml = {} parseXml.FromXmlString = function(value) value = string.gsub(value, "([%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, "&", "&"); 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 QNAP.getTokenFromXml();
  5. manufilm

    Emanuele

    Bonjour à tous, je vous suis d'Italie, vous êtes très fort!
×