Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Webseite parsen ?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.6k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    674

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    1.2k

Webseite parsen ?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
parser ema alarmanlage
12 Beiträge 3 Kommentatoren 1.3k Aufrufe 3 Beobachtet
  • Ä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.
  • R Roelli

    Hallo.

    Ich habe hier eine lokale Webseite die Schaltzustände anzeigt. (das ist die Webseite meiner Einbruchmeldeanlage)

    Leider gibt es noch keinen Adapter um mit der Alarmanlag über ein Protokoll zu kommunizieren. https://github.com/ioBroker/AdapterRequests/issues/309

    Kann man nicht die Zustände von der Webseite aus in Datenpunkte umwandeln indem man die Webseite alle paar Sekunden abfragt?

    Danke! :-)

    Roelli.

    Hier ist der Seitenquelltext, aus dem ich selbtverständlich nicht schlau werde:

    <html>
    <head>
    <body bgcolor="#EFEFEF" text="black" link="blue" vlink="purple" alink="red">
    <script type="text/javascript">
    
    function init_tab()
    {
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET","input_emz.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML;
    
    document.write("<table border='1'>");
    var x=xmlDoc.getElementsByTagName("Info");
    poll=x[0].getElementsByTagName("Poll")[0].childNodes[0].nodeValue;
    
      document.write("<title>"+x[0].getElementsByTagName('Headline')[0].childNodes[0].nodeValue+"</title>");
      document.write("<tr><td colspan='6' align='center'>");
      document.write(x[0].getElementsByTagName("Headline")[0].childNodes[0].nodeValue);
      document.write("</td></tr>");
      
      document.write("<tr><td width='300'>");
      document.write(x[0].getElementsByTagName("Column1")[0].childNodes[0].nodeValue);
      document.write("</td><td width='80'>");
      document.write(x[0].getElementsByTagName("Column2")[0].childNodes[0].nodeValue);
      document.write("</td><td>");
      document.write(x[0].getElementsByTagName("Column3")[0].childNodes[0].nodeValue);
      document.write("</td><td width='100'>");
      document.write(x[0].getElementsByTagName("Column4")[0].childNodes[0].nodeValue);
      document.write("</td><td align='center' width='50'>");
      document.write(x[0].getElementsByTagName("Column5")[0].childNodes[0].nodeValue);
      document.write("</td></tr>");
    
    var y=xmlDoc.getElementsByTagName("Input");
    for (i=0;i<y.length;i++)
      {
      document.write("<tr><td>");
      document.write("<div id='text"+i+"'> </div>");  
      document.write("</td><td>");
      document.write("<div id='zustand"+i+"'> </div>");
      document.write("</td><td align='center'>");  
      document.write("<img src='red-on.gif' alt='red-on.gif'>");
      document.write("</td><td>");
      document.write("<div id='ph_zustand"+i+"'> </div>");
      document.write("</td><td align='center'>");
      document.write(y[i].attributes[0].nodeValue);
      document.write("</td></tr>");
      }
    document.write("</table>");
    
    
    RedOnBild = new Image();
    RedOnBild.src = "red-on.gif";
    RedOffBild = new Image();
    RedOffBild.src = "red-off.gif";
    
    refresh();
    }
    
    function refresh()
    {
      xmlhttp.open("GET","input_emz.xml",false);
      xmlhttp.send();
      xmlDoc=xmlhttp.responseXML; 
      var z=xmlDoc.getElementsByTagName("Input");
    
      for (i=0;i<z.length;i++)
      {
    	if (document.getElementById('text'+i).innerHTML != z[i].getElementsByTagName("Text")[0].childNodes[0].nodeValue)
    	   document.getElementById('text'+i).innerHTML=z[i].getElementsByTagName("Text")[0].childNodes[0].nodeValue;  
    	if (document.getElementById('zustand'+i).innerHTML != z[i].getElementsByTagName("Condition")[0].childNodes[0].nodeValue)
    	   document.getElementById('zustand'+i).innerHTML=z[i].getElementsByTagName("Condition")[0].childNodes[0].nodeValue;  
    	if (document.getElementById('ph_zustand'+i).innerHTML != z[i].getElementsByTagName("PH_Condition")[0].childNodes[0].nodeValue)
    	   document.getElementById('ph_zustand'+i).innerHTML=z[i].getElementsByTagName("PH_Condition")[0].childNodes[0].nodeValue;  
    
    	if (z[i].getElementsByTagName("Led")[0].childNodes[0].nodeValue == "RED_ON")
    	   if (document.images[i].src != RedOnBild.src) 
    	     document.images[i].src = RedOnBild.src;
    	if (z[i].getElementsByTagName("Led")[0].childNodes[0].nodeValue == "RED_OFF")
    	   if (document.images[i].src != RedOffBild.src) 
    	     document.images[i].src = RedOffBild.src		 
      }
      window.setTimeout("refresh()", poll);
    }
    
    init_tab();
    
    </script>
    
    
    </head>
    
    <body>
    
    
    </body>
    </html>
    
    J Offline
    J Offline
    Ju5t1n
    schrieb am zuletzt editiert von
    #2

    @Roelli
    Ich habe die [http://deine-ip:port/input_emz.xml] direkt mit dem Parser geöffnet.
    674200ef-b4ed-4386-988a-985d76ca1eff-image.png
    Über das RegEx-Feld prüfe ich, ob der entsprechende Zustand in der input_emz.xml enthalten ist.
    bbcf5a37-af34-4f02-a032-bb892aa28997-image.png
    Das ganze lass ich im 5 Sekunden Takt laufen.

    R 1 Antwort Letzte Antwort
    0
    • J Ju5t1n

      @Roelli
      Ich habe die [http://deine-ip:port/input_emz.xml] direkt mit dem Parser geöffnet.
      674200ef-b4ed-4386-988a-985d76ca1eff-image.png
      Über das RegEx-Feld prüfe ich, ob der entsprechende Zustand in der input_emz.xml enthalten ist.
      bbcf5a37-af34-4f02-a032-bb892aa28997-image.png
      Das ganze lass ich im 5 Sekunden Takt laufen.

      R Offline
      R Offline
      Roelli
      schrieb am zuletzt editiert von
      #3

      @Ju5t1n
      Mega!
      Habe mal Deinen Code bei mir ausprobiert, funzt aber noch nicht so ganz. Der Zustand ändert sich nicht - egal ob die "Led rot ist oder nicht".
      Kann man vermutlich auch besser testen wenn man auch mal den Wert der Webseite ändern kann.
      Hast Du Bock auf Teamviewer? Ich zahl nen Fuffi pro Stunde mit Paypal - dann könnten wir mal probieren. Vielleicht klappts ja irgendwie.

      NUC6i7KYK M.2 32GB RAM mit Proxmox
      14 AccessPoints, 5 Switches 115 Adapter, 67913 Objekte, 57954 Zustände,126x Shelly, 26 Thermostate, Fire Tablets, DMX, USV, 18x echodot, 9xKlima, 4x heizung, beamer, 6x IP Speed dome, AiOnTheEdge, Tasmota Wemos, Fingerabdrucksensoren, VOIP TFE, Türsteuerung, BMZ,EMA

      J 1 Antwort Letzte Antwort
      0
      • R Roelli

        @Ju5t1n
        Mega!
        Habe mal Deinen Code bei mir ausprobiert, funzt aber noch nicht so ganz. Der Zustand ändert sich nicht - egal ob die "Led rot ist oder nicht".
        Kann man vermutlich auch besser testen wenn man auch mal den Wert der Webseite ändern kann.
        Hast Du Bock auf Teamviewer? Ich zahl nen Fuffi pro Stunde mit Paypal - dann könnten wir mal probieren. Vielleicht klappts ja irgendwie.

        J Offline
        J Offline
        Ju5t1n
        schrieb am zuletzt editiert von
        #4

        @Roelli
        😁 Das Geld lass mal stecken. Teamviewer können wir aber gerne mal machen.
        Die Werte in der Webseite ändern sich, wenn du deine Türen/Fenster öffnest oder schließt.
        Bei mir dauert es immer ein paar Sekunden, bis die Änderung auf dem WebGui von der EMA erscheint.
        Also mit ein wenig Verzögerung musst du schon leben.

        R 1 Antwort Letzte Antwort
        0
        • J Ju5t1n

          @Roelli
          😁 Das Geld lass mal stecken. Teamviewer können wir aber gerne mal machen.
          Die Werte in der Webseite ändern sich, wenn du deine Türen/Fenster öffnest oder schließt.
          Bei mir dauert es immer ein paar Sekunden, bis die Änderung auf dem WebGui von der EMA erscheint.
          Also mit ein wenig Verzögerung musst du schon leben.

          R Offline
          R Offline
          Roelli
          schrieb am zuletzt editiert von
          #5

          @Ju5t1n
          Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext. Ich würde sagen ich mache gefühlt relativ viel falsch! :-)
          Wann haste mal Zeit? 👼

          NUC6i7KYK M.2 32GB RAM mit Proxmox
          14 AccessPoints, 5 Switches 115 Adapter, 67913 Objekte, 57954 Zustände,126x Shelly, 26 Thermostate, Fire Tablets, DMX, USV, 18x echodot, 9xKlima, 4x heizung, beamer, 6x IP Speed dome, AiOnTheEdge, Tasmota Wemos, Fingerabdrucksensoren, VOIP TFE, Türsteuerung, BMZ,EMA

          HomoranH 1 Antwort Letzte Antwort
          0
          • R Roelli

            @Ju5t1n
            Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext. Ich würde sagen ich mache gefühlt relativ viel falsch! :-)
            Wann haste mal Zeit? 👼

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #6

            @Roelli sagte in Webseite parsen ?:

            Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext.

            das soll er auch, wenn der Aufruf korrekt ist.
            Spätestens nach dem Drücken des "play"-Buttons

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            R 1 Antwort Letzte Antwort
            0
            • HomoranH Homoran

              @Roelli sagte in Webseite parsen ?:

              Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext.

              das soll er auch, wenn der Aufruf korrekt ist.
              Spätestens nach dem Drücken des "play"-Buttons

              R Offline
              R Offline
              Roelli
              schrieb am zuletzt editiert von
              #7

              @Homoran said in Webseite parsen ?:

              @Roelli sagte in Webseite parsen ?:

              Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext.

              das soll er auch, wenn der Aufruf korrekt ist.
              Spätestens nach dem Drücken des "play"-Buttons

              Interessant!
              Allerdings ändert sich am Datenpunkt: nix

              NUC6i7KYK M.2 32GB RAM mit Proxmox
              14 AccessPoints, 5 Switches 115 Adapter, 67913 Objekte, 57954 Zustände,126x Shelly, 26 Thermostate, Fire Tablets, DMX, USV, 18x echodot, 9xKlima, 4x heizung, beamer, 6x IP Speed dome, AiOnTheEdge, Tasmota Wemos, Fingerabdrucksensoren, VOIP TFE, Türsteuerung, BMZ,EMA

              HomoranH 1 Antwort Letzte Antwort
              0
              • R Roelli

                @Homoran said in Webseite parsen ?:

                @Roelli sagte in Webseite parsen ?:

                Bei mir erscheint beim "Testtext" plötzlich der Seitenquelltext.

                das soll er auch, wenn der Aufruf korrekt ist.
                Spätestens nach dem Drücken des "play"-Buttons

                Interessant!
                Allerdings ändert sich am Datenpunkt: nix

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #8

                @Roelli ich habe mir den "Quelltext" nicht genau angesehen. kann mir aber bei einer Alarmanlage gut vorstellen, dass diese nicht einfach von extern gesteuert werden kann.

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                R 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @Roelli ich habe mir den "Quelltext" nicht genau angesehen. kann mir aber bei einer Alarmanlage gut vorstellen, dass diese nicht einfach von extern gesteuert werden kann.

                  R Offline
                  R Offline
                  Roelli
                  schrieb am zuletzt editiert von
                  #9

                  @Homoran

                  Bei der Alarmanlage gibt's 100 Eingänge (=100 Meldergruppen)
                  und 100 Ausänge (womit man von extern irgendwas in der Alarmanlage schalten kann.

                  Die Alarmanlage macht lokal eine Webseite.
                  Ich dachte.. Iobroker checkt dann im lokalen Netzwerk die Werte der Webseite und wenn sich was ändert - dann ändert sich der Datenpunkt in Iobroker und ich kann damit dann weiterarbeiten.

                  NUC6i7KYK M.2 32GB RAM mit Proxmox
                  14 AccessPoints, 5 Switches 115 Adapter, 67913 Objekte, 57954 Zustände,126x Shelly, 26 Thermostate, Fire Tablets, DMX, USV, 18x echodot, 9xKlima, 4x heizung, beamer, 6x IP Speed dome, AiOnTheEdge, Tasmota Wemos, Fingerabdrucksensoren, VOIP TFE, Türsteuerung, BMZ,EMA

                  HomoranH 1 Antwort Letzte Antwort
                  0
                  • R Roelli

                    @Homoran

                    Bei der Alarmanlage gibt's 100 Eingänge (=100 Meldergruppen)
                    und 100 Ausänge (womit man von extern irgendwas in der Alarmanlage schalten kann.

                    Die Alarmanlage macht lokal eine Webseite.
                    Ich dachte.. Iobroker checkt dann im lokalen Netzwerk die Werte der Webseite und wenn sich was ändert - dann ändert sich der Datenpunkt in Iobroker und ich kann damit dann weiterarbeiten.

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #10

                    @Roelli also nur reagieren? nicht da etwas ändern!
                    das sollte gehen, wenn die Änderungen auch im Quelltext erscheinen und nicht im Hintergrund dynamisch erstellt werden.

                    kein Support per PN! - Fragen im Forum stellen -
                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    R 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @Roelli also nur reagieren? nicht da etwas ändern!
                      das sollte gehen, wenn die Änderungen auch im Quelltext erscheinen und nicht im Hintergrund dynamisch erstellt werden.

                      R Offline
                      R Offline
                      Roelli
                      schrieb am zuletzt editiert von
                      #11

                      @Homoran
                      Joa. Auf die Ausgänge der Alarmanlage soll nur reagiert werden.
                      Die Eingänge der Alarmanlage sollen aber auch schalten. (Von Iobroker zur Alarmanlage)

                      Für mich sieht's eher nicht so aus als wenn sich im Quelltext was ändert wenn sich ein Wert der Alarmanlage ändert. Zumindest kann ich keine 100 einzelne Zustände erkennen.
                      Aber... in Sachen HTML bin ich eh auf Hilfe angewiesen.
                      Eine Lösung dazu findet man eher nicht im Internet. Das ist eher etwas für jemanden der sich sowieso mit sowas auskennt. ;-)

                      NUC6i7KYK M.2 32GB RAM mit Proxmox
                      14 AccessPoints, 5 Switches 115 Adapter, 67913 Objekte, 57954 Zustände,126x Shelly, 26 Thermostate, Fire Tablets, DMX, USV, 18x echodot, 9xKlima, 4x heizung, beamer, 6x IP Speed dome, AiOnTheEdge, Tasmota Wemos, Fingerabdrucksensoren, VOIP TFE, Türsteuerung, BMZ,EMA

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • R Roelli

                        @Homoran
                        Joa. Auf die Ausgänge der Alarmanlage soll nur reagiert werden.
                        Die Eingänge der Alarmanlage sollen aber auch schalten. (Von Iobroker zur Alarmanlage)

                        Für mich sieht's eher nicht so aus als wenn sich im Quelltext was ändert wenn sich ein Wert der Alarmanlage ändert. Zumindest kann ich keine 100 einzelne Zustände erkennen.
                        Aber... in Sachen HTML bin ich eh auf Hilfe angewiesen.
                        Eine Lösung dazu findet man eher nicht im Internet. Das ist eher etwas für jemanden der sich sowieso mit sowas auskennt. ;-)

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #12

                        @Roelli sagte in Webseite parsen ?:

                        in Sachen HTML bin ich eh auf Hilfe angewiesen.

                        da sind wir dann ja schon zwei ;-)

                        für mich sieht das so aus als ob das ganze per xml dynamisch erzeugt wird, also Werte auf die reagiert wird nicht mittels Parser zu bekommen sind

                        kein Support per PN! - Fragen im Forum stellen -
                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        292

                        Online

                        32.9k

                        Benutzer

                        83.0k

                        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