Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Syrlex Plus 10 connect SL - App reverse engineering

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Syrlex Plus 10 connect SL - App reverse engineering

Geplant Angeheftet Gesperrt Verschoben JavaScript
15 Beiträge 4 Kommentatoren 984 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mcm1957M mcm1957

    @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.

    ? Offline
    ? Offline
    Ein ehemaliger Benutzer
    schrieb am zuletzt editiert von Ein ehemaliger Benutzer
    #3

    @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...

    mcm1957M 1 Antwort Letzte Antwort
    0
    • ? Ein ehemaliger Benutzer

      @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...

      mcm1957M Online
      mcm1957M Online
      mcm1957
      schrieb am zuletzt editiert von
      #4

      @ilovegym

      Ok danke für die Info.

      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
      Support Repositoryverwaltung.

      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

      LESEN - gute Forenbeitrage

      1 Antwort Letzte Antwort
      0
      • ? Ein ehemaliger Benutzer

        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!

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von
        #5

        @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...???

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @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...???

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          schrieb am zuletzt editiert von Codierknecht
          #6

          @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.

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi
          Zabbix Certified Specialist
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          ? 1 Antwort Letzte Antwort
          0
          • CodierknechtC 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.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #7

            @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

            CodierknechtC 1 Antwort Letzte Antwort
            0
            • ? Ein ehemaliger Benutzer

              @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

              CodierknechtC Online
              CodierknechtC Online
              Codierknecht
              Developer Most Active
              schrieb am zuletzt editiert von Codierknecht
              #8

              @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.]+)
              

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi
              Zabbix Certified Specialist
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              ? 1 Antwort Letzte Antwort
              0
              • CodierknechtC 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.]+)
                
                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #9

                @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..

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • ? Ein ehemaliger Benutzer

                  @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..

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #10

                  @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 :-(

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  ? 1 Antwort Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @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 :-(

                    ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #11

                    @codierknecht

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

                    CodierknechtC 1 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      @codierknecht

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

                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #12

                      @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 ...

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      ? 1 Antwort Letzte Antwort
                      0
                      • CodierknechtC Codierknecht

                        @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 ...

                        ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #13

                        @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 Antwort Letzte Antwort
                        0
                        • ? Ein ehemaliger Benutzer

                          @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 Offline
                          T Offline
                          tombox
                          schrieb am zuletzt editiert von
                          #14

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

                          ? 1 Antwort Letzte Antwort
                          0
                          • T tombox

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

                            ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von
                            #15

                            @tombox

                            1000 Dank!!!

                            1 Antwort Letzte Antwort
                            0
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            757

                            Online

                            32.4k

                            Benutzer

                            81.5k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe