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. Error/Bug
  4. [gelöst] Fehler bei der Verbindung zu Websocket

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Fehler bei der Verbindung zu Websocket

Geplant Angeheftet Gesperrt Verschoben Error/Bug
3 Beiträge 2 Kommentatoren 317 Aufrufe 3 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.
  • Marcus SchmittM Offline
    Marcus SchmittM Offline
    Marcus Schmitt
    schrieb am zuletzt editiert von Marcus Schmitt
    #1
    Systemdata Bitte Ausfüllen
    Hardwaresystem: Pi4
    Arbeitsspeicher: 4GB
    Festplattenart: SD-Karte
    Betriebssystem: Raspian
    Node-Version: 14.21.1
    Nodejs-Version: 14.21.1
    NPM-Version: 6.14.7
    Installationsart: Skript
    Image genutzt: Nein

    Hallo zusammen,
    ich versuche grade eine eigene kleine Anwendung (Javascript/TypeScript) gegen ioBroker zu schalten.
    Ich nutze um inital die Daten abzurufen den Rest-Adapter, aber um aktuell zu sein, und um die States zu ändern, nutze ich den im Web-Adapter integrierten WebSocket-Server.

    Warum auch immer hatte ich bis gestern keine Probleme mit dem WebSocket, jetzt neu ist aber, dass, wenn ich die Verbindung aufbaue, der http-server sich verabschiedet und neu startet.

    Folgende Fehlermeldung finde ich im Log:

    2023-01-11 10:32:54.679  - info: admin.0 (326281) <== Disconnect system.user.admin from ::ffff:192.168.2.48 ownview2
    2023-01-11 10:32:54.758  - info: admin.0 (326281) ==> Connected system.user.admin from ::ffff:192.168.2.48
    2023-01-11 10:32:54.800  - error: admin.0 (326281) uncaught exception: Cannot read property '0' of undefined
    2023-01-11 10:32:54.801  - error: admin.0 (326281) TypeError: Cannot read property '0' of undefined
        at /opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:115
        at Array.forEach (<anonymous>)
        at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:83)
        at processImmediate (internal/timers.js:464:21)
    2023-01-11 10:32:54.801  - error: admin.0 (326281) Cannot read property '0' of undefined
    2023-01-11 10:32:54.835  - info: admin.0 (326281) terminating http server on port 8081
    2023-01-11 10:32:54.844  - info: admin.0 (326281) terminating
    2023-01-11 10:32:54.846  - warn: admin.0 (326281) Terminated (UNCAUGHT_EXCEPTION): Without reason
    2023-01-11 10:32:54.947  - error: host.iobroker Caught by controller[0]: TypeError: Cannot read property '0' of undefined
    2023-01-11 10:32:54.947  - error: host.iobroker Caught by controller[0]:     at /opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:115
    2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at Array.forEach (<anonymous>)
    2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:83)
    2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at processImmediate (internal/timers.js:464:21)
    2023-01-11 10:32:54.948  - error: host.iobroker instance system.adapter.admin.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
    2023-01-11 10:32:54.949  - info: host.iobroker Restart adapter system.adapter.admin.0 because enabled
    2023-01-11 10:33:25.022  - info: host.iobroker instance system.adapter.admin.0 started with pid 326444
    

    Meine WebSocket-Client Klasse:

    import { AdminConnection } from "@iobroker/socket-client";
    
    export class WebSocketClient {
    
        private static CONNECTION:Promise<AdminConnection>
    
        private async connect(): Promise<AdminConnection> {
            const adminConnection = new AdminConnection({
                protocol: 'ws',
                host: '192.168.2.4',
                port: 8081,
                admin5only: false,
                autoSubscribes: [],
                name: "ownview"
                // optional: other options
    
    
            });
            await adminConnection.startSocket();
            await adminConnection.waitForFirstConnection();
            return adminConnection;
        }
    
        public async getAdminConnection() :  Promise<AdminConnection> {
            if (WebSocketClient.CONNECTION === undefined) {
                WebSocketClient.CONNECTION = this.connect();
            }
            return WebSocketClient.CONNECTION;
        }
    }
    

    hat von euch einer eine Idee?

    Marcus SchmittM 1 Antwort Letzte Antwort
    0
    • Marcus SchmittM Marcus Schmitt
      Systemdata Bitte Ausfüllen
      Hardwaresystem: Pi4
      Arbeitsspeicher: 4GB
      Festplattenart: SD-Karte
      Betriebssystem: Raspian
      Node-Version: 14.21.1
      Nodejs-Version: 14.21.1
      NPM-Version: 6.14.7
      Installationsart: Skript
      Image genutzt: Nein

      Hallo zusammen,
      ich versuche grade eine eigene kleine Anwendung (Javascript/TypeScript) gegen ioBroker zu schalten.
      Ich nutze um inital die Daten abzurufen den Rest-Adapter, aber um aktuell zu sein, und um die States zu ändern, nutze ich den im Web-Adapter integrierten WebSocket-Server.

      Warum auch immer hatte ich bis gestern keine Probleme mit dem WebSocket, jetzt neu ist aber, dass, wenn ich die Verbindung aufbaue, der http-server sich verabschiedet und neu startet.

      Folgende Fehlermeldung finde ich im Log:

      2023-01-11 10:32:54.679  - info: admin.0 (326281) <== Disconnect system.user.admin from ::ffff:192.168.2.48 ownview2
      2023-01-11 10:32:54.758  - info: admin.0 (326281) ==> Connected system.user.admin from ::ffff:192.168.2.48
      2023-01-11 10:32:54.800  - error: admin.0 (326281) uncaught exception: Cannot read property '0' of undefined
      2023-01-11 10:32:54.801  - error: admin.0 (326281) TypeError: Cannot read property '0' of undefined
          at /opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:115
          at Array.forEach (<anonymous>)
          at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:83)
          at processImmediate (internal/timers.js:464:21)
      2023-01-11 10:32:54.801  - error: admin.0 (326281) Cannot read property '0' of undefined
      2023-01-11 10:32:54.835  - info: admin.0 (326281) terminating http server on port 8081
      2023-01-11 10:32:54.844  - info: admin.0 (326281) terminating
      2023-01-11 10:32:54.846  - warn: admin.0 (326281) Terminated (UNCAUGHT_EXCEPTION): Without reason
      2023-01-11 10:32:54.947  - error: host.iobroker Caught by controller[0]: TypeError: Cannot read property '0' of undefined
      2023-01-11 10:32:54.947  - error: host.iobroker Caught by controller[0]:     at /opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:115
      2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at Array.forEach (<anonymous>)
      2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/ws-server/index.js:152:83)
      2023-01-11 10:32:54.948  - error: host.iobroker Caught by controller[0]:     at processImmediate (internal/timers.js:464:21)
      2023-01-11 10:32:54.948  - error: host.iobroker instance system.adapter.admin.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
      2023-01-11 10:32:54.949  - info: host.iobroker Restart adapter system.adapter.admin.0 because enabled
      2023-01-11 10:33:25.022  - info: host.iobroker instance system.adapter.admin.0 started with pid 326444
      

      Meine WebSocket-Client Klasse:

      import { AdminConnection } from "@iobroker/socket-client";
      
      export class WebSocketClient {
      
          private static CONNECTION:Promise<AdminConnection>
      
          private async connect(): Promise<AdminConnection> {
              const adminConnection = new AdminConnection({
                  protocol: 'ws',
                  host: '192.168.2.4',
                  port: 8081,
                  admin5only: false,
                  autoSubscribes: [],
                  name: "ownview"
                  // optional: other options
      
      
              });
              await adminConnection.startSocket();
              await adminConnection.waitForFirstConnection();
              return adminConnection;
          }
      
          public async getAdminConnection() :  Promise<AdminConnection> {
              if (WebSocketClient.CONNECTION === undefined) {
                  WebSocketClient.CONNECTION = this.connect();
              }
              return WebSocketClient.CONNECTION;
          }
      }
      

      hat von euch einer eine Idee?

      Marcus SchmittM Offline
      Marcus SchmittM Offline
      Marcus Schmitt
      schrieb am zuletzt editiert von
      #2

      Ich habe das Problem gefunden.
      Es war ein Bug in meiner Anwendung.
      Ich habe initial einzelne Objekte per REST abgeholt, anschließend versucht mit der ID den state zu subscriben.
      Ich habe aber nicht gewartet, bis die REST-Antwort da war, somit war die ID noch leer bzw. undefined.
      Das hat dann dazu geführt, dass der admin-Adapter sich zerstört hat und restartet werden musste.

      Der Thread ist somit für mich erledigt.

      arteckA 1 Antwort Letzte Antwort
      0
      • Marcus SchmittM Marcus Schmitt

        Ich habe das Problem gefunden.
        Es war ein Bug in meiner Anwendung.
        Ich habe initial einzelne Objekte per REST abgeholt, anschließend versucht mit der ID den state zu subscriben.
        Ich habe aber nicht gewartet, bis die REST-Antwort da war, somit war die ID noch leer bzw. undefined.
        Das hat dann dazu geführt, dass der admin-Adapter sich zerstört hat und restartet werden musste.

        Der Thread ist somit für mich erledigt.

        arteckA Offline
        arteckA Offline
        arteck
        Developer Most Active
        schrieb am zuletzt editiert von
        #3

        @marcus-schmitt setzt du den title auf gelöst bitte

        zigbee hab ich, zwave auch, nuc's genauso und HA auch

        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

        782

        Online

        32.7k

        Benutzer

        82.4k

        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