Laurent32

Forum Replies Created

Affichage de 4 réponses de 1 à 4 (sur un total de 4)
  • Replies
    Laurent32
    Participant

      Bonjour,

      Je relance le sujet MQTT.

      A ton espoir de le voir un jour?

      Cordialement,

      0
      0
      Laurent32
      Participant

        Bonjour,

        Problème résolu avec la mise à jour en <span id= »VF » class= »label label-info »>V0.84A10 et vos recommandations.
        </span>

        Merci,
        <div id= »tap-translate »></div>

        0
        0
        Laurent32
        Participant

          Bonjour,

          J’ai personnellement mis en place cette solution.

          Il m’a fallu 3 choses :

          • 1 serveur WES
          • 1 serveur Domoticz
          • des cumulus modifés

          Plusd’informations sur https://www.cartelectronic.fr/blog/?topic=wes-domoticz-photovoltaique

          Avec un serveur WES, la téléinfo en mode standard. Il est possible de piloter les résistances d’un cumulus, s’il est modifié.

          Sur cumulus a 3 résistances de 1kW avec la téléinfo en mode standard. Il est possible de piloter les 2 résistances en fonction de l’injection par paliers de 1kW.

          En ajoutant au WES la carte 8 relais 1wire, il est possible de faire de paliers d’environ 500W en commutant le résistances comme décrit :

          • R1 en série avec R2 = 500W
          • (R1 parallèle à R2) en serie de R3 = 750W
          • R1 = 1kW
          • (R1 en série avec R2) en parallèle avec R3 = 1.5kW
          • R1 parallèle à R2 = 2KW

          A mon avis la solution du variateur est optimale, mais complexe à créer et non rentable financièrement.

          Piloter les résistances est plus simple et efficace.

          Cordialement,

           
          <div id= »tap-translate »></div>

          0
          0
          Laurent32
          Participant

            Bonjour,

            Voici les scripts qui me servent à faire communiquer domoticz et WES

            Script pour envoyer les données de la téléinfo vers Domoticz

            
            Script de récupération des valeurs des téléinfo du serveur WES
            --
            commandArray={}
            
            local prefixe = "WES TIC-1 -- "
            local WES_url = "http://adminwes:******@192.168.***.150/tic1.cgx"
            local fname = "/home/***/domoticz/scripts/XML/tic1.xml"  -- Emplacement du fichier téléchargé du WES sur le Domoticz
            
            -- le device de téléinfo sur Domotics
            local device = "Elec"
            
            -- Lit un fichier
            local function lectureFichier(fname)
            fp = io.open(fname, "r")
            if fp == nil then
            print(prefixe.."Erreur ouverture fichier '"..fname.."'.")
            os.exit(1)
            end
            xml = fp:read("*a")
            fp:close()
            return xml
            end -- end lectureFichier
            
            -- Extrait les éléments constitutifs du fichier
            local function extractElements(tag, xml)
            result = {}
            local pattern = "<"..tag..">(.-)</"..tag..">"
            --print(prefixe.."TAG = " ..tag)
            for var in xml:gmatch(pattern) do
            --print(prefixe.."VAR = " ..var)
            table.insert(result, var)
            end
            
            return result
            end -- end extractElements
            
            -- Récupération du Fichier xml des pinces
            
            --print("wget -q -O "..fname.." "..WES_url)
            os.execute("wget -q -O "..fname.." "..WES_url)
            local xml = lectureFichier(fname)
            --print(prefixe.. "XML = " ..xml)
            
            -- Extraction des données et affichage
            
            local HC = extractElements("HCHC", xml)
            local HP = extractElements("HCHP", xml)
            local Pw_I = extractElements("PAP", xml)
            local Prod = extractElements("INJECTION", xml)
            local PHC = extractElements("PHC", xml)
            local PHP = extractElements("PHP", xml)
            -- affichage dans domoticz
            
            print(prefixe .."Mise à jour du device "..device.." HC = "..tostring(HC[1]) .."   HP = " ..tostring(HP[1]).." PHC = "..tostring(PHC[1]).. "   PHP = " ..tostring(PHP[1]).." Pw_I = "..tostring(Pw_I[1]).. "   Prod solaire = " ..tostring(Prod[1]).." " )
            commandArray = {['UpdateDevice'] = otherdevices_idx[device] .. "|0|" .. tostring(HC[1]) .. ";" .. tostring(HP[1]) ..";" ..tostring(PHC[1])..";" ..tostring(PHP[1]).. ";" ..tostring(Pw_I[1])..";" ..tostring(Prod[1])}
            --commandArray = {['UpdateDevice'] = otherdevices_idx[device] .. "|0|" .. HC .. ";" .. HP ..";" ..B..";" ..C.. ";" ..Pw_I..";" ..Prod}
            
            return commandArray
            

            Script pour envoyer les données des pinces vers Domoticz

            
            -- Script de récupération des valeurs des pinces ampèremétrique du serveur WES
            --
            
            commandArray={}
            --------------------------------------------
            ------------ Variables à éditer ------------
            --------------------------------------------
            local debug = false -- true pour voir les logs dans la console log ou false pour ne pas les voir
            local prefixe = "WES pinces -- "
            local WES_url = "http://adminwes:******@192.168.***.150/pince.cgx"
            local fname = "/home/***/domoticz/scripts/XML/pince.xml" -- Emplacement du fichier téléchargé du WES sur le Domoticz
            local U = 230 -- Valeur tension secteur
            
            -- les devices : les pinces
            -- Les emplacements de pinces non raccordés doivent être marqué Vide
            local devices = {"Eclairages","Prises courants","Cumulus","Gros appareils"}
            
            --------------------------------------------
            ---------------- Fonctions -----------------
            --------------------------------------------
            
            -- ci-dessous les lignes à décommenter en cas d'utilisation des fonctions directement dans ce script( supprimer --[[ et --]])
            function Loggeur (s, debug) -- nécessite la variable local debug
            if (debug) then
            if s ~= nil then
            print (prefix.." --" ..s)
            else
            print (prefix.."aucune valeur affichable")
            end
            end
            end -- usage Loggeur(" ??????? ",debug)
            
            -- Lit un fichier
            local function lectureFichier(fname)
            fp = io.open(fname, "r")
            if fp == nil then
            print(prefixe.."Erreur ouverture fichier '"..fname.."'.")
            os.exit(1)
            end
            rss = fp:read("*a")
            fp:close()
            return rss
            end -- end lectureFichier
            
            -- Extrait les éléments constitutifs du fichier
            local function extractElements(maxTag, tag, xml)
            result = {}
            local i=0
            while i < maxTag do
            i = i+1
            local pattern = "<"..tag..i..">(.-)</"..tag..i..">"
            for var in xml:gmatch(pattern) do
            table.insert(result, var)
            end
            end
            return result
            end -- end extractElements
            
            -- Récupération du Fichier xml des pinces
            
            Loggeur("wget -q -O "..fname.." "..WES_url, debug)
            os.execute("wget -q -O "..fname.." "..WES_url)
            local rss = lectureFichier(fname)
            
            -- Extraction des données et affichage
            local VAi = extractElements(4, "I", rss)
            local VAc = extractElements(4, "INDEX", rss)
            
            -- affichage dans domoticz
            for i, device in pairs(devices) do
            if ( device ~= "Vide" )
            then
            local vaI = VAi[i]*U
            local vaC = VAc[i]
            print(prefixe .."Mise à jour du device "..device.." = "..vaI.. " Index = " ..vaC)
            commandArray[i] = {['UpdateDevice'] = otherdevices_idx[device] .. "|0|" .. vaI .. ";" .. vaC}
            end
            end
            
            return commandArray
            

            <div id= »tap-translate »></div>
            <div id= »tap-translate »></div>

            0
            0
          Affichage de 4 réponses de 1 à 4 (sur un total de 4)