Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Syrlex Plus 10 connect SL - App reverse engineering

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Syrlex Plus 10 connect SL - App reverse engineering

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Neuschwansteini last edited by Neuschwansteini

      Hi,
      nachdem leider iobroker.syrconnect (https://github.com/eifel-tech/ioBroker.syrconnect/tree/master) nicht mehr mit neuen Anlagen funktioniert, da der Hersteller wohl jetzt die Kommunikation nur noch mit speziellen Zertifikat zulässt - hier mal ein Thread ...
      Siehe auch https://github.com/Richard-Schaller/syrlex2mqtt/issues/3

      Anscheinend wurde auch die Methode von Post auf Get umgestellt (wobei der tcpdump was anderes sagt):
      https://github.com/Richard-Schaller/syrlex2mqtt/pull/6

      Ich hab mal n tcpdump gemacht und da kam sowas raus:
      Screenshot 2025-01-21 at 09.41.02.png
      Ip 10.1.6.108 ist die Syr
      212.77.236.30 ist syrconnect.de

      das Protokoll ist von dem Zeitpunkt, wo die Syr neu gestartet wurde.
      Vielleicht kann mir da jemand auf die Sprünge helfen, wie ich da Werte von der Cloud abfragen kann? @arteck @tombox ?

      Die bisherigen Lösungen ( iobroker adapter und syrlex2mqtt&HA-Addon) basieren auf einer Emulation des Syr-Servers, was ein umbiegen des DNS und erstellen eines eigenen HTTPS-Servers erzwingt. Die Anlage ist damit nicht mehr von aussen erreichbar, auch die Bedienung ist sehr eingeschränkt, da man nicht alle Kommandos hat.
      Es gibt noch die Variante älterer Anlagen, die einen Service-Port haben, dort per USB Daten abzugreifen, leider haben das neuere nicht mehr.

      ps: @Homoran wusste nicht wirklich, welche Kategorie da so richtig ist.. evtl. bitte verschieben.. 🙂 Danke!

      MichaelsSynology created this issue in Richard-Schaller/syrlex2mqtt

      open Add On will not work with my LEX Plus 10 SL #3

      butsify created this issue in Richard-Schaller/syrlex2mqtt

      open Update syrlex2mqtt.js #6

      mcm1957 N 2 Replies Last reply Reply Quote 1
      • mcm1957
        mcm1957 @Neuschwansteini last edited by

        @ilovegym
        Ich sehe beim Adapter syrconnect kein Isdue zu diesem Thema.

        wär rs nicht sinnvoll ein solches zu öffnen damit der Dev da zuerst mal schaun jann was geht?

        Der Dev gat übrigends eben erst die Aufnahme des Adapters in die Repos angeregt.

        N 1 Reply Last reply Reply Quote 0
        • N
          Neuschwansteini @mcm1957 last edited by Neuschwansteini

          @mcm1957
          das gabs mal, ist vom Dev geschlossen worden
          https://github.com/eifel-tech/ioBroker.syrconnect/issues/218

          Edit:
          naja, was soll man da in die Repos aufnehmen, wenns nicht mehr auf die Art und Weise geht?
          Mit ner alten Firmware ja, aber die hat der Hersteller vom Netz genommen...

          Ilovegym66 created this issue in eifel-tech/ioBroker.syrconnect

          closed Lex Plus SL V1.9 - not working anymore #218

          mcm1957 1 Reply Last reply Reply Quote 0
          • mcm1957
            mcm1957 @Neuschwansteini last edited by

            @ilovegym

            Ok danke für die Info.

            1 Reply Last reply Reply Quote 0
            • N
              Neuschwansteini @Neuschwansteini last edited by

              @Codierknecht

              Hi, ich frag dich hier mal, da du im Bereich Webseiten-Parsen hier schon einige gute Ideen hattest...
              Ich moechte einfach die Daten vom Syrconnect Webserver abfragen, wenn ich mir die Seite im source anschaue, finde ich auch die ganzen Werte.

              Hier mal der Source, wenn ich mich eingeloggt habe, waere super, wenn du mal da reinschauen koenntest..?
              syrconnecthtml.txt
              Wie faengt man da am besten an?

              Mit Chatgpt hab ich mal das hier erstellen lassen, da kommt was, aber nicht die Werte, die ich brauche:

              const axios = require('axios');
              
              // Syrconnect API URL and Login-Daten
              const apiUrl = 'https://syrconnect.de/Admin/ProjectManagement.aspx?p=Ok%2bhZiJWQKqtb0QzlwZoXNk502kJmLUqoWwwWyRxiVDdMzGGQi4EM35s4ZtsjTFd5ZQWoAgGXxGcVcenQYN%2fMN6BqTPqESuwzkzvH1FKuXInEFyN7J%2b1O%2b%2bm%2bNyKU%2fV74Gl2NT91XClOnOLZQLYSN4I%2byE5VFtmCZLpjnaludiU%3d'; // Beispiel-URL, API-Dokumentation prüfen
              const username = 'dddddd';
              const password = 'xxxx';
              
              // Funktion zum Abrufen von Daten
              async function fetchData() {
                 try {
                     // Login oder Token abrufen
                     const loginResponse = await axios.post(`${apiUrl}/login`, {
                         username: username,
                         password: password
                     });
              
                     const token = loginResponse.data.token;
              
                     // Daten mit Token abrufen
                     const response = await axios.get(`${apiUrl}/data-endpoint`, {
                         headers: {
                             Authorization: `Bearer ${token}`
                         }
                     });
              
                     // Daten in ioBroker schreiben
                     const data = response.data;
                     setState('0_userdata.0.Geraete.SyrlexPlus10.data'/*data*/, JSON.stringify(data), true);
                     console.log('Daten erfolgreich abgerufen:', data);
                 } catch (error) {
                     console.error('Fehler beim Abrufen der Daten:', error);
                 }
              }
              // Daten regelmäßig abrufen
              schedule('*/5 * * * *', fetchData); // Alle 5 Minuten
              // Skript starten
              fetchData();
              
              
              

              Wenn noch irgendjemand Ideen hat...???

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @Neuschwansteini last edited by Codierknecht

                @ilovegym sagte in Syrlex Plus 10 connect SL - App reverse engineering:

                Wie faengt man da am besten an?

                Vielleicht erstmal aus dem ganzen Salat heraussuchen, an welcher Stelle genau (in welchem Element) die gesuchten Werte stecken.
                Dann kann man da per RegEx was passendes stricken.
                Apropos RegEx: Ist sicher nicht meine Kernkompetenz. Ich bastel da dann immer mit einem der Online RegEx-Parser rum. Dafür braucht man in der Regel nur Ausschnitte aus dem Sourcecode.

                Edit
                Mal auf die Schnelle:
                d4dda286-37d5-4b04-897c-49625337e604-image.png
                Anführungszeichen usw. müssen wie üblich escaped werden.

                N 1 Reply Last reply Reply Quote 0
                • N
                  Neuschwansteini @Codierknecht last edited by

                  @codierknecht

                  super, das ist doch schonmal was.. mich interessieren diese Werte:
                  Screenshot 2025-01-29 at 12.35.22.png

                  Mit dem Regex kann man arbeiten, und wie bekomm ich die dann in ein Objekt vom iobroker? (Parser Adapter?)
                  <td><span class="valueCEL">.</span>

                  Screenshot 2025-01-29 at 12.50.45.png

                  Codierknecht 1 Reply Last reply Reply Quote 0
                  • Codierknecht
                    Codierknecht Developer Most Active @Neuschwansteini last edited by Codierknecht

                    @ilovegym sagte in Syrlex Plus 10 connect SL - App reverse engineering:

                    Mit dem Regex kann man arbeiten,

                    \>Temperatur:<\/td>\<td>\<span class="valueCEL">([0-9.]+)<\/span>

                    Es reicht vielleicht aus, die > zu escapen.

                    b6c57228-811d-4ce2-93aa-3f00e93b1199-image.png

                    und wie bekomm ich die dann in ein Objekt vom iobroker? (Parser Adapter?)

                    Ich nehme den Parser-Adapter.
                    Weiß aber nicht, ob der mit Anmeldungen umgehen kann.

                    Edit
                    Da die Klassen eindeutig benannt sind, geht das sogar noch kürzer:

                    "valueCEL">([0-9.]+)
                    "valuePRS">([0-9.]+)
                    
                    N 1 Reply Last reply Reply Quote 0
                    • N
                      Neuschwansteini @Codierknecht last edited by

                      @codierknecht

                      Danke! damit kommt schonmal im Onlineparser ein Wert, Group 2 ist das, was ich brauche, wie setze ich das im ParserAdapter um?
                      Screenshot 2025-01-29 at 13.20.57.png

                      ahhh.. ich teste im Parser-Adapter.. da scheiterts an der Anmeldung.. mist..

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Neuschwansteini last edited by

                        @ilovegym sagte in Syrlex Plus 10 connect SL - App reverse engineering:

                        da scheiterts an der Anmeldung

                        Hatte ich befürchtet.
                        Wenn es da keine Möglichkeit gibt, bleibt wohl nur handgeklöppeltes JS 😞

                        N 1 Reply Last reply Reply Quote 0
                        • N
                          Neuschwansteini @Codierknecht last edited by

                          @codierknecht

                          hmm das wars dann fuer mich.. da scheitere ich schon am login.. ne api doku gibts nicht ..

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • Codierknecht
                            Codierknecht Developer Most Active @Neuschwansteini last edited by

                            @ilovegym
                            Mit dem blöden Captcha wird die Sache ja auch nicht wirklich einfacher 😞

                            Aus dem Stegreif fällt mir dazu auch nicht viel ein.
                            Wenn das Session-Cookie nach dem Login aktuell bleibt, könnte man da evtl. über Umwege ran.
                            Also Login über die Webseite "mit der Hand am Arm" und dann irgendwie das Cookie weiterverwenden.
                            Aber an der Ecke bin ich dann leider auch raus ...

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              Neuschwansteini @Codierknecht last edited by

                              @codierknecht

                              ja.. danke.. hmm dann wird das Projekt erstmal auf Eis gelegt.. hab schon zuviel Zeit investiert, offline gehts nicht mehr..
                              Da die App sich einmal anmeldet und dann Monatelang nicht mehr nach anmeldedaten fragt, wird es wohl schon irgenwie gehn..

                              Da brauch ich einen, der sich mit Apps auskennt.. @tombox hat da beim parcel-Adapter schon viel geleistet.. vielleicht hat er ja eine Idee..? 🙂

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                tombox @Neuschwansteini last edited by

                                @ilovegym
                                Hier die Testing Seite für ein Adapter via SYRConnect App
                                https://forum.iobroker.net/topic/79653/test-syrconnect-app-adapter

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  Neuschwansteini @tombox last edited by

                                  @tombox

                                  1000 Dank!!!

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  642
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  15
                                  595
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo