Tuto exportation Données vers Domoticz

Forums Serveur WES Installation & Configuration Tuto exportation Données vers Domoticz

  • Post
    Mairot
    Participant

      Bonjour.

      Je cherche un tuto pour pouvoir exporter des données du WES vers un Raspberry avec >Domoticz ,et un tuto pour importer des données dans Domoticz.

      J’ ai déjà lancé un sujet, il y a plusieurs mois sans avoir obtenu satisfaction.

      Cordialement.

      0
      0
    Vous lisez 43 fils de discussion
    • Replies
        nicolas_cartelec
        Maître des clés

          Je regarde cela, j’ai un brouillon il faut que je le mette en page.

           

          0
          0
          Mairot
          Participant

            Bonjour.

            Avez vous avancer dans la rédaction du Tuto.

            Salutations

            0
            0
            nicolas_cartelec
            Maître des clés

              Non pas eu le temps (nouvelle interface) si vous voulez je peux vous envoyer le brouillon par mail pour test ?

              0
              0
              Mairot
              Participant

                Bonjour.

                J’ai suivi a la lettre vos recommandations, mais Domoticz n’envoi pas de requête au WES . Ci joint copie écran Fichier Syslog du Raspberry.

                IP WES 192.168.1.4 : IP Static port 80 et 8080 ouvert
                IP Raspberry : 192.168.1.46 port 8080 ouvert

                Raspberry Pi2 Rasbian Jessie avec derniére mise a jour IP Static
                Domoticz avec derniére mise a jour

                Pour les relais cela fonctionne bien : donc les IP sont corrects

                J’utilise Wireshark pour scrupter les trames ethernet de mon réseau et il n’y rien sur l’IP du RaspBerry.

                Dans Syslog du Raspberry il y a des messages d’avertissements, mais je ne connait aps grand chose au niveau du RaspBerry et a mon âge : 60 ans depuis le début de l’année j’ai un peu de mal.

                Salutations.

                Attachments:
                You must be logged in to view attached files.
                0
                0
                nicolas_cartelec
                Maître des clés

                  Je vais regarder avec un collègue, j’ai transmis ce document à une autre personne et il a pas eu de problème particulier.

                  0
                  0
                  Mairot
                  Participant

                    Bonjour.

                    Pourrais je avoir une copie de la Carte SD du Raspberry de la personne chez qui cela fonctionne. En plus du RPI 2 j’ai en resserve un RPI B+ qui pourrait me servir de test.

                    Salutations

                    0
                    0
                    BlueAngel
                    Participant

                      Bonjour, pourrais avoir le tuto également afin de faire des tests?

                       

                      Merci

                      0
                      0
                      nicolas_cartelec
                      Maître des clés

                        Le tuto (béta) par mail.

                        0
                        0
                        alstep57
                        Participant

                          Bonjour,

                          Je viens également de me lancer dans la configuration de domoticz et je souhaiterais également si possible pouvoir bénéficier de votre tuto pour tenter d’interagir avec mon wes v2.

                          J’en profite pour demander si vous avez eu des nouvelles de l’équipe de imperihome pour une éventuelle intégration?

                          Merci

                           

                          0
                          0
                          nicolas_cartelec
                          Maître des clés

                            Par mail SVP, le tuto n’est pas finalisé.

                            Imperihome ne répond jamais !!!

                            0
                            0
                              alstep57
                              Participant

                                Bonjour,

                                Par mail ok j’attends avec impatience le fichier.

                                J’ai également posté un message à imperihome pour les inciter à vous répondre.

                                Cordialement

                                0
                                0
                              nicolas_cartelec
                              Maître des clés

                                Votre mail sur wesbeta@cartelectronic.fr merci.

                                0
                                0
                                flo
                                Participant

                                  Bonjour pour être mis en relation avec imperihome il faut contacter  evertygo

                                  0
                                  0
                                  Roman
                                  Participant

                                    Bonjour,

                                    Serait il possible d’avoir le tuto (béta) pour exporter des données vers un Raspberry.

                                    Merci par avance

                                    Cordialement

                                    0
                                    0
                                    Mairot
                                    Participant

                                      Bonjour.

                                      Voici la documentation j’avais reçu de Nicolas-Cartelectronic.

                                      salutation

                                      Merci de contacter Nicolas pour avoir les fichiers (pas les poster directement sur le blog)

                                      • Cette réponse a été modifiée le il y a 8 années et 7 mois par nicolas_cartelec.
                                      0
                                      0
                                      sacres
                                      Participant

                                        Bonjour,

                                        Je viens de faire une petite documentation sur l’envoi de données depuis le Wes vers Domoticz via les requêtes HTTP.

                                        Cordialement,

                                        Sacres

                                        Attachments:
                                        You must be logged in to view attached files.
                                        0
                                        0
                                        Roman
                                        Participant

                                          Merci beaucoup à tous les deux pour ces fichiers. Je suis assez novice dans le domaine et je souhaiterais exporter en continu les mesures des pinces ampèremétriques sur Domoticz afin de pouvoir en faire du post traitement. A terme je souhaite installer des panneaux PV pour faire de l’autoconsommation et utiliser Domoticz pour générer des scénarii et lancer par exemple le chauffe eau en cas d’excédent de production. Est il nécessaire d’utiliser un Raspberry pour cette fonction?

                                          Merci par avance pour votre aide

                                           

                                          0
                                          0
                                          sacres
                                          Participant

                                            Bonjour,

                                            Pour exporter les valeurs des pinces ampèremétrique du Wes vers Domoticz, il faut créer sous Domoticz un capteur virtuel du type « Ampère monophasé ». Ensuite, la méthodologie est décrite dans la documentation attaché à mon précédant post.

                                            La requête à utiliser pour ce capteur est la suivante :
                                            /json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=CURRENT

                                            IDX = idx de votre capteur sous Domoticz.

                                            CURRENT = Valeur de l’intensité la pince ampèremétrique du Wes (Exemple : $A101 retourne l’intensité de la pince n°1, $A201 retourne l’intensité de la pince n°2, etc..).

                                            Cordialement,
                                            Sacres

                                            • Cette réponse a été modifiée le il y a 8 années et 7 mois par sacres.
                                            0
                                            0
                                            Mairot
                                            Participant

                                              Bonjour.

                                              Merci pour ces informations qui ont le mérite d’être claires et précises. La méthode que m’avait envoyée Nicolas n’a pas fonctionnèe, a part les sorties relais sous Domoticz.

                                              Salutations

                                              0
                                              0
                                              Floche
                                              Participant

                                                Bonjour à tous,

                                                Déjà merci pour le tuto.

                                                Cependant, impossible d’avoir un comportement fiable après avoir mis les 4 requêtes correspondants aux 4 pinces : les requêtes ne sont jamais toutes les 4 exécutées en même temps, des fois certaines ne sont pas exécutées pendant plusieurs heures. Bref, un comportement bien trop aléatoire.

                                                Pour corriger cela et afin de regrouper toute l’intelligence de ma domotique dans Domoticz (installé sur un NAS Synology, le tout d’une stabilité exemplaire), j’ai créé un script Lua qui permet de venir parser les fichiers XML générés par le serveur WES, et de mettre à jour les devices automatiquement (et de manière stable ;)). Cela a également l’avantage de ne pas surcharger en requête HTML le serveur Domoticz.

                                                La manière de créer les capteurs virtuels est la même (mais ici des capteurs « Ampère monophasé »), il suffit juste de faire exécuter ce script en « time » par Domoticz (pour une mise à jour toutes les minutes).

                                                N’hésitez pas si vous avez des questions.

                                                
                                                commandArray = {}
                                                
                                                -- User data to modify
                                                WES_IP = "user:password@192.168.1.2"
                                                
                                                idx_pince1 = 169
                                                idx_pince2 = 194
                                                idx_pince3 = 193
                                                idx_pince4 = 195
                                                
                                                debug = false
                                                
                                                -- END OF User data to modify
                                                
                                                function XML_Capture(cmd,flatten)
                                                   local f = assert(io.popen(cmd, 'r'))
                                                   local s = assert(f:read('*a'))
                                                   f:close()
                                                   if flatten  then
                                                      s = string.gsub(s, '^%s+', '')
                                                      s = string.gsub(s, '%s+$', '')
                                                      s = string.gsub(s, '[\n\r]+', ' ')
                                                   end
                                                   return s
                                                end
                                                
                                                function XML_Parse(field, str)
                                                    local toto,field_start = string.find(str,field)
                                                    local field_end = string.find(str,"</", field_start)
                                                    str_field = string.sub(str,field_start+1,field_end-1)
                                                    if debug == true then
                                                        print(str_field)
                                                    end
                                                    return tonumber(str_field)
                                                end
                                                
                                                XML_string=XML_Capture("curl -s 'http://"..WES_IP.."/pcetreel.cgx'",1)
                                                
                                                valid = string.find(XML_string, "<form>")    -- check for a valid xml tag
                                                
                                                if debug == true then
                                                    print(XML_string)
                                                end
                                                
                                                if valid == nil then
                                                    print ("XML error - info NOT updated")
                                                else
                                                
                                                    pince1 = XML_Parse("IPC1_val</id><value>",XML_string)
                                                    pince2 = XML_Parse("IPC2_val</id><value>",XML_string)
                                                    pince3 = XML_Parse("IPC3_val</id><value>",XML_string)
                                                    pince4 = XML_Parse("IPC4_val</id><value>",XML_string)
                                                    
                                                    commandArray[1] = {['UpdateDevice'] = idx_pince1..'|0|'..pince1}
                                                    commandArray[2] = {['UpdateDevice'] = idx_pince2..'|0|'..pince2}
                                                    commandArray[3] = {['UpdateDevice'] = idx_pince3..'|0|'..pince3}
                                                    commandArray[4] = {['UpdateDevice'] = idx_pince4..'|0|'..pince4}
                                                end 
                                                 
                                                return commandArray
                                                0
                                                0
                                                sacres
                                                Participant

                                                  Bonjour Floche,

                                                  Pour ma part je récupère via des scripts en python toutes les variables du WES en parsant le fichier XML « data.cgx »et cela fonctionne bien mieux qu’avec des requêtes.

                                                  Suite à ton post avec le code en lua, j’ai voulu voir ce que cela pouvait donner d’utiliser lua pour récupérer l’ensemble des données que je récupérais sur le WES en python (Compteurs d’impulsions, Pinces ampèremétriques, Sondes de températures, Sonde de température et d’humidité, Relais, Entrées, Switchs virtuels, Variables et Carte relais 1-wire additionnelle).

                                                  Voici ce que cela donne:

                                                  commandArray = {}

                                                  — User data to modify
                                                  WES_IP = « admin:wes@192.168.1.2″

                                                  — Compteurs d’impulsions
                                                  idx_impulsion1 = 81
                                                  idx_impulsion2 = 82
                                                  idx_impulsion3 = 83
                                                  idx_impulsion4 = 84

                                                  — Pinces ampèremétriques
                                                  idx_pince1 = 24
                                                  idx_pince2 = 25
                                                  idx_pince3 = 26
                                                  idx_pince4 = 27

                                                  — Sondes de températures
                                                  idx_sonde1 = 10
                                                  idx_sonde2 = 11
                                                  idx_sonde3 = 12
                                                  idx_sonde4 = 13
                                                  idx_sonde5 = 14
                                                  idx_sonde6 = 16
                                                  idx_sonde7 = 18
                                                  idx_sonde8 = 19
                                                  idx_sonde9 = 22
                                                  idx_sonde10 = 23

                                                  — Sonde de température et d’humidité
                                                  idx_sondeTH1 = 58
                                                  idx_sondeTH2 = 59
                                                  idx_sondeTH3 = 60
                                                  idx_sondeTH4 = 61
                                                  idx_sondeTH5 = 74
                                                  idx_sondeTH6 = 73

                                                  — Relais
                                                  idx_relais1 = 87
                                                  idx_relais2 = 88

                                                  — Entrées
                                                  idx_entree1 = 114
                                                  idx_entree2 = 115

                                                  — Entrées analogiques
                                                  idx_analogique1 = 75
                                                  idx_analogique2 = 76
                                                  idx_analogique3 = 77
                                                  idx_analogique4 = 78

                                                  — Switchs virtuels
                                                  idx_switch1 = 89
                                                  idx_switch2 = 90
                                                  idx_switch3 = 91
                                                  idx_switch4 = 92
                                                  idx_switch5 = 93
                                                  idx_switch6 = 94
                                                  idx_switch7 = 95
                                                  idx_switch8 = 96

                                                  — Variables
                                                  idx_variable1 = 97
                                                  idx_variable2 = 98
                                                  idx_variable3 = 99
                                                  idx_variable4 = 100
                                                  idx_variable5 = 101
                                                  idx_variable6 = 102
                                                  idx_variable7 = 103
                                                  idx_variable8 = 104

                                                  — Carte relais 1-wire
                                                  idx_relais101 = 106
                                                  idx_relais102 = 107
                                                  idx_relais103 = 108
                                                  idx_relais104 = 109
                                                  idx_relais105 = 110
                                                  idx_relais106 = 111
                                                  idx_relais107 = 112
                                                  idx_relais108 = 113

                                                  debug = false

                                                  — END OF User data to modify

                                                  function XML_Capture(cmd,flatten)
                                                  local f = assert(io.popen(cmd, ‘r’))
                                                  local s = assert(f:read(‘*a’))
                                                  f:close()
                                                  if flatten  then
                                                  s = string.gsub(s, ‘^%s+’,  »)
                                                  s = string.gsub(s, ‘%s+$’,  »)
                                                  s = string.gsub(s, ‘[\n\r]+’, ‘ ‘)
                                                  end
                                                  return s
                                                  end

                                                  function XML_Parse(field, str)
                                                  local toto,field_start = string.find(str,field)
                                                  local field_end = string.find(str, »</ », field_start)
                                                  str_field = string.sub(str,field_start+1,field_end-1)
                                                  if debug == true then
                                                  print(str_field)
                                                  end
                                                  if str_field == « ON » or str_field == « OFF » then
                                                  return str_field
                                                  else
                                                  return tonumber(str_field)
                                                  end
                                                  end

                                                  XML_string=XML_Capture(« curl -s ‘http:// »..WES_IP.. »/data.cgx' »,1)

                                                  valid = string.find(XML_string, « <data> »)    — check for a valid xml tag

                                                  if debug == true then
                                                  print(XML_string)
                                                  end

                                                  if valid == nil then
                                                  print (« XML error – info NOT updated »)
                                                  else
                                                  — Compteurs d’impulsions
                                                  impulsion1 = XML_Parse(« <PULSE1> »,XML_string)
                                                  index1 = XML_Parse(« <INDEX1> »,XML_string)
                                                  impulsion2 = XML_Parse(« <PULSE2> »,XML_string)
                                                  index2 = XML_Parse(« <INDEX2> »,XML_string)
                                                  impulsion3 = XML_Parse(« <PULSE3> »,XML_string)
                                                  index3 = XML_Parse(« <INDEX3> »,XML_string)
                                                  impulsion4 = XML_Parse(« <PULSE4> »,XML_string)
                                                  index4 = XML_Parse(« <INDEX4> »,XML_string)
                                                  commandArray[idx_impulsion1] = {[‘UpdateDevice’] = idx_impulsion1..’|0|’..impulsion1..’;’..index1}
                                                  commandArray[idx_impulsion2] = {[‘UpdateDevice’] = idx_impulsion2..’|0|’..impulsion2..’;’..index2}
                                                  commandArray[idx_impulsion3] = {[‘UpdateDevice’] = idx_impulsion3..’|0|’..impulsion3..’;’..index3}
                                                  commandArray[idx_impulsion4] = {[‘UpdateDevice’] = idx_impulsion4..’|0|’..impulsion4..’;’..index4}

                                                  — Pinces ampèremétriques
                                                  pince1 = XML_Parse(« <I1> »,XML_string)
                                                  pince2 = XML_Parse(« <I2> »,XML_string)
                                                  pince3 = XML_Parse(« <I3> »,XML_string)
                                                  pince4 = XML_Parse(« <I4> »,XML_string)
                                                  commandArray[idx_pince1] = {[‘UpdateDevice’] = idx_pince1..’|0|’..pince1}
                                                  commandArray[idx_pince2] = {[‘UpdateDevice’] = idx_pince2..’|0|’..pince2}
                                                  commandArray[idx_pince3] = {[‘UpdateDevice’] = idx_pince3..’|0|’..pince3}
                                                  commandArray[idx_pince4] = {[‘UpdateDevice’] = idx_pince4..’|0|’..pince4}

                                                  — Sondes de températures
                                                  sonde1 = XML_Parse(« <SONDE1> »,XML_string)
                                                  sonde2 = XML_Parse(« <SONDE2> »,XML_string)
                                                  sonde3 = XML_Parse(« <SONDE3> »,XML_string)
                                                  sonde4 = XML_Parse(« <SONDE4> »,XML_string)
                                                  sonde5 = XML_Parse(« <SONDE5> »,XML_string)
                                                  sonde6 = XML_Parse(« <SONDE7> »,XML_string)
                                                  sonde7 = XML_Parse(« <SONDE9> »,XML_string)
                                                  sonde8 = XML_Parse(« <SONDE10> »,XML_string)
                                                  sonde9 = XML_Parse(« <SONDE15> »,XML_string)
                                                  sonde10 = XML_Parse(« <SONDE16> »,XML_string)
                                                  commandArray[idx_sonde1] = {[‘UpdateDevice’] = idx_sonde1..’|0|’..sonde1}
                                                  commandArray[idx_sonde2] = {[‘UpdateDevice’] = idx_sonde2..’|0|’..sonde2}
                                                  commandArray[idx_sonde3] = {[‘UpdateDevice’] = idx_sonde3..’|0|’..sonde3}
                                                  commandArray[idx_sonde4] = {[‘UpdateDevice’] = idx_sonde4..’|0|’..sonde4}
                                                  commandArray[idx_sonde5] = {[‘UpdateDevice’] = idx_sonde5..’|0|’..sonde5}
                                                  commandArray[idx_sonde6] = {[‘UpdateDevice’] = idx_sonde6..’|0|’..sonde6}
                                                  commandArray[idx_sonde7] = {[‘UpdateDevice’] = idx_sonde7..’|0|’..sonde7}
                                                  commandArray[idx_sonde8] = {[‘UpdateDevice’] = idx_sonde8..’|0|’..sonde8}
                                                  commandArray[idx_sonde9] = {[‘UpdateDevice’] = idx_sonde9..’|0|’..sonde9}
                                                  commandArray[idx_sonde10] = {[‘UpdateDevice’] = idx_sonde10..’|0|’..sonde10}

                                                  — Sonde de température et d’humidité
                                                  sondeT1 = XML_Parse(« <SONDE25> »,XML_string)
                                                  sondeH1 = XML_Parse(« <SONDE24> »,XML_string)
                                                  sondeT2 = XML_Parse(« <SONDE28> »,XML_string)
                                                  sondeH2 = XML_Parse(« <SONDE27> »,XML_string)
                                                  sondeT3 = XML_Parse(« <SONDE18> »,XML_string)
                                                  sondeH3 = XML_Parse(« <SONDE17> »,XML_string)
                                                  sondeT4 = XML_Parse(« <SONDE22> »,XML_string)
                                                  sondeH4 = XML_Parse(« <SONDE21> »,XML_string)
                                                  sondeT5 = XML_Parse(« <SONDE7> »,XML_string)
                                                  sondeH5 = XML_Parse(« <SONDE6> »,XML_string)
                                                  sondeT6 = XML_Parse(« <SONDE13> »,XML_string)
                                                  sondeH6 = XML_Parse(« <SONDE12> »,XML_string)
                                                  hum_stat = 0
                                                  commandArray[idx_sondeTH1] = {[‘UpdateDevice’] = idx_sondeTH1..’|0|’..sondeT1..’;’..sondeH1..’;’..hum_stat}
                                                  commandArray[idx_sondeTH2] = {[‘UpdateDevice’] = idx_sondeTH2..’|0|’..sondeT2..’;’..sondeH2..’;’..hum_stat}
                                                  commandArray[idx_sondeTH3] = {[‘UpdateDevice’] = idx_sondeTH3..’|0|’..sondeT3..’;’..sondeH3..’;’..hum_stat}
                                                  commandArray[idx_sondeTH4] = {[‘UpdateDevice’] = idx_sondeTH4..’|0|’..sondeT4..’;’..sondeH4..’;’..hum_stat}
                                                  commandArray[idx_sondeTH5] = {[‘UpdateDevice’] = idx_sondeTH5..’|0|’..sondeT5..’;’..sondeH5..’;’..hum_stat}
                                                  commandArray[idx_sondeTH6] = {[‘UpdateDevice’] = idx_sondeTH6..’|0|’..sondeT6..’;’..sondeH6..’;’..hum_stat}

                                                  — Relais
                                                  relais1 = XML_Parse(« <RELAIS1> »,XML_string)
                                                  relais2 = XML_Parse(« <RELAIS2> »,XML_string)
                                                  commandArray[idx_relais1] = {[‘UpdateDevice’] = idx_relais1..’|0|’..relais1}
                                                  commandArray[idx_relais2] = {[‘UpdateDevice’] = idx_relais2..’|0|’..relais2}

                                                  — Entrées
                                                  entree1 = XML_Parse(« <ENTREE1> »,XML_string)
                                                  entree2 = XML_Parse(« <ENTREE2> »,XML_string)
                                                  commandArray[idx_entree1] = {[‘UpdateDevice’] = idx_entree1..’|0|’..entree1}
                                                  commandArray[idx_entree2] = {[‘UpdateDevice’] = idx_entree2..’|0|’..entree2}

                                                  — Entrées analogiques
                                                  analogique1 = XML_Parse(« <AD1> »,XML_string)
                                                  analogique2 = XML_Parse(« <AD2> »,XML_string)
                                                  analogique3 = XML_Parse(« <AD3> »,XML_string)
                                                  analogique4 = XML_Parse(« <AD4> »,XML_string)
                                                  commandArray[idx_analogique1] = {[‘UpdateDevice’] = idx_analogique1..’|0|’..analogique1}
                                                  commandArray[idx_analogique2] = {[‘UpdateDevice’] = idx_analogique2..’|0|’..analogique2}
                                                  commandArray[idx_analogique3] = {[‘UpdateDevice’] = idx_analogique3..’|0|’..analogique3}
                                                  commandArray[idx_analogique4] = {[‘UpdateDevice’] = idx_analogique4..’|0|’..analogique4}

                                                  — Switchs virtuels
                                                  switch1 = XML_Parse(« <SWITCH1> »,XML_string)
                                                  switch2 = XML_Parse(« <SWITCH2> »,XML_string)
                                                  switch3 = XML_Parse(« <SWITCH3> »,XML_string)
                                                  switch4 = XML_Parse(« <SWITCH4> »,XML_string)
                                                  switch5 = XML_Parse(« <SWITCH5> »,XML_string)
                                                  switch6 = XML_Parse(« <SWITCH6> »,XML_string)
                                                  switch7 = XML_Parse(« <SWITCH7> »,XML_string)
                                                  switch8 = XML_Parse(« <SWITCH8> »,XML_string)
                                                  commandArray[idx_switch1] = {[‘UpdateDevice’] = idx_switch1..’|0|’..switch1}
                                                  commandArray[idx_switch2] = {[‘UpdateDevice’] = idx_switch2..’|0|’..switch2}
                                                  commandArray[idx_switch3] = {[‘UpdateDevice’] = idx_switch3..’|0|’..switch3}
                                                  commandArray[idx_switch4] = {[‘UpdateDevice’] = idx_switch4..’|0|’..switch4}
                                                  commandArray[idx_switch5] = {[‘UpdateDevice’] = idx_switch5..’|0|’..switch5}
                                                  commandArray[idx_switch6] = {[‘UpdateDevice’] = idx_switch6..’|0|’..switch6}
                                                  commandArray[idx_switch7] = {[‘UpdateDevice’] = idx_switch7..’|0|’..switch7}
                                                  commandArray[idx_switch8] = {[‘UpdateDevice’] = idx_switch8..’|0|’..switch8}

                                                  — Variables
                                                  variable1 = XML_Parse(« <VARIABLE1> »,XML_string)
                                                  variable2 = XML_Parse(« <VARIABLE2> »,XML_string)
                                                  variable3 = XML_Parse(« <VARIABLE3> »,XML_string)
                                                  variable4 = XML_Parse(« <VARIABLE4> »,XML_string)
                                                  variable5 = XML_Parse(« <VARIABLE5> »,XML_string)
                                                  variable6 = XML_Parse(« <VARIABLE6> »,XML_string)
                                                  variable7 = XML_Parse(« <VARIABLE7> »,XML_string)
                                                  variable8 = XML_Parse(« <VARIABLE8> »,XML_string)
                                                  commandArray[idx_variable1] = {[‘UpdateDevice’] = idx_variable1..’|0|’..variable1}
                                                  commandArray[idx_variable2] = {[‘UpdateDevice’] = idx_variable2..’|0|’..variable2}
                                                  commandArray[idx_variable3] = {[‘UpdateDevice’] = idx_variable3..’|0|’..variable3}
                                                  commandArray[idx_variable4] = {[‘UpdateDevice’] = idx_variable4..’|0|’..variable4}
                                                  commandArray[idx_variable5] = {[‘UpdateDevice’] = idx_variable5..’|0|’..variable5}
                                                  commandArray[idx_variable6] = {[‘UpdateDevice’] = idx_variable6..’|0|’..variable6}
                                                  commandArray[idx_variable7] = {[‘UpdateDevice’] = idx_variable7..’|0|’..variable7}
                                                  commandArray[idx_variable8] = {[‘UpdateDevice’] = idx_variable8..’|0|’..variable8}

                                                  — Carte relais 1-wire
                                                  relais101 = XML_Parse(« <RELAIS101> »,XML_string)
                                                  relais102 = XML_Parse(« <RELAIS102> »,XML_string)
                                                  relais103 = XML_Parse(« <RELAIS103> »,XML_string)
                                                  relais104 = XML_Parse(« <RELAIS104> »,XML_string)
                                                  relais105 = XML_Parse(« <RELAIS105> »,XML_string)
                                                  relais106 = XML_Parse(« <RELAIS106> »,XML_string)
                                                  relais107 = XML_Parse(« <RELAIS107> »,XML_string)
                                                  relais108 = XML_Parse(« <RELAIS108> »,XML_string)
                                                  commandArray[idx_relais101] = {[‘UpdateDevice’] = idx_relais101..’|0|’..relais101}
                                                  commandArray[idx_relais102] = {[‘UpdateDevice’] = idx_relais102..’|0|’..relais102}
                                                  commandArray[idx_relais103] = {[‘UpdateDevice’] = idx_relais103..’|0|’..relais103}
                                                  commandArray[idx_relais104] = {[‘UpdateDevice’] = idx_relais104..’|0|’..relais104}
                                                  commandArray[idx_relais105] = {[‘UpdateDevice’] = idx_relais105..’|0|’..relais105}
                                                  commandArray[idx_relais106] = {[‘UpdateDevice’] = idx_relais106..’|0|’..relais106}
                                                  commandArray[idx_relais107] = {[‘UpdateDevice’] = idx_relais107..’|0|’..relais107}
                                                  commandArray[idx_relais108] = {[‘UpdateDevice’] = idx_relais108..’|0|’..relais108}

                                                  end

                                                  return commandArray

                                                   

                                                  Cordialement,

                                                  Sacres

                                                  0
                                                  0
                                                  chrisv
                                                  Participant

                                                    Bonjour,

                                                    Et bravo pour les tutos aussi en JSON, qu’en LUA et python.

                                                    J’ai un WES depuis maintenant quelques semaines et je me lance avec Domoticz installé sur mon QNAP.

                                                    J’arrive bien à transférer mes données aussi bien à partir du WES par script JSON pour mes sondes, qu’à partir de domoticz par scripts LUA et python pour mes pinces et compteurs reliés au WES.

                                                    Par contre je bloque sur mes 2 compteurs reliés à un module RF 868 Mhz, je ne sais pas où récupérer les données.

                                                    Merci de votre retour.

                                                    Christian

                                                    0
                                                    0
                                                    equinoxe
                                                    Participant

                                                      Bonjour,

                                                      Je suis en train de mettre en place un lien entre le WES et mon DOMOTICZ (sous Windows et non Rasberry)

                                                      J’ai utilisé le script LUA très bien fait de Sacres ci-dessus. En modifiant les caractères  « et » par des  » le script LUA est maintenant bien interprété par Domoticz.

                                                      Seul problème, a priori Domoticz n’arrive pas à lire le fichier XML data.cgx du WES alors que le fichier est bien présent sur le WES et j’ai bien modifié l’adresse du WES dans le script:

                                                      — User data to modify   WES_IP = « monuser:monmotdepasse@192.168.1.4″

                                                      Voici le message obtenu sur DOMOTICZ :

                                                      Est ce que quelqu’un a une idée?

                                                      JC

                                                       

                                                      0
                                                      0
                                                      chrisv
                                                      Participant

                                                        bonjour,

                                                        chez moi j’ai 3 scripts LUA qui fonctionnent parfaitement selon les scripts ci-dessus.

                                                        attention au erreur typographique, juste sur la première ligne  citée il y a une erreur:

                                                        — User data to modify

                                                        WES_IP =   » monuser:monmotdepasse@192.168.1.4″

                                                        il faut mettre un vrai guillemet à l’anglaise   » devant monuser…..  et non le guillemet à la française  »

                                                        c’est vrai que la restitution sur ce site n’est pas correcte!!!

                                                        • Cette réponse a été modifiée le il y a 6 années et 9 mois par chrisv.
                                                        • Cette réponse a été modifiée le il y a 6 années et 9 mois par chrisv.
                                                        • Cette réponse a été modifiée le il y a 6 années et 9 mois par chrisv.
                                                        0
                                                        0
                                                        sacres
                                                        Participant

                                                          Bonjour à tous,

                                                          Vous trouverez ci-dessous un script en LUA pour exporter les valeurs des pinces ampèremétriques du Wes vers Domoticz. Ce script se base sur le fichier CGX « pceval » et est compatible avec la version 0_83H B03 du Wes.

                                                           

                                                          ——————————————————————————————————————–
                                                          — Ce script permet de récupérer les valeurs de toutes les pinces connectées au WES pour les injecter dans Domoticz
                                                          — Version du WES compatible => 0.83H béta3 (Août 2019)
                                                          ——————————————————————————————————————–

                                                          commandArray = {}
                                                          –***********************
                                                          –* User data to modify *
                                                          –***********************

                                                          –Paramètres du WES sous la forme => login:mot-passe@ip-du-wes
                                                          WES_CONF = « admin:wes@192.168.0.100 »

                                                          — Pinces ampèremétriques
                                                          — ID de vos capteurs sous domoticz
                                                          idx_pince1 = 24
                                                          idx_pince2 = 25
                                                          idx_pince3 = 26
                                                          idx_pince4 = 27

                                                          type_dummy = « A » — Type de valeur à renvoyer vers domoticz
                                                          — A     => Ampères
                                                          — VA     => VoltAmpères
                                                          — Wh     => Watt-heure

                                                          debug = false

                                                          –******************************
                                                          –* END OF User data to modify *
                                                          –******************************

                                                          function XML_Capture(cmd,flatten)
                                                          local f = assert(io.popen(cmd, ‘r’))
                                                          local s = assert(f:read(‘*a’))
                                                          f:close()
                                                          if flatten  then
                                                          s = string.gsub(s, ‘^%s+’,  »)
                                                          s = string.gsub(s, ‘%s+$’,  »)
                                                          s = string.gsub(s, ‘[\n\r]+’, ‘ ‘)
                                                          end
                                                          return s
                                                          end

                                                          function XML_Parse(field, str)
                                                          local toto,field_start = string.find(str,field)
                                                          local field_end = string.find(str, » « ..type_dummy.. »</value> », field_start)
                                                          str_field = string.sub(str,field_start+1,field_end-1)
                                                          if debug == true then
                                                          print(str_field)
                                                          end
                                                          return tonumber(str_field)
                                                          end

                                                          XML_string = XML_Capture(« curl -s ‘http:// »..WES_CONF.. »/WEBPROG/CGX/pceval.cgx' »,1)
                                                          — Requête utilisée => http://login:mot-passe@ip-du-wes/WEBPROG/CGX/pceval.cgx

                                                          if debug == true then
                                                          print(XML_string)
                                                          end
                                                          if type_dummy == « A » then
                                                          — Récupération de la valeur du courant (Intensité) des pinces exprimée en Ampères (A)
                                                          pince1 = XML_Parse(« <id>IPC1_val</id><value> »,XML_string)
                                                          pince2 = XML_Parse(« <id>IPC2_val</id><value> »,XML_string)
                                                          pince3 = XML_Parse(« <id>IPC3_val</id><value> »,XML_string)
                                                          pince4 = XML_Parse(« <id>IPC4_val</id><value> »,XML_string)

                                                          else if type_dummy == « VA » then
                                                          — Récupération de la puissance apparente des pinces exprimée en VoltAmpères (VA)
                                                          pince1 = XML_Parse(« <id>VAPC1_val</id><value> »,XML_string)
                                                          pince2 = XML_Parse(« <id>VAPC2_val</id><value> »,XML_string)
                                                          pince3 = XML_Parse(« <id>VAPC3_val</id><value> »,XML_string)
                                                          pince4 = XML_Parse(« <id>VAPC4_val</id><value> »,XML_string)

                                                          else if type_dummy == « Wh » then
                                                          — Récupération de la valeur des pinces exprimée en Watt-heure (Wh)
                                                          pince1 = XML_Parse(« <id>WHPC1_val</id><value> »,XML_string)
                                                          pince2 = XML_Parse(« <id>WHPC2_val</id><value> »,XML_string)
                                                          pince3 = XML_Parse(« <id>WHPC3_val</id><value> »,XML_string)
                                                          pince4 = XML_Parse(« <id>WHPC4_val</id><value> »,XML_string)
                                                          end
                                                          end
                                                          end

                                                          commandArray[idx_pince1] = {[‘UpdateDevice’] = idx_pince1..’|0|’..pince1}
                                                          commandArray[idx_pince2] = {[‘UpdateDevice’] = idx_pince2..’|0|’..pince2}
                                                          commandArray[idx_pince3] = {[‘UpdateDevice’] = idx_pince3..’|0|’..pince3}
                                                          commandArray[idx_pince4] = {[‘UpdateDevice’] = idx_pince4..’|0|’..pince4}

                                                          return commandArray

                                                           

                                                          Cordialement,

                                                          Sacres

                                                          0
                                                          0
                                                          bqtt
                                                          Participant

                                                            je tente à mon tour de faire tourner ces scripts 🙂

                                                            j’ai enfin compris ou mettre ces scripts et comment les nommer (script_time_xxx.lua)

                                                            après les avoir corriger en mettant des caractères « normaux »
                                                            j’ai comme message « 2020-01-21 15:07:00.406 Status: LUA: XML error – info NOT updated »
                                                            alors que j’accède bien au fichier /data.cgx en direct avec l’url adapté

                                                            0
                                                            0
                                                            bqtt
                                                            Participant

                                                              bon, je progresse mais j’ai encore des messages d’erreur

                                                              
                                                              2020-01-21 17:02:00.553  Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_wes_newall.lua: /home/pi/domoticz/scripts/lua/script_time_wes_newall.lua:148: attempt to concatenate global 'idx_impulsion5' (a nil value)
                                                              2020-01-21 17:02:00.554  Error: EventSystem: UpdateDevice IDX 81 not found!
                                                              2020-01-21 17:02:00.555  Error: EventSystem: UpdateDevice IDX 82 not found!
                                                              2020-01-21 17:02:00.555  Error: EventSystem: UpdateDevice IDX 86 not found!
                                                              2020-01-21 17:02:00.556  Error: EventSystem: UpdateDevice IDX 85 not found!
                                                              2020-01-21 17:02:00.556  Status: EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_time_wes_newall.lua
                                                              

                                                              par contre je sais pas comment faire avec Domoticz après ça :/ (si quelqu’un le sait ?)

                                                              0
                                                              0
                                                              cdlog2
                                                              Modérateur

                                                                Merci à @Sacres pour ses Scripts.

                                                                Par contre il faut savoir que certains Caractères sont modifiés lorsque l’on dépose des scripts par le biais d’un copie/collé directement dans le Texte d’un Post dans ce Blog . Certains Caractères du Script d’origine en visuel sont donc quelques peux modifiés et il y aura des erreurs en utilisation si l’on reprend le script tel que affiché.

                                                                Lorsque l’on veut transmettre un Script, il faut le transmettre en Pièce Jointe, Compressé au format ZIP.

                                                                En effet Certaines Extensions de fichiers ne sont pas autorisés par le serveur de ce Blog.

                                                                Cdt

                                                                 

                                                                0
                                                                0
                                                                Carthman
                                                                Participant

                                                                  Bonjour,

                                                                  Je vais mettre en place des panneaux solaires chez moi et je cherche à surveiller ça de près, notamment avec Domoticz qui fait déjà tourner la domotique.
                                                                  J’envisage la possibilité de mettre un Serveur WES, notamment pour pouvoir utiliser les pinces ampèremétriques.

                                                                  Je viens de voir qu’il y aurait différents scripts à mettre en place, ce que je voulais savoir c’est est-ce que ces scripts remontent en « temps réel » la valeur des pinces ? Je dois faire du routage PV vers mon chauffe-eau et ce point est primordial !
                                                                  Je voulais aussi savoir si une calibration des pinces est possible dans le soft du WES pour avoir une valeur la plus juste possible.

                                                                  Dernièrement, concernant les valeurs Téléinfo (actuellement j’utilise le modèle USB sur Domoticz), est-ce qu’elles peuvent facilement être importées du WES vers Domoticz ?
                                                                  J’ai actuellement 5 valeurs (HP, HC, Total, % Charge, Courant) et j’aimerait toutes les récupérer avec le WES.

                                                                  Merci.

                                                                  0
                                                                  0
                                                                  Carthman
                                                                  Participant

                                                                    Egalement, peut-on utiliser des pinces de la même marque YHDC, mais avec une valeur plus faible pour avoir une meilleure précision ?

                                                                    Merci !

                                                                    0
                                                                    0
                                                                    bqtt
                                                                    Participant

                                                                      bon je n’arrive toujours pas à exploiter les donnée du wes vers Domoticz
                                                                      peu être que le passage à la dernière version n’a pas arrangé tout cela

                                                                      les différent script dans ce topic ont été tester avec les modif des «  » et des — pour les commentaires

                                                                      bref je patauge
                                                                      est ce qu’il existe un tuto à jour pour mettre les info du wes vers domoticz (ou autre comme grafana)

                                                                      nota je ne suis pas informaticien 😀

                                                                      0
                                                                      0
                                                                      cdlog2
                                                                      Modérateur

                                                                        Bonjour,

                                                                        Je n’utilise pas Domoticz et n’en connais pas ces spécificités.

                                                                        Par contre j’ai récupéré le Script LUA qui à été déposé par @sacres sur ce Blog et qui permet d’extraire les Infos du DATA.CGX du WES.

                                                                        Je Modifié et Adapté ce Script LUA pour le rendre compatible avec la dernière version du WES V 0.84A4. Normalement ce Script ainsi corrigé devrait fonctionner.

                                                                        Je peux vous aidez à récupérer des Valeurs si manquant dans ce Scripts mais je ne peux pas vous aider pour implémenter ce Script dans Domoticz, n’ayant aucune expérience à ce niveau. Il vous faut aussi adapter les Identifiants IDX vis à vis des Objs Domoticz car les valeurs que j’ai implémentées dans ce Script ont été définis par défaut par pure logique.

                                                                        Trouvez le fichier sous forme d’archive ZIP en pièce jointe

                                                                        Cdt

                                                                         

                                                                        Attachments:
                                                                        You must be logged in to view attached files.
                                                                        0
                                                                        0
                                                                        cdlog2
                                                                        Modérateur

                                                                          RE: Je vous renvoie le fichier, j’ai remarqué qu’il y a 3 lignes qui devrait être en Commentaire — et qui ne le sont pas

                                                                          ——————————————-
                                                                          — Sondes de températures DB18B20
                                                                          — Si parmi les Sondes DB18B20 il y a des capteurs
                                                                          — de Temp et Humidité modifier en concéquence
                                                                          — en supprimant les Valeurs Sonde <SONDExx> et SONDExx+1> ainsi
                                                                          — que les 2 déclarations dans la Array en relatif
                                                                          — ICI  commandArray[idx_sonde(X)] = {[‘UpdateDevice’] = idx_sonde(X)..’|0|’..sonde(X)}
                                                                          — ICI   et
                                                                          — ICI   commandArray[idx_sonde(X+1)] = {[‘UpdateDevice’] = idx_sonde(X+1)..’|0|’..sonde(X+1)}

                                                                          Désolé

                                                                          Cdt

                                                                          Attachments:
                                                                          You must be logged in to view attached files.
                                                                          0
                                                                          0
                                                                          cdlog2
                                                                          Modérateur

                                                                            RE: Désolé, je vous renvoie encore mon fichier Script corrigé. Comme je ne peux pas tester le Script avec Domoticz, il n’est pas facile de remarquer les Erreurs. Néanmoins je remarque après relecture qu’il y a encore des caractères simple quote qui ne sont pas au bon format.  Ce Blog transforme les caractères guillemet et simple quote dans un format visuel similaire mais différents côté valeur ascii.

                                                                            Je vous renvoie une 3eme copie du Script cette fois bien corrigé !!! Du moins je l’espère ! à tester ….

                                                                            Cdt

                                                                            Attachments:
                                                                            You must be logged in to view attached files.
                                                                            0
                                                                            0
                                                                            bqtt
                                                                            Participant

                                                                              ok merci, je vais tester tout cela dans la semaine 🙂

                                                                              je suis en train de tester aussi Jeedom histoire d’avoir un truc correct et entre les 2 j’hésite encore

                                                                              0
                                                                              0
                                                                              Richard
                                                                              Participant

                                                                                Bonjour @bqtt
                                                                                Je suis utilisateur Jeedom.
                                                                                il y a un plugin dans Jeedom qui permet de récupérer directement les infos du Serveur Wes, un nouvel interface doit sortir prochainement.
                                                                                Tu peux aussi via un scenario dans jeedom aller pointer sur le fichier data.cgx du WES (ceci est dans le cas ou tu souhaites avoir des infos non présentes dans le Plugin)
                                                                                Je t’invite à aller aussi sur le forum Jeedom et de chercher des échanges sur le sujet.
                                                                                Tu trouveras aussi sur ce forum des échanges entre @cdlog2 et moi sur des choses possibles à faire entre le WES et Jeedom (regarde les pièces jointe pour des exemples de code)
                                                                                Bonne lecture

                                                                                0
                                                                                0
                                                                                fantasio78
                                                                                Participant

                                                                                  Bonjour,

                                                                                  Je suis aussi utilisateur de Jeedom et je récupère les informations qui m’intéressent dans le fichier data.cgx à l’aide de scripts

                                                                                  En effet, l’année dernière le plugin ne fonctionnait pas correctement (V 3). Depuis que l’équipe Jeedom l’a pris en main il fonctionne correctement.

                                                                                  Je fais aussi remonter les informations de production photovoltaique à l’aide du plugin SMA Sunny Boy qui est hyperstable.

                                                                                  Jeedom me permet de rassembler toutes les informations sur une seule page (voir fichier ci-joint).

                                                                                   

                                                                                  Attachments:
                                                                                  You must be logged in to view attached files.
                                                                                  0
                                                                                  0
                                                                                  Richard
                                                                                  Participant

                                                                                    Bonjour @fantasio78

                                                                                    As tu un compte sur le forum Jeedom.
                                                                                    J’aurai des questions sur ta présentation, et je ne voudrai pas polluer ce forum avec des questions complétements spécifiques à Jeedom.

                                                                                    Cordialement

                                                                                    0
                                                                                    0
                                                                                    fantasio78
                                                                                    Participant

                                                                                      Bjr @richard,

                                                                                      Tu as raison d’ailleurs j’ai un peu hésité avant de répondre mais d’un autre côté @bqtt hésite entre l’un et l’autre.

                                                                                      Oui j’ai un compte sur le forum Jeedom, même pseudo.

                                                                                      @+

                                                                                      0
                                                                                      0
                                                                                      bqtt
                                                                                      Participant

                                                                                        bon, pour le moment avec Domoticz je patauge
                                                                                        avec le scripte généreusement repris par cdlog2 j’ai des messages d’erreur :
                                                                                         »
                                                                                        2021-04-08 13:36:00.237 Error: EventSystem: in /home/pi/domoticz/scripts/lua/Script_time_WesDomoticz.lua: /home/pi/domoticz/scripts/lua/Script_time_WesDomoticz.lua:713: attempt to concatenate a nil value (global ‘inject1’)  »

                                                                                        sur des truc non branché j’ai imaginé qu’il fallait que je « comment » les lignes concerné comme les relais, switch virtuel ettc..
                                                                                        mais sur les pinces je dois normalement avoir des données car celle-ci sont branché

                                                                                        sur mon wes j’ai le tic, les impulsion en radio pour le gaz et les pinces ampermetrique de connecté

                                                                                        les info de mon data.cgx sont :
                                                                                        13:36V0.84A4021975924438BAS.30Toutes Heures75003000000900000pas connue !010147304000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Pas DispoPas dispo.0NON Dispo !00000000000000pas connue !000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Pas DispoPas dispo.0NON Dispo !00000000000000pas connue !000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000134200 3.13 7653.550 0.000 1.53 2838.790 0.000 1.76 3930.388 0.000 0.00 1166.751 0.000 231 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 OFF OFF 0 00.000.000.000.00000000000000000010000101 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

                                                                                        0
                                                                                        0
                                                                                        bqtt
                                                                                        Participant

                                                                                          bon j’admet que Jeedom me tente de plus en plus
                                                                                          le wes est effectivement bien pris en charge, et ce sans prise de tête
                                                                                          et en plus mes lapin Nabaztag et Karotz sont pris en charge

                                                                                          j’attend un p4 avec ssd venant de chine qui sera ma future box domotique Jeedom
                                                                                          mais en attendant je fais des experiences

                                                                                          0
                                                                                          0
                                                                                          cdlog2
                                                                                          Modérateur

                                                                                            Bonjour @bqtt,

                                                                                            L’erreur du Script s’effectue sur la valeur de <INJECT1> de la Pince 1, lue du Data.cgx de votre WES. Quelle est la version de votre WES ?

                                                                                            La récupération des champs <INJECT(x)> n’existe pas dans le Script de référence de @sacres que j’avais utilisé comme base. Vous pouvez éliminer ces Erreurs en retirant la lecture et la concaténation des ces valeurs <INJECT(x)> que j’ai rajouté.

                                                                                            Modifier votre Script en supprimant les zones ci-dessous mises en GRAS:

                                                                                            —————————–
                                                                                            — 4 Pinces ampèremétriques
                                                                                            ——————————
                                                                                            pince1 = XML_Parse_Value(« <I1> »,XML_string)
                                                                                            index1 = XML_Parse_Value(« <INDEX1> »,XML_string)
                                                                                            inject1 = XML_Parse_Value(« <INJECT1> »,XML_string)      — Supprimer cette ligne

                                                                                            pince2 = XML_Parse_Value(« <I2> »,XML_string)
                                                                                            index2 = XML_Parse_Value(« <INDEX2> »,XML_string)
                                                                                            inject2 = XML_Parse_Value(« <INJECT2> »,XML_string)     — Supprimer cette ligne

                                                                                            pince3 = XML_Parse_Value(« <I3> »,XML_string)
                                                                                            index3 = XML_Parse_Value(« <INDEX3> »,XML_string)
                                                                                            inject3 = XML_Parse_Value(« <INJECT3> »,XML_string)    — Supprimer cette ligne

                                                                                            pince4 = XML_Parse_Value(« <I4> »,XML_string)
                                                                                            index4 = XML_Parse_Value(« <INDEX4> »,XML_string)
                                                                                            inject4 = XML_Parse_Value(« <INJECT4> »,XML_string)    — Supprimer cette ligne
                                                                                            —–
                                                                                            commandArray[idx_pince1] = {[‘UpdateDevice’] = idx_pince1..’|0|’..pince1..’;’..index1..’;’..inject1}  — modifier comme ceci ‘;’..index1}
                                                                                            commandArray[idx_pince2] = {[‘UpdateDevice’] = idx_pince2..’|0|’..pince2..’;’..index2..’;’..inject2}  — modifier comme ceci ‘;’..index2}
                                                                                            commandArray[idx_pince3] = {[‘UpdateDevice’] = idx_pince3..’|0|’..pince3..’;’..index3..’;’..inject3}  — modifier comme ceci ‘;’..index3}
                                                                                            commandArray[idx_pince4] = {[‘UpdateDevice’] = idx_pince4..’|0|’..pince4..’;’..index4..’;’..inject4}  — modifier comme ceci ‘;’..index4}

                                                                                            Votre Script doit ressembler à ceci en final :

                                                                                            —————————–
                                                                                            — 4 Pinces ampèremétriques
                                                                                            ——————————
                                                                                            pince1 = XML_Parse_Value(« <I1> »,XML_string)
                                                                                            index1 = XML_Parse_Value(« <INDEX1> »,XML_string)

                                                                                            pince2 = XML_Parse_Value(« <I2> »,XML_string)
                                                                                            index2 = XML_Parse_Value(« <INDEX2> »,XML_string)

                                                                                            pince3 = XML_Parse_Value(« <I3> »,XML_string)
                                                                                            index3 = XML_Parse_Value(« <INDEX3> »,XML_string)

                                                                                            pince4 = XML_Parse_Value(« <I4> »,XML_string)
                                                                                            index4 = XML_Parse_Value(« <INDEX4> »,XML_string)
                                                                                            —–
                                                                                            commandArray[idx_pince1] = {[‘UpdateDevice’] = idx_pince1..’|0|’..pince1..’;’..index1}
                                                                                            commandArray[idx_pince2] = {[‘UpdateDevice’] = idx_pince2..’|0|’..pince2..’;’..index2}
                                                                                            commandArray[idx_pince3] = {[‘UpdateDevice’] = idx_pince3..’|0|’..pince3..’;’..index3}
                                                                                            commandArray[idx_pince4] = {[‘UpdateDevice’] = idx_pince4..’|0|’..pince4..’;’..index4}

                                                                                            Ne copier pas les lignes de ce blog. Soit vous modifiez votre script depuis un éditeur de texte ou vous récupérez le Script modifié que je vous joints.

                                                                                            Juste pour information pour comprendre l’erreur du Script, pourriez vous lancer la requête ci-dessous depuis la barre d’adresse de votre navigateur en rentrant vos propres paramètres : login-wes  :  mot-passe-wes @  ip wes 92.168.xx.xx :  http://login:motpasse@192.168.xx.xx/data.cgx

                                                                                            Votre WES va vous renvoyer le résultat de votre Data.cgx rempli.  Sélectionner toutes les lignes reçues dans votre navigateur à la sourie et copier le tout dans un éditeur de texte, ( Bloc-Notes , NotePad  ou tout autre ) et enregistrer un fichier exemple : mondata.txt.  Créer une archive ZIP de votre fichier TXT et le joindre dans un Post sur ce Blog.

                                                                                            Je ne peux pas vous aider plus en avant, je n’ai pas Domoticz et n’en connais pas ces spécificités ! Peut être que @sacres, s’il lit ce blog pourrait vous aider ?.

                                                                                            Le Script PHP Jeedom que j’avais fourni à @Richard semblait fonctionner. Si vous basculez sur Jeedom, je suis sûr que @Richard pourra vous aider

                                                                                            Cdt

                                                                                            Attachments:
                                                                                            You must be logged in to view attached files.
                                                                                            0
                                                                                            0
                                                                                            Richard
                                                                                            Participant

                                                                                              Bonjour.

                                                                                              Je confirme le script fonctionne bien, j’ai fait aussi des fichiers .CGX spécifiques pour ne pas toucher au programme de base.
                                                                                              Cela évite si update du programme de perdre ces modifs, il faut juste penser à faire une sauvegarde des .cgx et de les réinstaller.

                                                                                              il faut savoir aussi que le plugin WES de Jeedom fonctionne bien et qu’il couvre déjà beaucoup de choses.

                                                                                              La bidouille c’est bien, par contre pas simple si l’on ne maitrise pas. J’ai galéré avant de sortir un truc qui tourne, et encore je ne comprends pas tous.

                                                                                              Merci pour l’aide de @cdlog2 qui m’avait bien aidé sur le sujet et sans qui je n’aurai rien de fonctionnel.

                                                                                              Bonne soirée

                                                                                              0
                                                                                              0
                                                                                              bqtt
                                                                                              Participant

                                                                                                alors mon wes est
                                                                                                « Version Serveur F417 V2
                                                                                                Version Micrologiciel V0.84A4
                                                                                                Version site WEB V0.84A4 B03
                                                                                                Espace libre sur la micro SD 7.072 GO »

                                                                                                et je joins le fichier demandé

                                                                                                0
                                                                                                0
                                                                                                Ludo
                                                                                                Participant

                                                                                                  Bonjour,

                                                                                                  Je souhaite renvoyer les infos de mon WES V2 vers Domoticz.

                                                                                                   

                                                                                                  Cela fonctionne pour les sondes de temperature, mais pas pour les relais ou switch virtuel.

                                                                                                  Comment doivent ils etre créé coté domoticz ?

                                                                                                   

                                                                                                  Meme question pour les infos du Linky, comment les créer coté domoticz pour qu’ils soient mis à jour via le script LUA ?

                                                                                                   

                                                                                                  merci

                                                                                                  0
                                                                                                  0
                                                                                              Vous lisez 43 fils de discussion

                                                                                              Étiqueté : 

                                                                                              • Vous devez être connecté pour répondre à ce sujet.