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. Entwicklung
  4. Verbindung über ioBroker.ws

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Verbindung über ioBroker.ws

Geplant Angeheftet Gesperrt Verschoben Entwicklung
1 Beiträge 1 Kommentatoren 291 Aufrufe 1 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.
  • ldittmarL Offline
    ldittmarL Offline
    ldittmar
    Developer
    schrieb am zuletzt editiert von ldittmar
    #1

    Hi... ich versuche gerade den Status eines Objektes über den ws Adapter zubekommen. Das habe ich bis jetzt gemacht:

    const connOptions = {
      connLink: 'ws://192.168.0.50:8089'
    };
    let socket;
    
    function initializeSocket() {
      socket = new WebSocket(`${connOptions.connLink}/?sid=${Math.random().toString(36).substr(2, 10)}`);
    
      socket.addEventListener('open', () => {
        console.log('Verbindung zum ioBroker WebSocket-Adapter hergestellt.');
      });
    
      socket.addEventListener('message', (event) => {
        try {
          const data = JSON.parse(event.data);
          console.log('Nachricht vom ioBroker empfangen:', data);
          handleIoBrokerMessage(data);
        } catch (e) {
          console.error('Fehler beim Verarbeiten der Nachricht:', e);
        }
      });
    
      socket.addEventListener('close', (event) => {
        console.warn('Verbindung zum ioBroker WebSocket-Adapter geschlossen:', event);
        setTimeout(() => initializeSocket(), 5000);
      });
    }
    
    
    function sendMessageToIoBroker(message) {
      if (socket.readyState === WebSocket.OPEN) {
        socket.send(JSON.stringify(message));
        console.log('Nachricht an ioBroker gesendet:', message);
      } else {
        console.warn('WebSocket-Verbindung ist nicht offen.');
      }
    }
    
    function handleIoBrokerMessage(data) {
      // Prüfung auf spezifische Nachrichten
      if (Array.isArray(data) && data[0] === 0) {
        switch (data[1]) {
          case 1:
            console.log('ioBroker ist bereit.');
            const stateId = 'alias.0.Wohnzimmer.Durchlüftung.TIMER';
            subscribeToState(stateId);
            getCurrentState(stateId);
            break;
          case 'stateChange':
            console.log(`Zustand von ${data[2]} aktualisiert:`, data[3]);
            break;
          case 'getState': // Rückgabe des aktuellen Zustands
            console.log(`Aktueller Zustand von ${data[2]}:`, data[3]);
            break;
          default:
            console.log('Unbekannte Nachricht:', data);
        }
      } else {
        console.log('Andere Nachricht:', data);
      }
    }
    
    function subscribeToState(stateId) {
      const subscribeMessage = [0, 'subscribe', stateId];
      sendMessageToIoBroker(subscribeMessage);
      console.log(`Subscribed to state: ${stateId}`);
    }
    
    function getCurrentState(stateId) {
      const getStateMessage = [0, 'getState', stateId];
      sendMessageToIoBroker(getStateMessage);
      console.log(`Requesting current state of: ${stateId}`);
    }
    
    initializeSocket();
    

    Der verbindet sich, aber ich bekomme keine Werte. Irgendwas mache ich falsch und mit der Dokumentation komme ich auch nicht weiter. Hat jemand eine Idee? Das kommt in der Console:

    Verbindung zum ioBroker WebSocket-Adapter hergestellt.
    iobroker.js:16 Nachricht vom ioBroker empfangen: (3) [0, 1, '___ready___']
    iobroker.js:44 ioBroker ist bereit.
    iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'subscribe', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
    iobroker.js:66 Subscribed to state: alias.0.Wohnzimmer.Durchlüftung.TIMER
    iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'getState', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
    iobroker.js:72 Requesting current state of: alias.0.Wohnzimmer.Durchlüftung.TIMER
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:24 Verbindung zum ioBroker WebSocket-Adapter geschlossen: CloseEvent {isTrusted: true, wasClean: true, code: 1005, reason: '', type: 'close', …}
    (anonym) @ iobroker.js:24
    iobroker.js:10 Verbindung zum ioBroker WebSocket-Adapter hergestellt.
    iobroker.js:16 Nachricht vom ioBroker empfangen: (3) [0, 1, '___ready___']
    iobroker.js:44 ioBroker ist bereit.
    iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'subscribe', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
    iobroker.js:66 Subscribed to state: alias.0.Wohnzimmer.Durchlüftung.TIMER
    iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'getState', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
    iobroker.js:72 Requesting current state of: alias.0.Wohnzimmer.Durchlüftung.TIMER
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
    iobroker.js:59 Andere Nachricht: [1]
    iobroker.js:24 Verbindung zum ioBroker WebSocket-Adapter geschlossen: CloseEvent {isTrusted: true, wasClean: true, code: 1005, reason: '', type: 'close', …}
    
    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

    714

    Online

    32.6k

    Benutzer

    82.3k

    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