Aller au contenu

Frédéric Dury

Membres confirmés
  • Compteur de contenus

    10
  • Inscription

  • Dernière visite

Messages posté(e)s par Frédéric Dury

  1.  

    Allez je suis généreux. Avec ça tu récupéreras ce qu'il y a dans un fichier xml assez simplement.

    Je te laisse broder autour, rien de compliqué.

    function XML(content, property) -- valueFromXML
      local s = string.find(content, "<" .. property .. ">");
      local e = string.find(content, "</" .. property .. ">");
      if (s and e) then
        local m = string.match(content, "<" .. property .. ">(.-)</" .. property .. ">");
        local sl = string.len("<" .. property .. ">");
        local el = string.len("</" .. property .. ">");
        local fs = string.sub(content, 0, s-1);
        local te = string.sub(content, e + el);
        return m, fs .. te;
      end
      return nil, content;
    end
    

    Merci,

    Je test de suite!

     

    Cf : http://www.domotique-fibaro.fr/index.php/topic/700-bien-utiliser-la-fonction-citation-dans-les-r%C3%A9ponses/

  2. Tu veux adapter quoi là  -_-'.

    Dsl mais tout est à  refaire.

    Ok, je peux repartir de 0.

    J'ai un Raspberry connecté à  une station météo sur mon réseau qui me génère un fichier xml dont le contenu est :

     

    <?xml version="1.0"?>
    <rss version="2.0" 
       <channel>
             <Barometre>1003.9 mbar</Barometre> 
             <Vent>0 km/h from 90°</Vent>
             <Tint>24.2°C</Tint>
    <Pluie>1.2 mm</Pluie>
       </channel>
    </rss>
     
    et je souhaite récupérer les valeurs entre balises pour les faire afficher dans un module virtuel de la HC2.
  3. Bonjour,

     

    Je viens d'une VeraLite et souhaiterait traduire le code Lua que j'y utilisais vers la HC2. Je récupère plusieurs valeurs dans un fichier xml encadré par des balises.

     

     

    local function extractElement(tag, xml, default)
    local pattern = "<"..tag..">(.*)</"..tag..">"
    local result = (xml:match(pattern) or default)
    return result
    end
    local url = "http://192.168.1.51/weewx/RSS/weewx_rss.xml"
    local status, rss = luup.inet.wget(url, 10)
    if (status == 0) then
    local Tin = extractElement("Tint", rss, "Error")
    Tin = tonumber(string.sub(Tin, 1, 4))
    luup.variable_set("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", Tin, 118)

    local atm = extractElement("Barometre", rss, "Error")
    atm = tonumber(string.sub(atm, 1, 4))
    luup.variable_set("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", atm, 119)

    local rain = extractElement("Pluie", rss, "Error")
    rain = tonumber(string.sub(rain, 1, 3))
    luup.variable_set("urn:upnp-org:serviceId:TemperatureSensor1", "CurrentTemperature", rain, 122)
    end

     

    Je suis un peu perdu sur comment programmer un module virtuel en HC2

    Merci pour le coup de pouce.

  4. Bonjour,

     

    Je possède une installation sur vera lite avec une dizaine de modules zwave et qulques modules IP (avec lesquels j'interragis en Lua). La box atteint ses limites et vu l'inertie de Getvera pour les mises à  jour, j'ai décidé de passer sur HC2.

     

    Je débute donc sur le système et risque de poser pas mal de questions pour la conversion de mon système.

     

    Merci d'avance!

×
×
  • Créer...