Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Socket-IO: Log-Ausgaben empfangen

NEWS

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

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

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

Socket-IO: Log-Ausgaben empfangen

Socket-IO: Log-Ausgaben empfangen

Scheduled Pinned Locked Moved Entwicklung
socket-io
6 Posts 3 Posters 529 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • nokxsN Offline
    nokxsN Offline
    nokxs
    wrote on last edited by
    #1

    Hallo zusammen,

    ich bin gerade dabei etwas mit dem Socket.io-Adapter herumzuspielen, um eine kleine Visual Studio Code Erweiterung zu schreiben.

    Mit der Erweiterung möchte ich Skripte vom JS-Adapter downloaden/uploaden, sowie diese starten und stoppen können. Die ersten vier Sachen funktionieren schon rudimentär.

    Jetzt würde ich noch gerne (genau wie im Webinterface) die Logausgaben der JS-Skripte in einem VS Code Output anzeigen. Aktuell scheitere ich aber daran, dass ich keine Logs bekomme. Versucht habe ich folgendes:

        registerForLogs() {
            if (this.client && this.isConnected) {
                this.client.on("log", (message: any) => {
                    console.log(message);
                });
    
                this.client.emit("requireLog", true, (err: any) => {
                    console.log(err);
                });
            }
        }
    

    this.client ist meine Socket.io-Verbindung, welche ich vorher aufbaue.

    Der Code wird sauber durchlaufen und es fliegt keine Exception. Ich lande allerdings auch nie in Zeile 5, sprich ich bekomme keine Logs geschickt.

    Was muss ich machen, damit ich Log-Ausgaben geschickt bekomme?

    UncleSamU 1 Reply Last reply
    0
    • nokxsN nokxs

      Hallo zusammen,

      ich bin gerade dabei etwas mit dem Socket.io-Adapter herumzuspielen, um eine kleine Visual Studio Code Erweiterung zu schreiben.

      Mit der Erweiterung möchte ich Skripte vom JS-Adapter downloaden/uploaden, sowie diese starten und stoppen können. Die ersten vier Sachen funktionieren schon rudimentär.

      Jetzt würde ich noch gerne (genau wie im Webinterface) die Logausgaben der JS-Skripte in einem VS Code Output anzeigen. Aktuell scheitere ich aber daran, dass ich keine Logs bekomme. Versucht habe ich folgendes:

          registerForLogs() {
              if (this.client && this.isConnected) {
                  this.client.on("log", (message: any) => {
                      console.log(message);
                  });
      
                  this.client.emit("requireLog", true, (err: any) => {
                      console.log(err);
                  });
              }
          }
      

      this.client ist meine Socket.io-Verbindung, welche ich vorher aufbaue.

      Der Code wird sauber durchlaufen und es fliegt keine Exception. Ich lande allerdings auch nie in Zeile 5, sprich ich bekomme keine Logs geschickt.

      Was muss ich machen, damit ich Log-Ausgaben geschickt bekomme?

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      wrote on last edited by
      #2

      @nokxs Wow, cool! Diese Extension wird sicher vielen helfen.

      Welchen socket.io verwendest du? Den von Web oder den von Admin? Es könnte sein, dass es diese Funktion nur auf dem socket.io von Admin gibt.

      Wenn du hier schaust, wie Logs empfangen werden, glaube ich, hast du alles richtig gemacht:
      https://github.com/ioBroker/adapter-react/blob/master/src/Connection.js

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      nokxsN 1 Reply Last reply
      0
      • UncleSamU UncleSam

        @nokxs Wow, cool! Diese Extension wird sicher vielen helfen.

        Welchen socket.io verwendest du? Den von Web oder den von Admin? Es könnte sein, dass es diese Funktion nur auf dem socket.io von Admin gibt.

        Wenn du hier schaust, wie Logs empfangen werden, glaube ich, hast du alles richtig gemacht:
        https://github.com/ioBroker/adapter-react/blob/master/src/Connection.js

        nokxsN Offline
        nokxsN Offline
        nokxs
        wrote on last edited by nokxs
        #3

        @UncleSam Wenn außer mir die Extension sonst noch brauchen kann, lohnt sich die Entwicklung richtig. Sobald die Extension gut genug funktioniert, kann ich die im VS Code Marketplace veröffentlichen.

        Ich weiß gar nicht ganz genau, welchen socket.io von den genannten ich genau verwende. Aktuell verwende ich den separaten socket.io Adapter (https://github.com/ioBroker/ioBroker.socketio) und dessen Standard-Port 8084.

        Die Connection.js hatte ich schon angeschaut und war deswegen auch etwas verwirrt, dass es nicht funktioniert hat.

        Mir war gar nicht bewusst, dass es verschiedene socket.io Endpunkte gibt. Wäre es sinnvoller einen anderen Endpunkt zu verwenden?

        Edit: Ich hab es gerade mit Port 8081 versucht. Ich vermute mal, dass das der socket.io Endpunkt von Admin ist. Damit hat der Codeschnippsel von mir sofort funktioniert 👍. Im Endeffekt ist das ziemlich gut, da die Extension es so nicht erfordert bestimmte Adapter installiert zu haben.

        Allerdings ist die Doku vom Socket.io-Adapter irreführend, da hier auch requireLogs beschrieben ist, obwohl es nicht funktioniert (zumindest bei mir).

        UncleSamU htreckslerH 2 Replies Last reply
        0
        • nokxsN nokxs

          @UncleSam Wenn außer mir die Extension sonst noch brauchen kann, lohnt sich die Entwicklung richtig. Sobald die Extension gut genug funktioniert, kann ich die im VS Code Marketplace veröffentlichen.

          Ich weiß gar nicht ganz genau, welchen socket.io von den genannten ich genau verwende. Aktuell verwende ich den separaten socket.io Adapter (https://github.com/ioBroker/ioBroker.socketio) und dessen Standard-Port 8084.

          Die Connection.js hatte ich schon angeschaut und war deswegen auch etwas verwirrt, dass es nicht funktioniert hat.

          Mir war gar nicht bewusst, dass es verschiedene socket.io Endpunkte gibt. Wäre es sinnvoller einen anderen Endpunkt zu verwenden?

          Edit: Ich hab es gerade mit Port 8081 versucht. Ich vermute mal, dass das der socket.io Endpunkt von Admin ist. Damit hat der Codeschnippsel von mir sofort funktioniert 👍. Im Endeffekt ist das ziemlich gut, da die Extension es so nicht erfordert bestimmte Adapter installiert zu haben.

          Allerdings ist die Doku vom Socket.io-Adapter irreführend, da hier auch requireLogs beschrieben ist, obwohl es nicht funktioniert (zumindest bei mir).

          UncleSamU Offline
          UncleSamU Offline
          UncleSam
          Developer
          wrote on last edited by UncleSam
          #4

          @nokxs Super, ja genau Port 8081 ist für Admin. Bitte bedenke, dass der Passwort geschützt sein kann.

          Grundsätzlich sollte der Port 8081 nicht ausserhalb Admin genutzt werden, aber deine Extension ist ja eine "Erweiterung" von Admin, deshalb sehe ich kein Problem.

          Eröffne doch ein Issue auf GitHub (im socket.io Adapter), dass Logs nicht gehen (wahrscheinlich ist das Absicht aber nicht sauber dokumentiert).

          Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
          ♡-lichen Dank an meine Sponsoren

          nokxsN 1 Reply Last reply
          0
          • UncleSamU UncleSam

            @nokxs Super, ja genau Port 8081 ist für Admin. Bitte bedenke, dass der Passwort geschützt sein kann.

            Grundsätzlich sollte der Port 8081 nicht ausserhalb Admin genutzt werden, aber deine Extension ist ja eine "Erweiterung" von Admin, deshalb sehe ich kein Problem.

            Eröffne doch ein Issue auf GitHub (im socket.io Adapter), dass Logs nicht gehen (wahrscheinlich ist das Absicht aber nicht sauber dokumentiert).

            nokxsN Offline
            nokxsN Offline
            nokxs
            wrote on last edited by
            #5

            @UncleSam Danke für deine schnelle Rückmeldung. Den Issue habe ich geschrieben und ich werde dann erst einmal Port 8081 verwenden.

            Das mit dem Passwort ist ein guter Hinweis.

            1 Reply Last reply
            0
            • nokxsN nokxs

              @UncleSam Wenn außer mir die Extension sonst noch brauchen kann, lohnt sich die Entwicklung richtig. Sobald die Extension gut genug funktioniert, kann ich die im VS Code Marketplace veröffentlichen.

              Ich weiß gar nicht ganz genau, welchen socket.io von den genannten ich genau verwende. Aktuell verwende ich den separaten socket.io Adapter (https://github.com/ioBroker/ioBroker.socketio) und dessen Standard-Port 8084.

              Die Connection.js hatte ich schon angeschaut und war deswegen auch etwas verwirrt, dass es nicht funktioniert hat.

              Mir war gar nicht bewusst, dass es verschiedene socket.io Endpunkte gibt. Wäre es sinnvoller einen anderen Endpunkt zu verwenden?

              Edit: Ich hab es gerade mit Port 8081 versucht. Ich vermute mal, dass das der socket.io Endpunkt von Admin ist. Damit hat der Codeschnippsel von mir sofort funktioniert 👍. Im Endeffekt ist das ziemlich gut, da die Extension es so nicht erfordert bestimmte Adapter installiert zu haben.

              Allerdings ist die Doku vom Socket.io-Adapter irreführend, da hier auch requireLogs beschrieben ist, obwohl es nicht funktioniert (zumindest bei mir).

              htreckslerH Offline
              htreckslerH Offline
              htrecksler
              Forum Testing
              wrote on last edited by
              #6

              @nokxs sagte in Socket-IO: Log-Ausgaben empfangen:

              Wenn außer mir die Extension sonst noch brauchen kann,

              ich hätte Interesse.

              Gruss Hermann

              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              607

              Online

              32.4k

              Users

              81.3k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe