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.
    • mcm1957
      mcm1957 @Guest last edited by

      @ilovegym

      Ok danke für die Info.

      1 Reply Last reply Reply Quote 0
      • ?
        A Former User @Guest 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 @Guest 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.

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @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 @Guest 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.]+)
              
              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @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 @Guest 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 😞

                  ? 1 Reply Last reply Reply Quote 0
                  • ?
                    A Former User @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 @Guest 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 ...

                      ? 1 Reply Last reply Reply Quote 0
                      • ?
                        A Former User @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 @Guest 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

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @tombox last edited by

                            @tombox

                            1000 Dank!!!

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            425
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            4
                            15
                            610
                            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