Récupération des infos dans OpenHAB

Forums Serveur WES Installation & Configuration Récupération des infos dans OpenHAB

  • Post
    dav999
    Participant

      Bonjour à tous,

      je travaillais sous Jeedom, mais je vais basculer sur OpenHAB dans les prochains temps.

      J’aimerais savoir si pour la lecture/récupération des valeurs des sondes, quelqu’un s’était déjà attelé à la tache de la création du script compatible WES<->OpenHAB (comme ceux avec Jeedom, Domoticz, etc..) ?

      Si quelqu’un là déjà fait est-il possible de poster la version sur le site (si en plus vous avez un petit tuto tout fait sur l’implémentation dans OepnHAB, ce serait plus que parfait 🙂 ).

      Merci d’avance

      David

      0
      0
    Vous lisez 6 fils de discussion
    • Replies
        dav999
        Participant

          Oups c’était Homeassistant dont je voulais parler pas OpenHAB 🙁

          0
          0
          cdlog2
          Modérateur

            Bonsoir,

            Je ne connais pas Home Assistant !.

            Mais après une petite recherche Goo.. j’ai trouvé le lien, voir ci-dessous, d’une blogueur qui présente son propre script Home Assistant <> WES afin de récupérer des Infos du WES via des requêtes HTTP sur 2 fichiers CGX du WES : HOMEVAL.CGX et un fichier CGX personnalisé TIC1.CGX

            https://forum.hacf.fr/t/integration-du-module-wes-v2-de-la-societe-cartelectronic/1099/4

            A priory il mentionne -> configuration.yaml : ? 

            Peut être en décryptant le Script, il vous serait facile par analogie, de récupérer les Infos du DATA.CGX. La récupération du TIC1.CGX vers la moitié de son Script semble plus parlant et plus simple à décrypter. Ce fichier TIC1.CGX n’existe pas de base dans le WES et à été crée par le blogueur.

            Après il faut voir comment se font la relation des Datas récupérés et l’intégration dans Home Assistant.Il semble utiliser des références via des étiquettes : templates !?

            Cdt

             

             

            0
            0
            cdlog2
            Modérateur

              Bonjour,

              Re: Voici un lien intéressant qui donne quelques infos sur la structure de la configuration.yaml qui permet l’intégration de Scripts dans Home Assistant.

              https://forum.hacf.fr/t/organisation-du-fichier-configuration-yaml/205

              Avec l’exemple du Script Home Assistant <> WES donné dans le lien de mon précédent Post et les explications fournies dans ce nouveau lien, vous avez une base pour mieux comprendre l’intégration et la remonté de Data Http dans la plateforme.

              Cdt

              0
              0
              cdlog2
              Modérateur

                RE: Il y a déjà un fil de discussion ouvert sur le même sujet ouvert par @Sibolbe1 en aout 2021. Voici le lien :  https://www.cartelectronic.fr/blog/?topic=integration-wes-dans-home-assistant/#post-11017

                Il serait bien que @Sibolbe1 nous fasse un retour, afin de voir s’il a trouvé comment réalisé la récupération des Data de fichier CGX dans son Home Assistant.

                Il semble que Home assistant est capable de lire le résultat d’une requête Http formatée au type de fichier JSON. Par contre le WES renvoie ses résultats de requêtes CGX au format XML,

                Vous avez par ailleurs un exemple de Script Http WES fourni par un Blogueur de Home Assistant, présenté dans mon 1er Post de ce Fil de discussion, qui récupère le résultat de /WEBPROG/CGX/Homeval.cgx, qui est d’origine du WES ainsi que la récupération du résultat d’un CGX TIC1.GCX qui est crée et personnalisé par le Blogueur à partir d’un extrait du <tic1> du DATA.CGX. A priori ce Script Home Assistant <> WES fourni en exemple ne semble pas être perturbé par le format XML reçue en retour des 2 requêtes http CGX.

                Vous savez maintenant qu’il faut intégrer votre Script HTTP dans une Structure de type Config :  configuration.yaml pour intégrer dans Home Assiatant, les Datas reçus et lus de votre Script.

                On peut extrapoler en prenant comme exemple le Script donné en exemple depuis le « tic1 » (DATA.GCX) pour extraire les infos de certaines SONDES de notre DATA.CGX du WES :

                Je vous donne une exemple de Script qui pourrait fonctionner !?

                Je m’arrête à la SONDE10. Si vous avez moins de Sonde, il faut supprimer les groupes sonde(X): (en bas du script) en trop:
                Si par contre il vous faut rajouter des Sondes au delà de la Sonde10, dupliquer le bloc sonde10:  et rajouter le bloc en modifiant les n° en relatifs. 10 => 11

                Il faut rentrer votre login et mot de passe du WES dans les rubriques username: et password: et fournir la bonne IP de votre WES  resource : http://192.168.x.x/data.cgx

                ##### Debut du script ######

                configuration.yaml :

                  sensor:
                  – platform: rest
                    name: wesdatacgx
                    resource: http://192.168.x.x/data.cgx
                    method: GET
                    authentication: basic
                    username: login_wes
                    password: mot_passe_wes
                    json_attributes_path: « $.data »
                    json_attributes:
                       – « tic1 »
                       – « tic2 »
                       – « tic3 »
                       – « impulsion »
                       – « pince »
                       – « temp »
                       – « relais »
                       – « entree »
                       – « analogique »
                       – « switch_virtuel »
                       – « variables »
                       – « relais1W »
                    value_template: ‘OK’
                    – platform: template
                      sensors:
                        sonde1 :
                        friendly_name: sonde1
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE1 »] | float  }}
                        sonde2 :
                        friendly_name: sonde2
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE2 »] | float  }}
                        sonde3 :
                        friendly_name: sonde3
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE3 »] | float  }}
                        sonde4 :
                        friendly_name: sonde4
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE4 »] | float  }}
                        sonde5 :
                        friendly_name: sonde5
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE5 »] | float  }}
                        sonde6 :
                        friendly_name: sonde6
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE6 »] | float  }}
                        sonde7 :
                        friendly_name: sonde7
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE7 »] | float  }}
                        sonde8 :
                        friendly_name: sonde8
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE8 »] | float  }}
                        sonde9 :
                        friendly_name: sonde9
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE9 »] | float  }}
                        sonde10 :
                        friendly_name: sonde10
                        device_class : temp
                        unit_of_measurement: ‘°C’
                        value_template: >-
                             {{ states.sensor.wesdatacgx.attributes[« temp »][« SONDE10 »] | float  }}

                ### FIN ####

                Je vous joins ce Script dans un fichier TXT, car il ne faut pas copier ce script depuis le BLOG, car les caractères guillemets «  » sont déformés par l’éditeur du BLOG.

                Cdt

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

                  Bonjour Cdlog,

                  Merci pour tous ces détails.

                  Je suis en train de m’installer homeassistant sur un vieux RPI 3 cherché au garage.

                  Ca fait un bout de temps que j’ai quitté le logement dans lequel j’avais installé le WES et couplé à Jeedom, du coup, va falloir que je remette les mains dans le cambouis et en ce moment, je n’ai pas vraiment énormément de temps.

                  Je vais voir pour prendre en main Home assistant et dès que je me sentirais confortable je regarderais la partie script.
                  Je vais essayer de me débrouiller pour injecter le fichier dans homeassistant sans passer par un WES (je n’en n’ai aucun installé chez moi pour le moment) !

                  Bonne journée.

                  0
                  0
                  cdlog2
                  Modérateur

                    Bonjour,

                    Ok ! Sans Serveur WES cela ne sera pas facile de simuler et intégrer votre Script !

                    Pour vous facilitez le travail, je vous envoie une archive avec 4 fichiers :

                    DATA.CGX : Le fichier Data.cgx d’origine du WES qui sert a envoyer la requête :IP/data.cgx
                    DATAJSON.CGX : Le fichier Data.cgx modifié et mis en forme au format JSON qui peut servir à envoyer la requête : IP:datajson.cgx
                    DATARESULT.XML : Le résultat XML classique reçu du WES, en réponse à la demande de la requête sur le data.cgx
                    DATARESULT.JSON : Le résultat JSON reçu du WES, en réponse à la demande de la requête sur le datajson.cgx (data.cgx mis en forme au format JSON)

                    Voici le résultat XML de la partie SONDES reçu du WES sur une Dme de requête IP/data.cgx (data.cgx tronqué)
                    Vous retrouvez les 3 <TAG> [ <data> <temp> <sonde(x)> ] utilisés dans le Script que j’ai transmis qui permet d’identifier chaque Sonde(x)

                    <?xml version= »1.0″ encoding= »UTF-8″?>
                    <data>
                    <temp>
                    <SONDE1>19.4</SONDE1>
                    <SONDE2>20.9</SONDE2>
                    <SONDE3>20.1</SONDE3>
                    <SONDE4>13.5</SONDE4>
                    <SONDE5>14.2</SONDE5>
                    <SONDE6>14.9</SONDE6>
                    <SONDE7>14.8</SONDE7>
                    <SONDE8>15.0</SONDE8>
                    <SONDE9>18.6</SONDE9>
                    <SONDE10>22.1</SONDE10>
                    <SONDE11>22.6</SONDE11>
                    <SONDE12>18.6</SONDE12>
                    <SONDE13>20.5</SONDE13>
                    <SONDE14>19.9</SONDE14>
                    <SONDE15>44.4</SONDE15>
                    <SONDE16>0.0</SONDE16>
                    <SONDE17>0.0</SONDE17>
                    <SONDE18>0.0</SONDE18>
                    <SONDE19>0.0</SONDE19>
                    <SONDE20>0.0</SONDE20>
                    <SONDE21>0.0</SONDE21>
                    <SONDE22>0.0</SONDE22>
                    <SONDE23>0.0</SONDE23>
                    <SONDE24>0.0</SONDE24>
                    <SONDE25>0.0</SONDE25>
                    <SONDE26>0.0</SONDE26>
                    <SONDE27>0.0</SONDE27>
                    <SONDE28>0.0</SONDE28>
                    <SONDE29>0.0</SONDE29>
                    <SONDE30>0.0</SONDE30>
                    </temp>
                    </data>

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

                      Merci pour cet aide, c’est vraiment sympa.

                      Je vais regarder ça de près, si j’ai des news, ou des questions je reviendrais sur le forum pour mettre à jour le fil.

                      Bonne soirée

                      0
                      0
                  Vous lisez 6 fils de discussion

                  Étiqueté : 

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