Laurent32

Forum Replies Created

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

      Nicolas,

      La partie MQTT est géniale, mais il y a quelques correction à faire

      Je confirme les remarques de Francky77, sur l’absence de la pince 4 et le décalage des noms.

      Est il possible que les pinces remontent les index?

      Merci

       

      1
      0
      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 5 réponses de 1 à 5 (sur un total de 5)