cdlog2

Forum Replies Created

Affichage de 15 réponses de 721 à 735 (sur un total de 1,620)
  • Replies
    cdlog2
    Modérateur

      Bonjour,

      Vous avez trouvez un palliatif au BUG que j’ai laissé dans le Script Domoticz, pour récupérer les bonnes valeurs.

      Mais vous pouvez retirer tout ce que vous avez rajouté car il suffit de rajouter une VAR Local ex: deb ou toto ou titi … associé à la VAR Local field_start existante car ils vont recevoir chacun en retour de l’appel au str.find(s,..) associé, l’index Début et l’index Fin du TAG recherché,

      Local deb aura l’Index du début du TAG qui pointe sur « <«  et Local field_start  aura l’index fin du TAG qui pointe sur « > »

      La ligne s’écrit : local deb , field_start  = string.find(str ,field)

      La fonction Api string.find (…. , ….) retourne 2 valeurs, soit index début + index fin de la chaîne string recherchée.

       

      Voici votre fonction que vous avez modifié et ce que vous pouvez retirer car ne sert à rien si vous corrigé le BUG d’origine par l’ajout de la Var Local manquante

      ———————————————-
      — function XML_Parse_Value(field, str)

      — Récupère la Value d’un Tag d’un XML
      — field : Tag de la Value XML à récupérer
      — str : Fichier XML
      — Return = Value Numérique ou « On »/ »Off » si value d’un Switch
      — Return 0 si le Tag n’est pas trouvé
      ———————————————–
      function XML_Parse_Value(field, str)

      — local field_start = string.find(str ,field)   — ICI BUG, il faut 2 Var avant appel find(….) une 1ere Var<=index début, 2eme Var<=index fin
      local deb , field_start = string.find(str ,field)  — ICI Corrigé, la Var deb va pointer au début du TAG « < » et la Var field_start sur « > »

      if field_start == nil then
      print (« XML error – Value NOT found »)
      return 0
      end

      local field_end = string.find(str, « </ » ,field_start)
      —- str_field = string.sub(str, field_start+0, field_end-1)   — ICI PAS bon la valeur se trouve à l’index field_start+1 et non + 0
      str_field = string.sub(str, field_start+1, field_end-1)        — LIGNE Corrigée

      if debug == true then print(str_field) end

      —– ICI vos RAJOUT ne Servent à rien si vous corrigez le BUG d’origine (bug manque var local deb sur le 1er find)
         — local field_e = string.find(str, « > » ,field_start)       — Doublon pour rien la VAR str_field intégre déjà la Valeur du TAG
         — str_field = string.sub(str, field_e+1, field_end-1)      — Doublon pour rien  

      if str_field == « ON » or str_field == « OFF » then
      return str_field
      else
      return tonumber(str_field)
      end

      end

      VOICI la Fonction qui fonctionne après correction du BUG suite Oubli de la VAR DEB sur le 1er str.find(s,…)

      ———————————————-
      — function XML_Parse_Value(field, str)

      — Récupère la Value d’un Tag d’un XML
      — field : Tag de la Value XML à récupérer
      — str : Fichier XML
      — Return = Value Numérique ou « On »/ »Off » si value d’un Switch
      — Return 0 si le Tag n’est pas trouvé
      ———————————————–
      function XML_Parse_Value(field, str)

      —– ICI il faut mettre deux VAR en appel du Find(…)
       local deb , field_start = string.find(str ,field)     — Ligne Corrigée, deb va pointer au début Tag « < » et field_start sur la fin du TAG « > »

         if field_start == nil then
            print (« XML error – Value NOT found »)
            return 0
         end

         local field_end = string.find(str, « </ » ,field_start)
         str_field = string.sub(str , field_start+1 , field_end-1)        — LIGNE Corrigée on est bien cadré <tag>+1 => valeur <= -1</tag>

         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

      De même il faut rajouter la VAR deb dans la function XML_Parse_TAG(field, str)

      ———————————————–

      function XML_Parse_TAG(field, str)

      local tagdeb = « <« ..field.. »> »
      local tagend = « </ »..field.. »> »
      local deb , field_start = string.find(str ,field)   — ICI Corrigé, la Var deb va pointer au début du TAG « < » et la Var field_start sur « > »
      …….
      …….

      0
      0
      cdlog2
      Modérateur

        RE: Je m’aperçois qu’il y a un bug dans le Script LUA que j’ai fourni !

        En effet la ligne  local field_start = string.find(str, tagdeb) de la function XML_Parse_TAG(field, str) doit sécrire :
        local deb, field_start = string.find(str, tagdeb)

        et la ligne local field_start = string.find(str,field) de la function XML_Parse_Value(field, str) doit s’écrire :
        local deb, field_start = string.find(str,field)

        La fonction API str.find(s,…) LUA renvoie 2 valeurs, la 1ere valeur est l’index du début de l’occurrence recherché et la 2eme valeur l’index de fin de cette occurrence.

        Je joins le Script corrigé.

        Cdt

         

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

          Bonjour,

          Vous déterrez un vieux sujet de discussion et vous donnez très peu d’information pour bien comprendre votre problème. Qu’elle est la version de votre WES ?

          De ce que je peux comprendre de votre énoncé, c’est que vous n’arrivez pas à extraire correctement les états des Relais rendus par le WES suite à l’envoie de requêtes sur le Data.cgx depuis votre Script Domoticz.

          Quel est votre Script Domoticz ? il existe deux versions, l’une écrite en Python et l’autre en Lua ? Pourriez vous nous transmettre votre script Domoticz utilisé sous forme d’archive ZIP ?

          Concernant la réponse du WES à une requête sur Data.cgx, oui en effet, les états des Relais sont rendus par « On » ou « Off ».

          Exemple : extrait réponse du data.cgx pour les relais du WES:

          <relais>
          <RELAIS1>ON</RELAIS1>
          <RELAIS2>OFF</RELAIS2>
          </relais>

          Si vous utilisez le Script Domoticz écrit en LUA, il existe une fonction qui extrait les valeurs du Data.cgx suivant un Mots Clé XML passé en argument et qui fait une analyse de la valeur lue relative à cette Clé en vérifiant s’il s’agit d’une réponse « ON ou  OFF », soit une valeur rendue par une Clé type Switch ou Relais. Si la valeur lue est bien « ON ou OFF » alors la fonction retourne cette valeur sans la modifier et pour tous les autres cas, la valeur est convertie en valeur numérique.

          Voici en exemple la fonction concernée accompagné d’un appel à cette fonction avec enregistrement dans Domoticz de la valeur associée à son n° Ident.

               ———————————————-
              — function XML_Parse_Value(field, str)
              —
              — Récupère la Value d’un Tag <ID> d’un XML
              — field : Tag <ID> de la Value XML à récupérer
              — str : Fichier XML
              — Return = Value Numérique ou « On »/ »Off » si value d’un Switch
              — Return 0 si le Tag <ID> n’est pas trouvé
              ———————————————–
              function XML_Parse_Value(field, str)

                 local field_start = string.find(str,field)
                 if field_start == nil then
                    print (« XML error – TAG NOT found »)
                    return 0
                 end
                 
                 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

              ————————————————————
              — Implémente toutes les valeurs WES dans la Array commandArray
              ———————————————————-
           
              idx_relais1 = 80                                          — n° Ident relais 1 Domoticz

              relais1 = XML_Parse_Value(« <RELAIS1> »,XML_string)         — demande l’état du Relais 1 rendu par le Data.cgx, soit « On ou OFF »
              commandArray[idx_relais1] = {[‘UpdateDevice’] = idx_relais1..’|0|’..relais1}     — enregistre la réponse au n° Ident dans Domoticz

          Trouvez en pièce jointe un exemple de Script LUA Domoticz dédié pour envoyer des requêtes data.cgx au WES.

          Cdt

           

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

            Bonjour,

            Votre demande existe et sera certainement implémenté dans la prochaine MAJ par @nicolas.

            La modif que j’ai apporté aux Graph des TIC, PCE et PULSE vous permet de sélectionner une zone dans ces Graphiques, puis en fin de sélection vous avez le détail du cumul en kWh rendu pour chaque élément présent dans la zone sélectionnée dans le Graph.

            Concernant les Graph Pulses, cette fonction de sélection vous donnera uniquement le Cumul en kWh pour les compteur à impulsion type électrique, sachant que pour les Pulses type Compteur Eaux, Gaz et Fioul, vous avez déjà un cumul fourni au fil de l’eau dans le Graphique Pulse.

            Quelle est votre version WES ?.

            J’ai porté ces MAJ sur les versions v0_84A10 et v0_84A4 – all.

            Si vous le voulez et si vous avez une de ces versions, je peux anticiper et vous fournir mes fichiers modifiés en attendant ceux de la MAJ de @Nicolas.

            Cdt

             

            0
            0
            cdlog2
            Modérateur

              RE: Un complément pour info. Lorsque vous demandez d’éditer un fichier CSV dans le Tableur, Le temps de chargement et le Traitement peut être assez long, de l’ordre de 4 à 5 secondes suivant la taille du CSV à éditer. Les CSV de type PCE sont les plus Gros et ont parfois plus de 99k en taille.

              Lorsque vous lancez l’édition d’un CSV, vous êtes informé par un texte « Chargement en Cours » durant le traitement dans le Tableur. Le Tableur apparaît rempli en fin du Process.

              Cdt

               

              0
              0
              cdlog2
              Modérateur

                Bonjour,

                Je n’ai pas accès au code du serveur, donc je ne peux que supputer la raison de vos Problèmes avec l’historique de vos Pinces.

                Tout parait normal excepté en effet le report des consommations du fichier DAT vers le fichier CSM et ce depuis le mois d’aout. Par contre la définition des Coût dans le CSM semble correct.

                A la vue des noms de vos fichiers DAT, il semble que vous avez effectué la MAJ WES V0.84A10 qui à été disponible en téléchargement justement au mois d’Aout.

                En effet depuis cette MAJ, du moins c’est ce que constate chez moi, les Pinces 3 et 4 sont enregistrées avec des nom de DAT et CSM suivi de la lettre « v », exemple : 2021v.dat et 2021v.csm, et plus comme les vôtres 20212.dat et 20212.csm.

                Donc je dirais que votre MAJ c’est mal passé et/ou certains fichiers n’ont pas été remplacés correctement et/ou le Serveur à été perturbé côté mémoire interne à un moment donné.

                @Nicolas sera plus à même de diagnostiquer votre PB, mais pour ma part, je ne puis que vous conseiller de faire le ménage dans votre carte SD, De supprimer des Historiques GRAPH, tous vos vieux fichiers plus utilisés (Année 1800 !!!!). De faire une sauvegarde de vos fichiers de Config.

                De faire un bon formatage de votre carte SD et réinstaller la dernière MAJ avec vos config. Par contre il faut de bien entendu corriger le fichier CMS à la main et remettre les bonnes infos de consommations comme ceux du DAT.

                Si votre WES commence à prendre de l’age, je vous conseille d’en profiter pour changer la Pile.

                Je suppose que vous ne faites pas de requête FTP afin de télécharger directement vos fichiers DAT et CSM par un processus automatisé externe, qui pourrait rentrer en conflit, si un enregistrement du WES se fait au même moment que le téléchargement en FTP du même fichier !

                Cdt.

                 

                 

                 

                0
                0
                cdlog2
                Modérateur

                  Bonjour,

                  Le condensateurs Céramiques de 0.1uf raccordé côté borniers du WES, pour les Compteurs à Eaux, sert à filtrer les Rebonds du Contact ILS de ce type de Compteur.

                  Par contre, il ne sera pas vraiment efficace pour filtrer vos Parasites induits par votre Cordon chauffant.

                  Il faut absolument que la liaison entre votre Compteur à Eau et le WES se fasse via une seule Paire Torsadée, issue d’un câble type Cat5, Téléphonique ou équivalent.

                  Si vous connectez le blindage du câble de liaison à la Terre, il ne faut pas relier les deux extrémités du câble. Seul le blindage proche de votre compteur doit être connecté.  Il ne faut surtout pas relier la Masse (GND) du WES à la terre !

                  Il faudrait par ailleurs vérifier que cela ne soit pas cette mise à la Terre qui vous apporte ces parasites. Voyez à faire un test sans cette mise à la Terre de l’écran du câble de liaison.

                  Pour filtrer plus efficacement les parasites induits par votre Cordon chauffant, il faudrait y connecter un Filtre Anti parasites en série entre le 230V et son point d’alimentation, au plus près du cordon.

                  Je vous joins un Schéma type de ce genre de Filtre. Vous en trouvez tout fait dans le commerce.

                  Cdt

                   

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

                    Bonsoir,

                    MS Windows ne permet pas de créer un lecteur réseau sur un système autre que Microsoft, s’il n’y a pas Samba d’installé dans le client distant qui permet le partage de ses dossiers en SMB.

                    Sous linux par contre vous pouvez très facilement monter un lecteur réseau en partage sur la SD du WES. Je l’utilise tout le temps.

                    Dans le gestionnaire de fichier, l’explorer de Debian, Ubuntu, etc … vous tapez ftp://Ip du WES dans la section réseau distant, il vous monte la fénêtre de sécurité pour vous connecter avec login et password et vous avez ensuite un Lecteur Réseau directement monté sur la carte mémoire du WES. Vous accédez directement à tous les dossiers et fichiers comme si la carte mémoire du WES était connecté par une Clé USB.

                    Cdt

                     

                    0
                    0
                    cdlog2
                    Modérateur

                      Bonsoir,

                      Le ms122402 joue le rôle d’un Onduleur, hormis que l’alimentation 230v – 12v et la batterie sont externe à ce module.  Cet appareil est très réactif, il détecte les coupures électrique via photocoupleur.  Chez moi aussi il y a souvent des micros coupures de délestage de Erdf. Je n’ai jamais eu de PB depuis que j’utilise cet ensemble.

                      C’est le ms122402 qui gère et joue un rôle de régulateur de la batterie. La batterie est isolé en temps normal de la sortie 12v utilisation. elle est chargée automatiquement lorsque nécessaire. La capacité de charge de la batterie est réglable et est fonction du type de la batterie connectée, vous pouvez mettre des batteries au plombs entre 2Ah jusqu’à 20Ah.

                      Lorsque le secteur est présent, la sortie utilisation reçois le 12v directement de l’alimentation externe.

                      Je ne connais pas l’alimentation qui alimente votre WES. qu’elle est sa capacité en Amp ?.

                      Il faut considéré que l’Alim intégré dans un ensemble avec batterie de secour, doit avoir une puissance suffisante pour d’une part alimenter correctement les circuits utilisateurs mais aussi pouvoir fournir un courant suffisant pour charger la batterie lorsque nécessaire.

                      En général on prévoit au moins un courant de charge et de maintien d’une batterie de environs 10% de la capacité de la batterie. Une batterie au plomb de 20Ah sera correctement maintenue et chargée si on lui fournie un courant de charge de l’ordre de 2 Amp.

                      Donc pour répondre à votre question, il vous suffit de calculer les consommations des appareils alimentée par votre Alim 12v et vous rajouter 10% de la capacité de la batterie que vous allez connecter. Il est toujours préférable d’avoir des épinard de réserve que d’être juste en limite de toutes choses !

                      Vous pouvez aussi utilisez l’ensemble décrit par @Gaby-69. Cela vous revient à moins cher. Il suffit d’avoir une bonne alimentation bien stabilisée et de connecter une batterie en Tampon. Mais l’inconvéniant d’une alimentation secourue avec la batterie toujours en charge va fatiguée cette batterie qui dans le temps va se dégrader plus rapidement et perdra  plus rapidement ses capacités de maintien.

                      Moi j’ai fait le choix d’une alimentation 12V de 10A, ce qui me donne de la marge en prévision de rajouter quelques équipements complémentaires.

                      Cdt

                       

                       

                       

                      0
                      0
                      cdlog2
                      Modérateur

                        Bonjour,

                        Je suis comme vous, en campagne et sujet à des coupures, mais j’ai réglé mes PB en installant un ensemble, certe un peu cher, mais performant.

                        ms122402 Module de Secour ( chargeur batterie + gestion alim secourue panne secteur sans coupure)
                        ndr12012 alim 12v 10A
                        Batterie yucel Y5-12 12v 5Ah — Dim. 10cm x 9cm x 7cm

                        L’ensemble alimente le WES ainsi que tous mes autres appareils domotique. La batterie de 5Ah permet une autonomie de 1h environ. J’aurais pu connecter une batterie plus grosse, mais c’est le volume occupé de cette batterie qui à été déterminé mon choix.

                        Voir schéma joint.

                        Cdt

                         

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

                          Bonsoir

                          Voici la dernière mouture de la gestion de sélection dans les Graphs des TIC et PCE.

                          La gestion des Consos et Injection (production) géré lors de la sélection des Graph dans les fichiers PCEGRAPH.HTM et pcegraph.html ont été validé en test pas Nicolas.

                          Donc normalement ces fichiers Joints seront les derniers . Les fichiers sont compatibles avec les versions v0.84A10 et v0.84A4 simple et double site

                          Seul la version v0.84A4 double site recevra la copie des 4 fichiers de l’archive. Pour la version v0.84A4 simple site et la dernière version v0.84A10

                          il ne faut copier que les fichiers HTM, soit PCEGRAPH.HTM et TICGRAPH.HTM

                          Sauvegardez vos fichiers d’origines avant leurs remplacement.

                          Je reviens dès que j’aurais implémenté cette nouvelle fonction de sélection pour les Graph des PULSES.

                          Cdt

                           

                           

                           

                           

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

                            Re : Juste pour Info. Je vais encore déposer un Update concernant le fichier PCEGRAPH.HTM et pcegraph.html pour le double site.

                            J’attends juste que Nicolas me teste le Graph des Pinces avec des Pinces déclarées en mode de Production (Injection) chose que je ne peux faire.

                            J’ai encore rajouté une modif pour cette gestion. surveillez le Blog pour recevoir les fichiers, je ne sais pas quand Nicolas va me répondre.

                            Cdt

                            0
                            0
                            cdlog2
                            Modérateur

                              Bonjour,

                              Je n’ai pas installé la version  v0_84A10 dans mon WES. Je suis resté en version  V0.84A4. Dans cette version il n’y a pas de widget visible dans la page Graph des Températures. Par contre il y a deux fenêtres qui montrent les Mini-Maxi pour toutes les sondes, ceux du Jour, Mois et Année.

                              Mais il faut bien comprendre qu’il n’y a pas d’heure précise d’enregistrement des ces Minima et maxima. C’est le serveur qui analyse au fil de l’eau, toutes les 30s, les températures qui sont lues du bus 1Wire et ces valeurs sont comparées aux valeurs extrêmes déjà enregistrés afin de voir s’il y à lieu de faire un update des valeurs existantes.

                              Seul Nicolas peut enregistrer la date et heure d’un Update d’un Minima et Maxima, car c’est au niveau du serveur que cela ce passe et nous n’avons pas accès aux sources. Cette modifs ne être effectuée depuis les pages WEB.

                              concernant le changement de lecture à date pour les Graphs, oui ont peut mettre deux boutons afin de facilité le changement. Mais cela restera purement incrémental ou l’inverse et il y auras toujours une petite pause entre chaque chargement.

                              Je vais voir ce que je peux faire pour faciliter cette option.

                              Cdt

                               

                               

                               

                               

                              0
                              0
                              cdlog2
                              Modérateur

                                RE : ENCORE DESOLE !!!

                                J’ai Omis d’intégrer les Datas des Injections pour les Graphs des PINCES.  Je viens juste de corriger le BUG.

                                TROUVER une dernière (je l’espère) Archive avec les fichiers Corrigés

                                Je reviens vers vous lorsque j’aurais finalisé la gestion des Graphs pour les Pulses et peut être que @Richard pourra me dire ce qu’il attend concernant les Graphs des températures, Calcul d’une moyenne de Temps. ? ou autre ?

                                Cdt

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

                                  Bonjour,

                                  Désolé, je n’ai pas été assez rapide et vous êtes matinal. J’ai découvert 2 petits bugs dans mes fichiers et je vous transfère les nouveaux fichiers dans une autre archive. Ces fichiers remplacent les précédents.

                                  Je peux regarder à implémenter cette gestion de sélection des Graphs aussi pour les Pulses mais concernant les températures je ne comprend pas ou se trouve l’intérêt ? à moins d’établir une moyenne des Temp. sur la période de temps sélectionné pourquoi pas, c’est peut être votre idée ?

                                  Concernant le défilement des jours du calendrier des Graphs à l’aide d’ascenseur est certainement faisable, mais assez dangereux. On lit les datas contenus dans le dossiers Graph (TIC, PCE, PLS Tmp ) de la carte mémoire SD et cette carte mémoire n’est pas un disque dur. Les temps de lecture sont plus important. On ne pourrait pas avoir une fluidité dans les lectures et cela pourrait même provoquer des blocages si vous faites défiler l’ascenseur trop rapidement. Autrement la modif est assez simple à mettre en oeuvre ! Je vais voir à trouver un compromis acceptable pour cette demande.

                                  De même, toucher aux Widgets est faisable, mais cela devient compliqué pour réintégrer ce genre de modifs lors de MAJ, surtout si la page d’accueil est remaniée à l’occasion d’une Release. Je jéterais néanmoins un coup d’oeil.

                                  Cdt

                                   

                                   

                                   

                                   

                                   

                                   

                                  Attachments:
                                  You must be logged in to view attached files.
                                  0
                                  0
                                Affichage de 15 réponses de 721 à 735 (sur un total de 1,620)