cdlog2

Forum Replies Created

Affichage de 15 réponses de 1,336 à 1,350 (sur un total de 1,618)
  • Replies
    cdlog2
    Modérateur

      Bonjour,

      C’est bien ! cela commence à parler. Par contre en effet il manque des messages, comme ceux de python au lancement des process parallèles.

      Supprimer le fichier Domoticz.log du dossier domolog, puis accéder à la page WEB pour visualiser la Téléinfo. Normalement le fichier Domolog.log sera recrée ! en principe ? S’il y a des logs,  copier le domoticz.log dans un autre fichier.txt que vous sauvegarder.

      Une manip complémentaire serait bien d’essayer. Télécharger le logiciel Terminal que je vous envoie en pièce jointe (pas de virus). Décompresser le ZIP. Un dossier Terminal sera crée. Un seul fichier exécutable Terminal.exe est présent. Il se lance directement.

      Il serait intéressant de capturer la trames reçue du modem. Ce logiciel Terminal vous permet de paramétrer un Port Com à analyser et de capturer le flux reçue. Voir en pièce jointe l’image avec les  paramétrer mis en Rouge à paramétrer dans Terminal pour recevoir le flux de votre port Com3. En vert en haut vous lancer la capture. Vous pouvez effacer la fenêtre avec le bouton Clear en vert. Une foi la capture lancé, vous pouvez mettre en pause avec le même bouton qui à servi à lancer la capture, l’intitulé à changé normalement.

      vous mettez en pause et sélectionner la trame reçue par un clic droit de la sourie; vous pouvez ensuite copier l’ensemble dans un éditeur de texte (boc note, notepad etc)

      Faites un Zip des 2 fichiers texte, celui de terminal et celui de la copie de domoticz.log . Le blog n’accepte pas l’envoie de fichier TXT directement en pièce jointe.

       

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

        Bonjour,

        Vous souhaitez mettre votre relais ON à partir de 8h30 le matin tous les jours s’il est OFF.
        Vous souhaitez mettre votre relais OFF entre 00h01 et 4h00 si votre Switch Virtuel « internet_prog » est ON

        Vos lignes sont bien programmé.

        Par contre Si je comprend bien, c’est votre BOX Internet que vous coupez.

        Une question qui me vient à l’esprit, Comment avez vous programmé la mise à l’heure du WES côté Horloge ?

        – Avez vous activé la Mise à l’heure par NTP ( automatique via un serveur NTP en Cnx avec la BOX lorsqu’elle fonctionne !!! )
        – Ou avez vous choisi de Changer l’heure (manuellement) et laissez le WES gérer sont horloge interne.
        – Pensez vous qu’il soit possible que le WES se dérègle côté horloge, si la MAJ est faite par NTP et lorsque la BOX est OFF ?

        autres questions :
        – êtes vous sujet à des micros coupures électrique ?
        – avez vous autorisé l’accès à votre WES depuis internet via votre BOX, connaissez vous un petit malin qui connaisse vos logins de Cnx ?

        cdt

        0
        0
        cdlog2
        Modérateur

          Juste un complément, je suppose que vous avez bien positionné le cavalier, qui se trouvre à l’intérieur du modem, sur WIN et Non Linux !

          0
          0
          cdlog2
          Modérateur

            J’ai regardé les codes sources et les -options que nous avons mis devrait normalement afficher tous les messages ???.

            Par contre pour être plus précis, on peut détailler les niveaux des Logs que l’on souhaite. La valeur « all » pour les -Options -loglevel et -debuglevel est normalement reconnu comme Valeur de niveau MAX mais au cas ou il y aurait une Astuce que je ne vois pas, je vous propose de détailler et de chainer tous les Niveaux de ces Log comme cela est aussi prévus.

            Ci dessous je détaille, ligne par ligne l’ensemble des -Option que vous devez rentrer. Ces lignes mises bout à bout son longues :

            Chaque option commence par un – (tiret) Il faut un espace avant une -option et un espace entre l’-option et la ou les valeurs associées

            -www 8080
            -sslwww 443
            -log C:\domolog\domoticz.log
            -loglevel normal,status,error,debug
            -debuglevel normal,hardware,received,webserver,eventsystem,python,thread_id

            Je vous propose d’essayer la ligne ci dessous qui englobe toutes ces options Log possible. Bien respecter un espaces devant une -Option et entre sa ou ses valeurs associées. Concernant les -Options -loglevel et -debuglevel leurs diverses valeurs sont chainées par des , (virgule) sans espace. Les -options et valeurs sont en minuscule (important)

            « C:\Program Files\Domoticz\domoticz.exe » -www 8080 -sslwww 443 -log C:\domolog\domoticz.log -loglevel normal,status,error,debug -debuglevel normal,hardware,received,webserver,eventsystem,python,thread_id

            Trouvez dans le « gestionnaire des Taches » de Windows, dans la rubrique « Démarrage » La ligne de commande qui lance Domoticz au Boot (Démarrage) de Windows. Voir explication dans un de mes précédents Post.

            Mettez toutes ces options dans la ligne de commande comme vous le faîtes pour l’icone de Domoticz. Il serait bien de tester ces Options au démarrage de Windows. En effet, il ce peut, que malgrès vous arrêtez Domoticz manuellement pour le relancer avec les Options, que certains processus qui était lancés, continus à tourner et qui n’ont pas connaissance de ces nouvelles Options (MQTT, Python etc) .

            Le fait que Domoticz ait connaissance de toutes ces -Options au démarrage de Windows,  force tous les process annexes à être M.A.J

            Redémarrer Windows lorsque vous aurez modifier la commande de Démarrage de Domotiz dans le gestionnaire des taches de Windows.

            cdt

            0
            0
            cdlog2
            Modérateur

              Ok concernant la syntaxe avec Windows. Juste à titre d’Info Perso. qu’elle est la version de votre Windows.

              Donc on avance un peu !,  Domoticz reconnaît bien vos -Options. Mais à priori l’option  » -debuglevel all  » ne déverrouille pas à lui seul les messages -LOG-DEBUG. Il doit y avoir un autre critère en complément qui n’est pas encore satisfait.

              Ayant du temps à perdre ! Je vais étudier plus en avant les Codes Source de Domoticz pour comprendre ce qui lui manque pour afficher ces messages complémentaires.

              J’avais lue dans un fichier Readme de domoticz que l’Option  » -verbose 1  » ouvrait ces messages Débugs, mais ce qui me gêne c’est que cette Option ne fait pas parti de la liste des Options décrites dans le HELP  (aide) de Domoticz.exe.

              Essayez tout de même pour simple Test de rajouter  -verbose 1 dans la continuité de votre liste d’options actuelles, juste pour voir si cela débloque les messages, faîtes moi le savoir.

              « C:\Program Files\Domoticz\domoticz.exe » -loglevel all -debuglevel all -www 8080 -sslwww 443 -log C:\domolog\domoticz.log -verbose 1

              De mon côté je reviens vers vous dès que j’aurais compris ce qui manque. De votre côté essayez de lire dans la Doc ou via les FAC de domoticz si vous trouvez quelque chose relatif au  » -log-debug. « 

              Si on arrive à avoir ces compléments de messages, il sera plus facile , en principe !, de comprendre vos problèmes.

              cdt

               

               

              0
              0
              cdlog2
              Modérateur

                bonsoir,

                l’option -h  permet d’afficher toutes les options valides de domoticz. Par contre cette option empêche bien sur Domoticz de se lancer. C’est juste une aide en ligne. Donc l’option -h ne doit pas être utilisé avec les autres options de démarrages.

                Possible aussi qu’il ne faille pas ajouter le signe = (égale) entre une -option et la valeur associée.

                Afin d’avoir plus d’atouts dans le Test, on va demander de remplir en parallèle un fichier log dans un dossier de Windows.

                Créer un nouveau dossier que vous appelez domolog par exemple à partir de la racine de C:

                Ensuite Remplacer et Copier la chaîne ci-dessous dans la CIBLE de l’icone de domoticz sans ajout de double quotes :

                C:\Program Files\Domoticz\domoticz.exe -loglevel all -debuglevel all -www 8080 -sslwww 443 -log C:\\domolog\\domoticz.log

                Il faut arrêtez Domoticz lorsque vous changez ces Options. Relancez Domoticz, Attendez quelques secondes, puis regardez dans C:\domolog si vous voyez le fichier domoticz.log. S’il est présent, tous les LOG seront enregistrés dans ce fichier.

                Un fichier LOG s’ouvre comme un fichier TXT avec n’importe quel éditeur de texte (notepad etc…)

                Cdt

                0
                0
                cdlog2
                Modérateur

                  RE : Bonjour,

                  Je suis rentré un peu plus dans les sources du programme. Il semble en effet y avoir la possibilité de choisir le type et le niveau des LOG messages

                  Pour le vérifier, je vous propose de lancer le EXE de domoticz avec l’option -h, cela devrait vous afficher l’aide de domoticz avec toutes ses options disponibles. Exemple si le EXE est domoticz.exe : domoticz.exe -h

                  Vous rentrez l’option à la suite du programme.EXE de domoticz dans la CIBLE de l’Icone comme indiqué dans le précédent Post.
                  Il faut arrêter Domoticz avant de le relancer avec les options.

                  Concernant les logs il y a plusieurs choix d’affichage, exemple l’option domoticz.exe -loglevel=all vous affiche tous les LOGS
                  Ci-dessous les divers choix  des niveaux possibles pour les LOG

                  -loglevel=all
                  -loglevel=normal
                  -loglevel=status
                  -loglevel=error
                  -loglevel=debug

                  De même si l’option est -loglevel=all  ou -loglevel=debug, vous pouvez rajouter et filtrer le types des messages DEBUG voir la liste ci-dessous
                  Vous devez chaînez les options les uns à la suite des autres avec un espace entre chaque.

                  exemple : domoticz.exe -loglevel=all -debuglevel=all

                  Cet exemple vous affichera tous les LOG.LOG et tous les LOG.DEBUG sans filtre. Cela va probablement saturer votre console de messages !!!

                  -debuglevel=all
                  -debuglevel=normal
                  -debuglevel=hardware
                  -debuglevel=received
                  -debuglevel=webserver
                  -debuglevel=eventsyste
                  -debuglevel=python
                  -debuglevel=thread_id

                  Confirmez si cela fonctionne, cela peut servir à d’autres.

                  Cdt

                  0
                  0
                  cdlog2
                  Modérateur

                    Re: Un complément, si vous avez paramétré Domoticz pour démarrer automatiquement au boot du PC.

                    Dans ce cas, vous pouvez ajouter l’option -verbose 1 dans le processus de démarrage de Domoticz.

                    Pour Windows 10, click droit dans la barre des taches et ouvrir le gestionnaire des taches.
                    Pour les autres version de windows taper msconfig dans exécuter ou rechercher, cela ouvre le gestionnaire système

                    Allez dans l’onglet Démarrage. Vous cherchez l’Exe de Domoticz dans la liste. Click droit sur le process et ensuite propriété.
                    A droite du fichier EXE de domoticz, vous rajouter un espace suivi de  -verbose 1
                    Vous Appliquez la modif, fermez la fenêtre et vous redémarrer Windows.

                    N’oubliez pas d’enlever l’option lorsque plus utile.

                    0
                    0
                    cdlog2
                    Modérateur

                      Je suppose que vous lancez Domoticz depuis une icone, soit un raccourci sur le bureau ou depuis la référence du programme.

                      Faire un clic droit sur l’icone puis propriété et vous ouvrez l’onglet raccourci.

                      Vous trouvez la rubrique Cible : qui défini l’emplacement (dossier) et le nom du programme qui doit être exécuté.  il suffit de rajouter -verbose 1 après le nom du programme EXE séparé par un espace.

                      A supposé que Domoticz.exe est le nom du fichier programme,  vous modifié la ligne comme suit :

                      CIBLE :        C:\nom du ou des dossier\Domoticz.exe -verbose 1

                      Vous appliquez la modif, fermez les propriétés de l’Icone. Assurez vous d’arrêter la session actuelle de Domoticz si déjà lancé.

                      Il vous suffit de relancer Domoticz depuis l’icone ainsi modifié, le programme va interpréter l’option  -verbose 1 que vous avez rajouté dans la ligne de commande.

                      Si cette Option est valide ?, je répète c’est à vérifier ?, peut être que vous aurez en complément les messages LOG type débug. Ces nouveaux Log vous permettons d’avoir plus de détails sur les actions en cours au fil de l’eau;

                      N’oubliez pas lorsque vous en aurez terminé ou si l’option ne donne rien, de supprimer cette option de la ligne de commande Cible.

                       

                       

                       

                      0
                      0
                      cdlog2
                      Modérateur

                        Je suppose que vous lancez Domoticz par son nom sous windows, étant probablement un executable ou un fichier Bat .

                        J’ai vue quelques par que l’on peut adjoindre des options au lancement de l’application. A priori ? et à vértifier ! l’option -verbose 1 permet d’activer les Logs debug .

                        donc essayez de lancer : Domoticz -verbose 1

                        regardez ensuite les messages log de domoticz si vous voyez un complément de log que vous n’aviez pas.

                        par défaut l’option -verbose = 0

                         

                        0
                        0
                        cdlog2
                        Modérateur

                          Avez vous trouvé comment activer les messages type _log.debug ?. Seul les messages _log.log sont actuellement affiché dans votre config Domoticz

                          Sous linux on paramètre le Bash domoticz.sh pour le faire. Sous Windows je ne connais pas. Il doit y avoir un fichier Ini ou équivalent pour paramétrer certaines configs spécifiques à Domoticz.

                          Mais Juste pour information : pourquoi utiliser votre pc sous Windows pour installer Domoticz. Je vous conseille d’installer Domoticz dans un petit Raspberry pi 3+ ou 4 sous Linux Raspbian qui fera aussi bien si ce n’est que mieux que votre pc, vous connaissez peut être. Cela fonctionne parfaitement bien pour un coût  de moins de 50€, boitié et alim comprise, et vous avez pleins d’exemples et de blogs pour répondre et résoudre les éventuels problèmes. Cela libère aussi votre Pc d’un surcroït de charge.

                          Vous connaissez peut être Linux. Mais dans le cas contraire l’installation de Raspbian et Domoticz est facilitée pour ceux qui ne maîtrise pas.  Il suffit de suivre les étapes que l’on trouve dans de nombreux blogs et exemples d’installation. Souvent cela se résume à faire un copie/coller des commandes proposées par étapes dans une console Linux. C’est très simple et abordable.

                          Votre modem fonctionne parfaitement bien avec une config Domoticz sous Linux Raspbian installé dans un Raspberry pi. Les drivers sont disponible sur ce site.

                          0
                          0
                          cdlog2
                          Modérateur

                            Ok vous avez raison, je n’avais pas ouvert votre 2eme capture-2, on voit bien en effet le Log qui se trouve juste avant l’ouverture du Port com, que c’est bien le Com3 et 1200 bauds qui seront utilisé pour ouvrir la liaison du modem  . Donc le problème ne vient de de cela.

                            Il doivent interpréter l’Index de saisi du menu déroulant du baud rate et non la valeur contenue. Comme probablement 1200 doit être le 1er de la liste, cela correspond à l’index 0 et c’est bien la valeur ZERO qui servira à initialiser la Class avec baud rate = 0. Cela va forcer la fonction à paramétrer le baud rate à 1200. Si vous aviez choisi 9600 soit l’index 1 alors le programme force à 9600. C.Q.F.D

                            On poursuit Donc, Lorsque l’Init est Ok , on lance une Thread qui va lire périodiquement le Port Com avec ou sans Test du CRC et ensuite on Parse les Data reçus (on décrypte la trame reçu)

                            Il y a deux Process qui sont lancés en parallèle. Un process reçoit la trame du modem et un autre décrypte et Parse les datas pour affichage.

                            si vous avez par exemple Visual Studio, vous pouvez alors compiler les souces et ensuite suivre les étapes via le debugger.

                            Autrement vous n’avez que les _log.log qui vous donne quelques étapes essentielles. Je ne connais pas Domoticz, mais s’il est possible d’activer les _log.Debug par quelques params de config, alors vous aurez beaucoup plus d’informations sur chaque étapes en cours et probablement vous trouverez plus facilement d’ou vient le problème.

                            Je n’ai pas votre modem téléinfo donc je ne peux pas me mettre dans votre contexte pour essayer. Il faut un minimun quelques Log pour suivre à l’aveugle dans le code source et interpréter.

                            Les taches de fond utilisent Python pour les Callback. Normalement.  votre Pc doit avoir Python d’installé. Il faudrait voir si vous avez bien Python 3 d’installé et non Python 2.7 . Test sous console CMD windows  :   python -V

                             

                             

                             

                            0
                            0
                            cdlog2
                            Modérateur

                              Je vous envoie les derniers fichiers sources de la téléinfo de Domoticz version 4.107

                              La classe CTeleinfoSerial n’a guère changé côté initialisation et côté de l’ouverture du port COM. Le changement est plus important dans la gestion de la trame de la téléinfo reçue. Cette gestion est déporté dans un autre classe CTeleinfoBase() dans le fichier TeleinfoBase.cpp

                              Concernant la config du #define TELEINFO_STOP_BITS il est bien positionné en dur dans le fichier TeleinfoSerial.h sur la valeur 7. Donc en effet le Port Com est bien paramétré en 7bits en DUR.

                              Il ne reste que l’hypothèse du baud_rate qui prend la valeur 9600 si la classe CTeleinfoSerial  est initialisé avec une valeur de baud rate autre que 0.

                              if (baud_rate == 0)
                              m_iBaudRate = 1200;
                              else
                              m_iBaudRate = 9600;

                              C’est avec cette variable m_iBaudRate, en autres,  que le Port Com sera ouvert .

                              Cette valeur de Baud Rate est fournie bien en amont avant l’init de la Classe CTeleinfoSerial, probablement lors d’une saisie d’information ou un fichier de config.

                              Si dans l’interface « Matériel » qui vous permet d’initialiser « Teleinfo EDF » on vous demande de rentrer le baud-rate du Port Com, essayez de rentrer la valeur 0 au lieu de 1200.

                              La valeur 0 va paramétrer la variable m_iBaudRate =1200.

                              Toutes autres valeurs, même 1200 sera transformées en 9600 et m_iBaudRate => 9600. Votre Port Com sera initialise en 9600 bauds au lieu de 1200 bauds

                               

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

                                Une idée de dernière minute.

                                On voit bien à l’init de la class CTeleinfoSeria, que le baud-rate est forcé à 9600 si on envoie une valeur d’argument autre que ZERO. Sinon le baud-rate sera positionné à 1200 par défaut.

                                Je ne connais pas Domoticz, par contre je suppose qu’il y a une interface ou vous devez donner un minimum de renseignement, le Port Com utilisé et peut être le baud-rate ?

                                Si en effet le baud-rate est sollicité , essayé de configurer votre interface « Teleinfo EDF » avec un baud-rate à 0 ( ZERO ). Si je suis la logique du programme, il sera convertie en 1200 bauds par défaut. C’est peut être une des causes de votre problème.

                                Cdt

                                 

                                0
                                0
                                cdlog2
                                Modérateur

                                  Je pense avoir trouvé le fichier Source, la Classe TeleinfoSerial.cpp qui gère l’interface avec le port Com « Teleinfo EDF »

                                  je vous l’envoie en pièce jointe (sous archive ZIP car le blog n’accepte pas d’autre forme de fichier excepté pour les images)

                                  CTeleinfoSerial::CTeleinfoSerial(const int ID, const std::string& devname, const int datatimeout, unsigned int baud_rate, const bool disable_crc, const int ratelimit)

                                  La classe est initialisé avec le « Device Name » (port com)  la vitesse de transmission « baud rate »,  un dataTimeOut  et usage du CRC en booleen.

                                  Par contre les autres paramètres essentiels pour configurer et ouvrir le Port Com , notamment le Caractère Size (qui doit être mis à 7bits)  sont récupéré par des constantes , #defines ou via un fichier de config dans Domoticz:

                                  m_iOptParity = boost::asio::serial_port_base::parity(TELEINFO_PARITY);
                                  m_iOptCsize = boost::asio::serial_port_base::character_size(TELEINFO_CARACTER_SIZE);
                                  m_iOptFlow = boost::asio::serial_port_base::flow_control(TELEINFO_FLOW_CONTROL);
                                  m_iOptStop = boost::asio::serial_port_base::stop_bits(TELEINFO_STOP_BITS);

                                  Il y a aussi un non sens dans l’init de cette Class , Si on initialise cette Class en forçant le Baud Rate à 1200 par exemple, ou avec une valeur autre que ZERO le programme  transforme le baud Rate en 9600

                                  if (baud_rate == 0)
                                  m_iBaudRate = 1200;
                                  else
                                  m_iBaudRate = 9600;

                                  Ceci est IDIOT et un Non SENS !!!  Il faut trouver ou est initialisé cette classe pour voir quelle est la valeur de l’argument baud-rate transmise.

                                  Quand on regarde la méthode bool CTeleinfoSerial::StartHardware() qui est la fonction qui ouvre le Port Com,

                                  —  open(m_szSerialPort, m_iBaudRate, m_iOptParity, m_iOptCsize);

                                  on voit que votre port s’ouvre bien sans erreur et en fin de cette fonction, on trouve le Log, qui vous est affiché concernant l’usage du CRC checks will be performed on incoming data ».

                                  Cela Signifie que Domoticz trouve et ouvre le bon Port  de Com mais ensuite et à priori, n’arrive pas à se caler sur les échanges des trames de la téléinfo. Une seule explication, Domoticz travaille en 8 bits au lieu de 7bits et ne comprend pas les caractères reçus.

                                  Il vous faut trouver ou se trouve les config des référence  :

                                  TELEINFO_CARACTER_SIZE  >> doit être mis à la valeur 7

                                  TELEINFO_PARITY  >> doit être mis à even ou pair

                                  –   TELEINFO_STOP_BITS  >> doit être mis à 1

                                   

                                  Bon courage, Peut être y à t’il des correctifs ou Mise à jour récente de Domoticz pour Windows ?

                                  Cdt

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