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. Einsteigerfragen
  4. Ext Website steuern (Enpal)

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    7
    1
    276

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    253

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

Ext Website steuern (Enpal)

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
12 Beiträge 4 Kommentatoren 166 Aufrufe 4 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.
  • K ktsalti

    Hi,
    mit Hilfe der KI (Google) habe ich es hinbekommen. Anbei alle Informationen (auch von der KI) zusammengefasst.
    Ich habe es jetzt in 3x Scripten - geht vielleicht auch noch in ein Script - aber ich bin froh das es erstmal funktioniert und baue mir jetzt erstmal eine View.

    Anleitung: Website-Button über ioBroker klicken (Puppeteer)
    Diese Anleitung beschreibt, wie ein Button auf einer externen Webseite (z. B. Wallbox-Steuerung) automatisiert über ioBroker geklickt wird.

    1. Systemvorbereitung (Linux/Konsole)
      Damit der Browser (Chromium/Puppeteer) unter Linux (Debian/Ubuntu) korrekt startet, müssen notwendige Grafik-Bibliotheken installiert sein. Führe folgende Befehle per SSH aus:
    bash
    sudo apt-get update
    sudo apt-get install -y libnss3 libnspr4 libatk1.0-0t64 libatk-bridge2.0-0t64 libcups2t64 \
    libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libasound2t64 \
    libpango-1.0-0 libcairo2 libxfixes3 libx11-6 libx11-xcb1 libxcb1 libxcursor1 libxi6 libxtst6
    

    Verwende Code mit Vorsicht.
    2. ioBroker Konfiguration

    1. Gehe zu Instanzen -> javascript.0 -> Einstellungen.
    2. Trage unter Zusätzliche NPM-Module das Wort puppeteer ein.
    3. Speichere die Einstellungen (der Adapter startet neu).
    4. Das Steuerungs-Skript
      Erstelle ein neues JavaScript im ioBroker und füge folgenden Code ein. Passe die URL und den Selektor ggf. an. Hier mein Beispiel für den Button SET SOLAR
    
    const puppeteer = require('puppeteer');
    
    async function wallboxKlick() {
        console.log('Starte Browser für Wallbox-Steuerung...');
        
        const browser = await puppeteer.launch({
            headless: true,
            args: ['--no-sandbox', '--disable-setuid-sandbox']
        });
    
        try {
            const page = await browser.newPage();
            
            // Timeout erhöhen, falls die Wallbox-Seite langsam lädt
            await page.goto('http://192.168.188.110/wallbox', { 
                waitUntil: 'networkidle2', 
                timeout: 30000 
            });
    
            // Dein kopierter Selektor
            const selector = 'body > div.page > main > div:nth-child(3) > div.mud-card-actions > button:nth-child(3) > span';
            
            // Warten, bis der Button im DOM erscheint
            await page.waitForSelector(selector, { visible: true, timeout: 10000 });
            
            // Klick ausführen
            await page.click(selector);
            
            console.log('Wallbox-Button Solar erfolgreich geklickt!');
        } catch (e) {
            console.error('Fehler beim Klicken des Wallbox-Buttons: ' + e.message);
        } finally {
            await browser.close();
            console.log('Browser geschlossen.');
        }
    }
    
    // Beispiel: Trigger über einen Datenpunkt (musst du ggf. anlegen)
    // Ersetze '0_userdata.0.wallbox_laden_start' durch deinen Datenpunkt
    on({id: '0_userdata.0.Wallbox.SET_SOLAR', val: true, ack: false}, (obj) => {
        wallboxKlick();
        // Optional: Datenpunkt wieder auf false setzen
        setState(obj.id, false, true);
    });
    

    Verwende Code mit Vorsicht.
    4. Fehlersuche
    Sollte der Browser nicht starten, prüfe mit folgendem Befehl in der Konsole, welche Bibliothek noch fehlt:
    ldd /home/iobroker/.cache/puppeteer/chrome/linux-XXXX/chrome-linux64/chrome | grep not


    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #3

    @ktsalti

    das mag zwar funktionieren, ist aber mit ganz schön overhead verbunden.
    im endeffekt lädt der im hintergrund einen browser und sagt dem dann, klick hier, klick da und lese dann das ergebnis von der webseite.

    besser wäre es die api direkt anzusteuern. dazu muss man aber die seite ein wenig reengineeren

    was du machen kannst um erstmal grundlagen zu schalfen

    • öffne im browser die seite
    • dann öffne die web developer tools im browser mit F12
    • dann gehen auf den Network tab. falls in der iste schon was drin steht, leere diese. in chrome sieht es dann so aus
      af38fb96-d6f2-47bd-a920-de4f9db7e256-image.jpeg
    • dann drücke einen knopf
    • es müssten dann 1 bis mehrere Zeilen erscheinen. Meist ist es die erste aber ggfs muss man mehrere Zeilen durchschauen. Jede Zeile entspricht einen http-request. Also Daten die an den Webserver (also dein Gerät) gesendet werden und die dazugehörige Antwort (wenn was gesendet wird
    • du schaust dann der reihe nach die zeilen an, an welchen link das gesendet wurde und ob das mit der funktion des knopfes irgendwie übereinstimmt. zusätzlich schaust du dir dann noch den untertab response an, ob da was drin steht
      -wenn du die richtige zeile gefunden hast, dann rechtsklick auf diese zeile und den requestbefehl aus dem kontextmenü "Copy -> Copy as fetch (node.js)" kopieren.

    Dann kann man weiterschauen.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    1 Antwort Letzte Antwort
    1
    • K Offline
      K Offline
      ktsalti
      schrieb am zuletzt editiert von ktsalti
      #4

      Hi OliverIO,

      vielen Dank für deine Antwort!
      Leider passiert in den DEV-Tools unter Network garnichts, wenn ich auf den Button klicke.
      Das war meine (und sogar von der KI) erste Idee.

      Deshalb den Umweg. Bin natürlich für jede weitere Idee offen :)

      NegaleinN OliverIOO 2 Antworten Letzte Antwort
      0
      • K ktsalti

        Hi OliverIO,

        vielen Dank für deine Antwort!
        Leider passiert in den DEV-Tools unter Network garnichts, wenn ich auf den Button klicke.
        Das war meine (und sogar von der KI) erste Idee.

        Deshalb den Umweg. Bin natürlich für jede weitere Idee offen :)

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #5

        @ktsalti sagte:

        Leider passiert in den DEV-Tools unter Network garnichts, wenn ich auf den Button klicke.

        aktivier mal invert.
        Ist bei mir zumindest so.

        cc873ead-aa11-4314-98bb-bddd147f61dc-image.jpeg

        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
        ° Node.js Fixer ---> iob nodejs-update
        ° Fixer ---> iob fix

        1 Antwort Letzte Antwort
        0
        • K ktsalti

          Hi OliverIO,

          vielen Dank für deine Antwort!
          Leider passiert in den DEV-Tools unter Network garnichts, wenn ich auf den Button klicke.
          Das war meine (und sogar von der KI) erste Idee.

          Deshalb den Umweg. Bin natürlich für jede weitere Idee offen :)

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #6

          @ktsalti

          All muss selektiert sein
          Und im Suchfeld darf auch nix drin stehen
          Sonst wird alles ausgefiltert

          Invert kehrt das Suchfeld glaube ich um

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Antwort Letzte Antwort
          0
          • skvarelS Online
            skvarelS Online
            skvarel
            Developer
            schrieb am zuletzt editiert von skvarel
            #7

            Mit dem Thema habe ich mich intensiv beschäftigt, als ich den Enpal Adapter gebaut habe.

            Ein Steuern wird von Enpal nicht gedultet, es gibt auch keine API-Doku. Lediglich das Auslesen der Daten ist gestattet.

            EDIT:
            Enpal ist da sehr streng mit ihrem geschlossenen System. Es kann sogar zur Sperrung der lokalen Ui kommen (Info von deren IT)

            EDIT:
            Aus diesem Grund ist mein Enpal Adapter auch Read-Only, um nicht gegen deren Bestimmungen zu verstoßen.

            #TeamInventwo
            Unsere Adapter:
            Autodarts, FoxESS, Enpal, Life360ng, Tidy, vis-inventwo, vis-2-widgets-inventwo, vis-icontwo, vis-2-widgets-icontwo

            Wer uns mit einem Kaffee unterstützen möchte: PayPal

            1 Antwort Letzte Antwort
            1
            • K Offline
              K Offline
              ktsalti
              schrieb am zuletzt editiert von
              #8

              Ich habe nochmal mit den DEV-Tools rumgespielt - leider kein Erfolg. Es bleibt leer wenn ich den Button drücke. Mit und ohne Invert - beides ausprobiert.
              PS: Ein Reload der Seite bringt viele Daten. Aber das hilft ja nicht bei meinen Problem.

              Screenshot 2026-04-16 213446.png

              @skvarel
              wenn sie das umschalten per WebSite nicht erlauben würden, wäre es bestimmt nicht so sichtbar. Aber ja- man sollte es nicht übertreiben.
              Früher konnte man über die Enpal-Box noch viel mehr Sachen einstellen. Aber das ist verschwunden - aber auch besser so. Da konnte man echt viel kaputt machen. Habe selbst mal ausversehen was angeklickt und mein Speicher hat nicht mehr geladen...😕

              Ich werde es jetzt erstmal so weiterlaufen lassen - Vorbereitung für den Winter und die Tibber-Ladung, wenn die Sonne nicht mehr ausreicht

              Danke euch und Viele Grüße
              Marcus

              OliverIOO skvarelS 2 Antworten Letzte Antwort
              0
              • K ktsalti

                Ich habe nochmal mit den DEV-Tools rumgespielt - leider kein Erfolg. Es bleibt leer wenn ich den Button drücke. Mit und ohne Invert - beides ausprobiert.
                PS: Ein Reload der Seite bringt viele Daten. Aber das hilft ja nicht bei meinen Problem.

                Screenshot 2026-04-16 213446.png

                @skvarel
                wenn sie das umschalten per WebSite nicht erlauben würden, wäre es bestimmt nicht so sichtbar. Aber ja- man sollte es nicht übertreiben.
                Früher konnte man über die Enpal-Box noch viel mehr Sachen einstellen. Aber das ist verschwunden - aber auch besser so. Da konnte man echt viel kaputt machen. Habe selbst mal ausversehen was angeklickt und mein Speicher hat nicht mehr geladen...😕

                Ich werde es jetzt erstmal so weiterlaufen lassen - Vorbereitung für den Winter und die Tibber-Ladung, wenn die Sonne nicht mehr ausreicht

                Danke euch und Viele Grüße
                Marcus

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #9

                @ktsalti

                Du hast jetzt das Suchfeld leer und invert angekreutzt. Das könnte schon ausfiltern.

                Ganz ohne ein Request wäre seltsam.
                Als Nächstes bleibt dann eigentlich nur noch websocket. Die Verbindung wurde dann aber bereits am Anfang aufgebaut.

                Da wäre dann die Vorgehensweise

                • Rekord der Seite mit F5
                • Filtern auf socket
                • dann in den Request rein klicken und im untertan dass auf messages gehen. Mit jedem Klick auf einen Knopf müssten dann mehr messages erscheinen

                Websocket ist allerdings etwas aufwändiger zu programmieren

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • K ktsalti

                  Ich habe nochmal mit den DEV-Tools rumgespielt - leider kein Erfolg. Es bleibt leer wenn ich den Button drücke. Mit und ohne Invert - beides ausprobiert.
                  PS: Ein Reload der Seite bringt viele Daten. Aber das hilft ja nicht bei meinen Problem.

                  Screenshot 2026-04-16 213446.png

                  @skvarel
                  wenn sie das umschalten per WebSite nicht erlauben würden, wäre es bestimmt nicht so sichtbar. Aber ja- man sollte es nicht übertreiben.
                  Früher konnte man über die Enpal-Box noch viel mehr Sachen einstellen. Aber das ist verschwunden - aber auch besser so. Da konnte man echt viel kaputt machen. Habe selbst mal ausversehen was angeklickt und mein Speicher hat nicht mehr geladen...😕

                  Ich werde es jetzt erstmal so weiterlaufen lassen - Vorbereitung für den Winter und die Tibber-Ladung, wenn die Sonne nicht mehr ausreicht

                  Danke euch und Viele Grüße
                  Marcus

                  skvarelS Online
                  skvarelS Online
                  skvarel
                  Developer
                  schrieb am zuletzt editiert von skvarel
                  #10

                  @ktsalti .. ich habe mich etwas unglücklich ausgedrückt.

                  Ja, das Schalten über die Ui ist natürlich zulässig und gewollt. Es geht um automatisierte Zugriffe, die nicht gestattet sind. Ob Enpal kontrollieren kann, ob man den Button mit dem Finger oder einem Befehl drückt, bezweifle ich.

                  Ich schaue mir das aber auch mal an. Die Wallbox per VIS zu starten wäre schon nicht schlecht. Allerdings würde ich das bei mir auch nur als Script laufen lassen und es nicht in den Enpal Adapter übernehmen.

                  #TeamInventwo
                  Unsere Adapter:
                  Autodarts, FoxESS, Enpal, Life360ng, Tidy, vis-inventwo, vis-2-widgets-inventwo, vis-icontwo, vis-2-widgets-icontwo

                  Wer uns mit einem Kaffee unterstützen möchte: PayPal

                  1 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    ktsalti
                    schrieb am zuletzt editiert von
                    #11

                    @oliverio
                    ist das die richtige Stelle? Auch ohne das ich klicke, werden dort in Millisekunden-Bereich Messages geschickt.

                    Screenshot 2026-04-19 203559.png

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • K ktsalti

                      @oliverio
                      ist das die richtige Stelle? Auch ohne das ich klicke, werden dort in Millisekunden-Bereich Messages geschickt.

                      Screenshot 2026-04-19 203559.png

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #12

                      @ktsalti

                      Ja das ist die richtige Stelle,
                      Die vielen nachrichten bedeuten das die Webseite Regelmäßig mit dem Server Daten austauscht.

                      Da du eine Nachricht markiert hast, sehe ich das der Inhalt leider binär Daten sind.
                      Jetzt wird es leider noch komplizierter. Jetzt müsste man das ebenfalls noch aufschlüsseln. Ohne Dokumentation wird das schwierig.
                      An der Stelle überwiegt dann der Aufwand den nutzen. Insbesondere dann, wenn die Firma da sagt das sie den Zugang nur sehr restriktiv handhaben.

                      Du kannst mal probieren mehrfach hintereinander einen Knopf zu drücken und schauen ob du den messages irgendwelche Unterschiede Gemeinsamkeiten findest die sich auf den Knopfdruck zurück führen lassen.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      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

                      358

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      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