Documentations

  • Post
Vous lisez 6 fils de discussion
  • Replies
      cdlog2
      Modérateur

        Bonjour,

        Juste un complément info par rapport à votre exemple de requête HTTP pour commander le Relais1 du WES.

        Si vous lancer la requête : http://login:motpasse@192.168.x.x/?rl1=ON depuis votre navigateur, (changer 192.168.x.x par l’IP de votre WES) le Serveur WES activera bien son Relais 1, mais en retour de cette requête le Serveur vous enverra en réponse une erreur 404 suivi de l’ouverture de la Page Accueil du WES, car il n’y aucune URL qui est défini.

        Pour éviter cela, prévoyez de rajouter le fichier ajax.cgx en complément comme URL comme ceci :

        http://login:password@192.168.x.x/ajax.cgx?rl1=ON.

        Le fichier ajax.cgx est un fichier situé dans la SD du WES qui a la structure d’un Script CGX mais vide (aucune commande à réaliser). Ce fichier sera reconnu comme URL par le Serveur et comme ce Script est Vide, le WES vous rendra une simple réponse 200 (OK URL trouvé) et sans lancer la Page du WES.

        Donc pour rendre compatible les exemples des Requêtes décrite dans la Docs Obsolète, remplacer simplement les URL définis par les noms des fichiers ayant pour extension .CGI ou .CGX par l’URL ajax.cgx 

        Pour reprendre votre exemple tiré de la DOC qui force le Relais1 = ON et le Relais2 = OFF : Remplacer bien sur le Nom ‘WES’ par l’IP de votre WES (192.168.x.x) et remplacer l’URL RL.cgi par ajacx.cgx

        Exemple de la Doc > Relais1=ON et Relais2=OFF : http://user:password@WES/RL.cgi?rl1=ON&rl2=OFF
        Actualisation : http://user:password@192.168.x.x/ajax.cgx?rl1=ON&rl2=OFF

        Exemple de la DOC > Inverser l’état d’un Switch : http://user:password@WES/VS.cgx?fvs=1
        Actualisation http://user:password@192.168.x.x/ajax.cgx?fvs=1

        Cdt

         

        0
        0
        MourgWes
        Participant

          merci ,

          Je n’ai pas posté ci-dessus pour donner des exemples de requête http mais pour dire qu’il faut une documentation à jour.

          Vous confirmez par votre réponse et vos explications qu’il faut farfouiller un peu de partout pour trouver des solutions à nos besoins. Certes un forum c’est bien pour échanger, mais un constructeur doit aussi pouvoir fournir un document complet d’utilisation du produit qu’il commercialise.

          J’avais bien compris qu’il fallait remplacer WES par son IP et malgré vos explications je confirme que depuis une application par exemple en python,  http://192.168.1.xx?rl1=ON&rl2=ON » retourne bien un status ok  =  200 alors que http://192.168.1.xx/RL.cgi?rl1=ON&rl2=ON » retourne un status = erreur 404.

          Salutations

          0
          0
          nicolas_cartelec
          Maître des clés

            Je vais vous mettre en ligne une doc avec ces éléments actualisés (mais toutes les copies d’acrans ne sont pas à jour ! c’est en cours mais ce n’est pas notre priorité !)

            0
            0
            cdlog2
            Modérateur

              Re: Si j’ai répondu à votre fil de discussion, c’est pour vous donner une solution simple de conversion, pour rendre compatible les quelques commandes HTTP documentés dans la DOC, que le WES peut exécuter depuis les nouvelles versions WEB V0_7xx et au delà.

              A l’origine du WES, en version v0_6xx, toutes les Pages WEB étaient programmées via des fichiers CGI. Depuis les versions V0_7xx, V0_8xx toutes les Pages du WEB sont écrites en .HTM ( html ).

              Donc dans votre exemple de requête : http://192.168.1.xx/RL.cgi?rl1=ON&rl2=ON, comme tous les fichiers type .CGI n’existe plus, à  fortiori l’URL /RL.cgi ne sera pas trouvé par le SERVEUR, qui rendra alors une erreur 404.

              RL.cgi était en version V0_6xx l’équivalent de notre page WEB RELAIS.HTM, d’aujourd’hui. C’est pourquoi je vous conseille d’utiliser l’URL passe partout /AJAX.CGX suivi de la commande de la requêtes http ?xxx=yyy

              Par ailleurs je ne contredis pas le fait que la commande de la requête http://login:motpasse@192.168.x.x/?rl1=ON » va fonctionner ! Mais ce que j’ai précisé c’est si vous lancez cette requête manuellement depuis la barre d’Adresse. de votre Navigateur, Le Serveur WES activera bien son Relais1 = ON, mais retournera aussi l’ouverture de la Page accueil avec un compte rendu 404 au préalable.

              Le fait de définir une URL avec /ajax.cgx entre l’IP du WES et la commande de votre requête « ?rl1=ON« , permet d’avoir une réponse du Serveur WES 200 (OK) plus courte, en l’occurrence votre Get python ne recevra plus toute la page accueil du WES au retour de cette requête !!!

              Cdt

              0
              0
              cdlog2
              Modérateur

                RE: Voici une liste de requêtes que vous pouvez utiliser.

                Devant chacune de ces requêtes vous rajouter :  http://login:motpasse@ip_du_wes/

                Requêtes Page Sauvegarde Mémoire Serveur
                ajax.cgx?BKSAUV                               Backup mémoire du Serveur dans un fichier /SAV/BKjjmmaa.DAT
                ajax.cgx?BKREST=BKxxxxxx.DAT   Restauration mémoire du Serveur depuis un fichier /SAV/BKjjmmaa.Dat :

                Requêtes Page Accès Sécurisé
                ajax.cgx?acshttp=ON                      Accès http par LOGIN  = ON / OFF
                ajax.cgx?adm=admin                     Identifiant http ADMIN > exemple: admin
                ajax.cgx?pw=xxxx&pw2=xxxx      xxxx = Mot de passe ADMIN & Confirmez le mot de passe ADMIN = xxxx
                ajax.cgx?acsftp=ON                        Accès FTP par LOGIN = ON / OFF
                ajax.cgx?fadm=adminftp               Identifiant FTP > exemple: adminftp
                ajax.cgx?fpw=xxxx&fpw2=xxxx     xxxx = Mot de passe FTP & Confirmez le mot de passe FTP = xxxx
                ajax.cgx?cln=user                             Identifiant user autorisé > exemple: user
                ajax.cgx?cpw=xxxx&cpw2=xxxx     xxxx = Mot de passe user & Confirmez le mot de passe = xxxx
                ajax.cgx?cla0=OFF                            Accès user PROGRAMMATION = ON / OFF
                ajax.cgx?cla1=OFF                            Accès user Réglage Heure/date = ON / OFF
                ajax.cgx?cla2=OFF                            Accès user Réglage Mails = ON / OFF
                ajax.cgx?cla3=OFF                            Accès user Réglage Sauvegarde par FTP = ON / OFF
                ajax.cgx?cla4=OFF                            Accès user Réglage GSM = ON / OFF
                ajax.cgx?cla5=OFF                            Accès user Contrôle Switch & relais = ON / OFF
                ajax.cgx?cla6=OFF                            Accès user Modification Cout et Conso / Prod = ON / OFF
                ajax.cgx?cla7=OFF                            Accès user Configuration Graphiques = ON / OFF
                ajax.cgx?guest=Non                           Accés par compte invite (guest)  = Oui / Non

                Requêtes Page Horloge Interne
                ajax.cgx?date=jj/mm/aaaa&jour=    Mise à date = jj/mm/aaaa et(&) X = n° du Jour de la semaine: lundi=1, mardi=2 … dimanche=7
                ajax.cgx?date=21/03/2022&jour=1       Exemple: Rentre la date du 21/03/2022 qui est un lundi = le 1er jour de la semaine
                ———
                ajax.cgx?time=hh:mm:ss                      Mise à l’heure  = hh:mm:ss
                ajax.cgx?time=15:50:25                         Exemple: Mise à l’heure = 15h 50m 25s

                Requêtes Page Interfaces M2M
                ajax.cgx?udpA=OFF                Activez l’UDP  = ON / OFF
                ajax.cgx?udpP=X                     X = n° Port UDP
                ajax.cgx?tcpA=OFF                Activez le TCP  = ON / OFF
                ajax.cgx?tcpP=X                     X = n° Port TCP
                ajax.cgx?M2Mecho=OFF        Echo des commandes en UDP et TCP = ON / OFF

                Requêtes Page Relais, SWitch Virtuel et Entrée
                ———————————————
                Commandes Spécifiques aux Relais 1Wire
                ajax.cgx?rl109=OFF               Mettre Tous les Relais de la 1ere Carte 1W = ON / OFF
                ajax.cgx?rl119=OFF               Mettre Tous les Relais de la 2ere Carte 1W = ON / OFF
                ajax.cgx?rl129=OFF               Mettre Tous les Relais de la 3eme Carte 1W = ON / OFF
                ajax.cgx?rl139=OFF               Mettre Tous les Relais de la 4eme Carte 1W = ON / OFF
                ajax.cgx?rl149=OFF               Mettre Tous les Relais de la 5eme Carte 1W = ON / OFF
                ajax.cgx?rl159=OFF               Mettre Tous les Relais de la 6eme Carte 1W = ON / OFF
                ajax.cgx?rl169=OFF               Mettre Tous les Relais de la 7eme Carte 1W = ON / OFF
                ajax.cgx?rl179=OFF               Mettre Tous les Relais de la 8eme Carte 1W = ON / OFF
                ajax.cgx?rl189=OFF               Mettre Tous les Relais de la 9eme Carte 1W = ON / OFF
                ajax.cgx?rl199=OFF               Mettre Tous les Relais de la 10eme Carte 1W = ON / OFF
                ——–
                ajax.cgx?rl1YX=OFF             Mettre le Relais 1Wire n°X=(1,2,3,4,5,6,7,8) de la Carte 1W n°Y=(0,1,2,3,4,5,6,7,8,9) = ON / OFF.
                ajax.cgx?rl102=ON                Exemple: met le Relais n°2 de la Carte 1W n°1 = ON
                ajax.cgx?rl124=OFF               Exemple: met le Relais n°4 de la Carte 1W n°3 = OFF
                ——–
                ajax.cgx?frl=1YX                 Inverser l’état d’un Relais n°X=(1,2,3,4,5,6,7,8) d’une Carte 1W n°Y=(0,1,2,3,4,5,6,7,8,9)
                ajax.cgx?frl=101                  Exemple: Inverser l’état du Relais 1 de la Carte 1W n°1
                ajax.cgx?frl=125                  Exemple: Inverser l’état du Relais 5 de la Carte 1W n°3

                Commandes Spécifiques aux Relais du WES
                ajax.cgx?rl1=ON                  Met le Relais 1 du WES = ON / OFF
                ajax.cgx?rl2=OFF                 Met le Relais 2 du WES = ON / OFF
                ——-
                ajax.cgx?frl=1                   Inverser l’état du Relais 1
                ajax.cgx?frl=2                   Inverser l’état du Relais 2

                Commandes Spécifiques aux Switch Virtuel
                ajax.cgx?vsX=ON                  Mettre le Switch Virtuel n°X = ON / OFF
                ajax.cgx?vs1=ON                  Exemple: Met le Switch Virtuel n°1 = ON
                ajax.cgx?vs24=OFF                Exemple: Met le Switch Virtuel n°24 = OFF
                ——–
                ajax.cgx?fvs=                  Inverser l’état du Switch Virtuel n°X
                ajax.cgx?fvs=4                   Exemple: Inverser l’état du Switch Virtuel n° 4

                Commandes Spécifiques aux Variables
                ajax.cgx?varvX=0                  Rentrer dans la Variable n°X = Valeur numérique
                ajax.cgx?varv1=1234.55        Exemple: Rentre la valeur 1234.55 dans la Variable n° 1
                ajax.cgx?varv8=255               Exemple: Rentre la valeur 255 dans la Variable n° 8

                Commandes Spécifiques au LCD
                ajax.cgx?alarme=ON               Mettre le LCD en mode Alarme
                ajax.cgx?alarme=OFF              Arrêter le mode Alarme

                Je n’ai pas sortie toutes les requêtes qui concernent les Pages de configurations (Définition des Noms etc).
                Si vous en avez besoin pour un cas particulier, faites moi signe.

                Cdt

                0
                0
                cdlog2
                Modérateur

                  RE: Les Commandes des Requêtes de la Page Accès Sécurisé que j’ai fourni dans la liste de mon précédent Post sont correctes, mais il ne seront pas exécutées par le Serveur WES, si elles émanent d’un système externe. Il semble que le Serveur WES, se protège et analyse avant leurs exécution, que ces requêtes ont bien été envoyé depuis la Page ACCESCFG.HTM interne au WES . Donc inutile d’essayer de les faire fonctionner depuis un système externe ! Ce qui me semble normal par ailleurs !

                  Les autres Requêtes sont OK.

                  Je profite de rajouter, pour ceux qui n’ont pas trop d’expérience dans le domaine, qu’ils peuvent chaîner plusieurs commandes dans l’envoie d’une même requête en rajoutant le signe ‘ & ‘ entre chaque commande.

                  Exemple depuis la même requête nous voulons mettre le Relais1= ON, le Switch 5=OFF et rentrer la valeur 1234.20 dans la Variable 4. La requête à envoyer pour réaliser cela est :

                  http://login:motpasse@ip-du-wes/ajax.cgx?rl1=ON&vs5=OFF&varv4=1234.20

                  Cdt

                  0
                  0
                  cdlog2
                  Modérateur

                    RE: Histoire de donner de la lecture !!! Et un complément pour ceux qui aimerais pouvoir lancer une requête au WES depuis leur PC sous Windows, via un simple clic ou bien par une Tâche programmée et qui ne saurais pas le faire, je vous propose une méthode simple.

                    Supposons que vous souhaitez activer le Relais1 du WES par un simple Clic sur une Icône du Bureau de Windows ou bien à une Date et Heure programmée depuis le Planificateur de Tâche de Windows.

                    La requête WES à lancer pour notre exemple : http://login:motpasse@ip_du_wes/ajax.cgx?rl1=ON

                    Pour ce faire, il vous faut en premier lieu vérifier si le programme CURL est installé dans votre version de Windows. Normalement c’est le cas pour Windows 10.

                    Pour vérifier si CURL est bien installé et si vous avez une versions antérieures à Windows 10, lancez Exécuter depuis le menu démarrer.
                    Pour Windows 10, cliquez simplement sur la Loupe à côté du menu démarrer.

                    Tapez CMD + touche Entrée. Une fenêtre Console Noire s’ouvre et vous tapez dedans: curl -help + touche Entrée.
                    Si Curl est installé, le Programme fera défiler son aide en ligne, sinon vous aurez une erreur.

                    Si Curl n’est pas installé dans votre version de Windows, vous pouvez suivre le lien ci-après pour l’installer : https://devstory.net/11617/installer-curl-sur-windows#a13425036

                    Maintenant que nous savons que CURL est opérationnel, il faut ensuite créer un fichier Texte vide via le Bloc-Notes que vous trouvez dans le menu Accessoires Windows.

                    Rentrer la commande suivante dans votre fichier : curl http://login:motpasse@ip_du_wes/ajax.cgx?rl1=ON
                    Attention il faut un espace entre curl et http. Enregistrer provisoirement ce fichier sur le Bureau de Windows sous le NOM que vous souhaitez
                    mais Important Changer l’extension .TXT par .BAT, exemple: RL1WESON.bat

                    Maintenant pour lancer votre requête au WES, il suffit de faire un double Clic sur l’icone du fichier RL1WESON.bat qui se trouve sur le Bureau.

                    Voilà, vous avez créé un fichier que l’on nomme BATCH (.bat) qui est capable de lancer des actions écrites sous forme de Script.
                    En l’occurrence nous avons demandé de lancer notre requête HTTP au WES par CURL.

                    Vous pouvez copier ce fichier BAT dans un Dossier Personnel et vous pouvez créer ensuite une tâche programmé qui lancera ce fichier automatiquement à une Date et Heure que vous souhaitez par l’intermédiaire du Planificateur de Tâche de Windows.
                    Pour ceux qui ne connaissent pas le Planificateur de Tâche de Windows: https://www.pcastuces.com/pratique/astuces/5515.htm

                    Pour Info, il existe un arsenal de commandes Batch que l’on peut faire exécuter sous Windows depuis un fichier BATCH (.bat).
                    Je vous laisse faire des recherches dans ce sens. Toutefois je vais vous donner un exemple comme aperçu des possibles.

                    Admettons que vous voulez activer le Relais1 du WES = ON uniquement pendant 10 secondes. Le Script Batch à rentrer dans votre fichier BATCH (.bat) pour réaliser cela :

                    curl http://login:motpasse@ip_du_wes/ajax.cgx?rl1=ON
                    timeout /nobreak /T 10 >null
                    curl http://login:motpasse@ip_du_wes/ajax.cgx?rl1=OFF

                    La 1ere ligne force le Relais 1 = ON par l’envoie d’une requête au WES
                    la 2eme Ligne lance une tempo de 10 secondes par l’intermédiaire de timeout qui est une commande BATCH
                    la 3eme ligne force le Relais 1 = OFF par l’envoie d’une requête au WES

                    Cdt

                    0
                    0
                Vous lisez 6 fils de discussion
                • Vous devez être connecté pour répondre à ce sujet.