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. Eigenes Webinterface

NEWS

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

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

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

Eigenes Webinterface

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
30 Beiträge 7 Kommentatoren 4.0k Aufrufe 2 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.
  • T Offline
    T Offline
    TobStar
    schrieb am zuletzt editiert von
    #4

    Ich habe jetzt mal nen bisschen rumprobiert und die Verbindung anscheinend hinbekommen, konnte aber nicht wirklich Dinge auslesen / steuern. Nun habe ich mir mal die Beispiele aus dem GitHub rauskopiert und die Verbindung getestet, das herstellen der Verbindung ist wie gesagt anscheinend so in Ordnung … allerdings bekomme ich folgende Meldung:

    connected
    (index):26 Received 0 states.
    conn.js:414 socket.io not initialized
    

    Mich wundert hier das er 0 States anzeigt, ich denke er müsste hier alle Objekte anzeigen …

    Der Code hierzu sieht wie folgt aus:

    1 Antwort Letzte Antwort
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #5

      Gibt es Objekte in dashboard.0 ?

      Ich denke es liegt am Namespace.

      Gesendet von meinem m8 mit Tapatalk

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        TobStar
        schrieb am zuletzt editiert von
        #6

        Selbes Ergebnis wenn ich dort z.B. hm-rpc.0 oder hm-rega.0 eintrage. Der Namespace ist ja nur der Name der Verbindung … wenn ich das richtig verstanden habe.

        1 Antwort Letzte Antwort
        0
        • Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          schrieb am zuletzt editiert von
          #7

          Für mich ist der Namespace der Endpunkt in ioBroker. Wenn ich daheim bin schau ich mir das mal genauer an.

          Gesendet von meinem m8 mit Tapatalk

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            TobStar
            schrieb am zuletzt editiert von
            #8

            Klasse, danke dir.

            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              TobStar
              schrieb am zuletzt editiert von
              #9

              So, nun komme ich auch an die States und kann soweit alle Objekte auslesen.

              Nur die einzelnen Objekte abfragen gelingt mir noch nicht … ich probiere das per:

              id = 'hm-rpc.0.OEQ0885917.1.LEVEL';
              servConn.getObject(function (id, callback) {
                  console.log(callback);
              });
              
              

              Nur die Syntax ist falsch, wie müsste die korrekt lauten?

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #10

                So müsste es Korrekt aussehen:

                id = 'hm-rpc.0.OEQ0885917.1.LEVEL';
                servConn.getObject(id, false, function (callback) {
                    console.log(callback);
                });
                

                Bei mir wirft das aber immer einen Fehler:

                ncaught TypeError: Cannot read property 'emit' of null
                    at Object.getObject (conn.js:908)
                    at Object.onConnChange (index.html:36)
                    at Object.init (conn.js:206)
                    at index.html:19
                

                @TobStar:

                So, nun komme ich auch an die States und kann soweit alle Objekte auslesen. `
                Verrätst du mir wie? Ich bekomme das nicht hin.

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                1 Antwort Letzte Antwort
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  schrieb am zuletzt editiert von
                  #11

                  Du versuchst, gleich nach dem du das Befehl zum Verbindungsaufbau gegeben hast, das getObject aufzurufen. Zu diesem Zeitpunkt gibt es keine Verbindung.

                  Du darfst aber erst getObject aufrufen wenn die Verbindung da ist:

                  servConn.init({
                          name:          'dashboard.0',
                          connLink:      ''
                      }, {
                          onConnChange: function (isConnected) {
                              if (isConnected) {
                                  console.log('connected');
                  
                                  servConn.getObjects(function (err, objs) {console.log(JSON.stringify(objs, null, 2);}); <========= Richtig
                  
                                  servConn.getStates(function (err, _states) {
                                      var count = 0;
                                      for (var id in _states) {
                                          count++;
                                      }
                                      console.log('Received ' + count + ' states.');
                                      states = _states;
                                  });
                              } else {
                                  console.log('disconnected');
                              }
                          },
                          onRefresh: function () {
                              window.location.reload();
                          },
                          onUpdate: function (id, state) {
                              setTimeout(function () {
                                  console.log('NEW VALUE of ' + id + ': ' + JSON.stringify(state));
                                  states[id] = state;
                              }, 0);
                          },
                          onError: function (err) {
                              window.alert(_('Cannot execute %s for %s, because of insufficient permissions', err.command, err.arg), _('Insufficient permissions'), 'alert', 600);
                          }        
                      });
                  
                      // servConn.getObjects(); <========= Falsch
                  
                  
                  1 Antwort Letzte Antwort
                  0
                  • Jey CeeJ Online
                    Jey CeeJ Online
                    Jey Cee
                    Developer
                    schrieb am zuletzt editiert von
                    #12

                    Bei mir sieht die Ausgabe in der Konsole so aus:

                    
                    index.html:21 connected
                    conn.js:414 socket.io not initialized
                    index.html:30 Received 0 states.
                    

                    Hier der Code den ich verwendet hab:

                    Wo ist hier der Fehler? Das ist doch 1:1 das Beispiel aus dem Repo.

                    Persönlicher Support
                    Spenden -> paypal.me/J3YC33

                    1 Antwort Letzte Antwort
                    0
                    • T Offline
                      T Offline
                      TobStar
                      schrieb am zuletzt editiert von
                      #13

                      Du musst zwingend folgendes beim Init mit angeben:

                      servConn.init({
                      
                              name:          'mobile.0',
                              connLink:      'http://IPZUMSERVER:8084',
                              socketSession: ''
                      
                          },
                      
                      

                      Danach hat es bei mir funktioniert. Also nicht localhost etc. sondern die IP-Adresse

                      Insgesamt sieht es nun so aus bei mir:

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #14

                        @TobStar:

                        Du musst zwingend folgendes beim Init mit angeben:

                        servConn.init({
                              
                                name:          'mobile.0',
                                connLink:      'http://IPZUMSERVER:8084',
                                socketSession: ''
                              
                            },
                        
                        

                        Danach hat es bei mir funktioniert. Also nicht localhost etc. sondern die IP-Adresse

                        Insgesamt sieht es nun so aus bei mir: `
                        Natürlich socket.io Instanz muss existieren und auf port 8084 eingestellt sein.

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          TobStar
                          schrieb am zuletzt editiert von
                          #15

                          Was bei mir jetzt allerdings noch nicht ganz so will ist die Syntax um einzelne Objekte abzufragen.

                          id = 'hm-rpc.0.OEQ0885917.1.LEVEL';
                          servConn.getObject(id, false, function (callback) {
                              console.log(callback);
                          });
                          
                          

                          Gibt bei mir nur "null" zurück. In den States sehe ich das Objekt und die Inhalte allerdings.

                          2018-04-13T07:29:03.813Z Connected => authenticate
                          conn.js:264 2018-04-13T07:29:03.991Z Authenticated: true
                          (index):24 connected
                          (index):37 null
                          (index):30 Received 3000 states.
                          
                          
                          1 Antwort Letzte Antwort
                          0
                          • Jey CeeJ Online
                            Jey CeeJ Online
                            Jey Cee
                            Developer
                            schrieb am zuletzt editiert von
                            #16

                            @TobStar:

                            Du musst zwingend folgendes beim Init mit angeben:

                            servConn.init({
                                  
                                    name:          'mobile.0',
                                    connLink:      'http://IPZUMSERVER:8084',
                                    socketSession: ''
                                  
                                },
                            ```` `  
                            

                            Das führt bei mir zu folgendem Fehler:

                            Failed to load http://192.168.0.50:8084/socket.io/?key=nokey&EIO=3&transport=polling&t=MAzvc7K: The 'Access-Control-Allow-Origin' header has a value 'null' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.
                            conn.js:284 Uncaught ReferenceError: $ is not defined
                                at n. <anonymous>(conn.js:284)
                                at n.emit (universalModuleDefinition:2)
                                at n.emit (universalModuleDefinition:3)
                                at n.emitAll (universalModuleDefinition:1)
                                at n. <anonymous>(universalModuleDefinition:1)
                                at n.emit (universalModuleDefinition:2)
                                at n.onError (universalModuleDefinition:2)
                                at o. <anonymous>(universalModuleDefinition:2)
                                at o.n.emit (universalModuleDefinition:2)
                                at o.n.onError (universalModuleDefinition:2)
                            ​</anonymous></anonymous></anonymous>
                            

                            @Bluefox:

                            Natürlich socket.io Instanz muss existieren und auf port 8084 eingestellt sein. `
                            filename="socketio_log.PNG" index="0">~~ filename="socketio_instanz.PNG" index="1">~~ 282_socketio_conf.png

                            Persönlicher Support
                            Spenden -> paypal.me/J3YC33

                            1 Antwort Letzte Antwort
                            0
                            • T Offline
                              T Offline
                              TobStar
                              schrieb am zuletzt editiert von
                              #17

                              Das führt bei mir zu folgendem Fehler:

                              Failed to load http://192.168.0.50:8084/socket.io/?key=nokey&EIO=3&transport=polling&t=MAzvc7K: The 'Access-Control-Allow-Origin' header has a value 'null' that is not equal to the supplied origin. Origin 'null' is therefore not allowed access.
                              conn.js:284 Uncaught ReferenceError: $ is not defined
                                  at n. <anonymous>(conn.js:284)
                                  at n.emit (universalModuleDefinition:2)
                                  at n.emit (universalModuleDefinition:3)
                                  at n.emitAll (universalModuleDefinition:1)
                                  at n. <anonymous>(universalModuleDefinition:1)
                                  at n.emit (universalModuleDefinition:2)
                                  at n.onError (universalModuleDefinition:2)
                                  at o. <anonymous>(universalModuleDefinition:2)
                                  at o.n.emit (universalModuleDefinition:2)
                                  at o.n.onError (universalModuleDefinition:2)
                              ​</anonymous></anonymous></anonymous>
                              

                              Kopiere dir mal das von mir und ersetze die IP-Adressen. Damit läuft es ja, die Fehlermeldung hatte ich zu Anfang auch …

                              Hier mal die korrekte Syntax um mit getObject das einzelne Objekt abzufragen:

                              id = 'hm-rpc.0.OEQ0885917';
                              servConn.getObject(id, false, function (error, obj) {
                                  console.log(JSON.stringify(obj));
                              });
                              
                              
                              1 Antwort Letzte Antwort
                              0
                              • B Offline
                                B Offline
                                blumfisch
                                schrieb am zuletzt editiert von
                                #18

                                Hallo, vielleicht eine dumme Frage, aber ich kriegs nicht hin:

                                Ich versuche, in einer Webseite per Javascript + socketio + conn.js + bluefox' js-Beispiel zum socketio-Adapter den State z.B. einer hm-rpc Funksteckdose herauszufinden.

                                Ich schaffe es, mit

                                servConn.setState('hm-rpc.0.NEQ1581960.1.STATE', true); 
                                
                                

                                den State zu setzen und sie an bzw. mit false auch wieder aus zu schalten.

                                Aber wie lese ich so einen State aus?

                                So dass ich sagen kann:

                                Lese State von Funksteckdose Xyz. Wenn State = aus, schalte Steckdose ein. Ansonsten schalte sie aus.

                                Sowas bräuchte ich.

                                Mit:

                                id = 'hm-rpc.0.NEQ1581960';
                                servConn.getObject(id, false, function (error, obj) {
                                    console.log(JSON.stringify(obj));
                                });
                                
                                

                                bekomme ich leider anscheinend nur die Metadaten, aber eben nicht den Wert. Auch nicht mit id = "hm-rpc.0.NEQ1581960.1.STATE' oder ähnlichem.

                                Ich habe zwar alles States in der Variable/dem Objekt(???) "states" aus dem zu conn.js gehörigen js-Schnipsel von Bluefox.

                                Aber ich komme einfach nicht an die einzelnen Werte ran.

                                Wahrscheinlich ganz einfach … Aber ich bin kein Programmierer.

                                Ich verzweifle an Objekten und JSON und parse und stingify und blicke einfach nicht mehr durch.

                                Kann mir bitte, bitte jemand helfen? Sitze jetzt schon den ganzen Tag daran.

                                Wär voll nett. Danke.

                                1 Antwort Letzte Antwort
                                0
                                • ? Offline
                                  ? Offline
                                  Ein ehemaliger Benutzer
                                  schrieb am zuletzt editiert von
                                  #19

                                  Gibt es dafür nicht den Befehl getState()?

                                  Hast du den schon probiert.

                                  1 Antwort Letzte Antwort
                                  0
                                  • ? Offline
                                    ? Offline
                                    Ein ehemaliger Benutzer
                                    schrieb am zuletzt editiert von
                                    #20
                                    getStates(ID, callback)
                                    

                                    ist sogar in der Readme des Adapters beschrieben:

                                    https://github.com/ioBroker/ioBroker.socketio#getstates

                                    1 Antwort Letzte Antwort
                                    0
                                    • B Offline
                                      B Offline
                                      blumfisch
                                      schrieb am zuletzt editiert von
                                      #21

                                      Oh nein!

                                      Ich dachte immer, GetStates wäre nur, um anfangs alle States einzulesen. Nicht nur einen einzelnen. Weil im Readme steht: "get the states of MORE THAN ONE state".

                                      Ja, so leicht lassen sich Anfänger in die Irre führen.

                                      Damit komme ich zumindest schonmal an die richtigen Datenstrukturen. Danke! :D

                                      servConn.getStates('hm-rpc.0.NEQ1581960.1.STATE', function(error, obj) {
                                      console.log(JSON.stringify(obj));
                                      });
                                      
                                      

                                      Dummerweise weiß ich jetzt immer noch nicht, wie ich die Strukturen auslesen kann.

                                      Also wie ich aus var x = JSON.stringify(obj) oder direkt aus var x = obj an die einzelne "value" komme, die ich dann einfach in eine ganz normale Variable geben will, damit ich wieder auf BASIC-Niveau programmieren kann :)

                                      Bisher enden all meine Versuche mit "undefined" oder Fehlermeldungen.

                                      1 Antwort Letzte Antwort
                                      0
                                      • ? Offline
                                        ? Offline
                                        Ein ehemaliger Benutzer
                                        schrieb am zuletzt editiert von
                                        #22

                                        @blumfisch:

                                        Oh nein!

                                        Ich dachte immer, GetStates wäre nur, um anfangs alle States einzulesen. Nicht nur einen einzelnen. Weil im Readme steht: "get the states of MORE THAN ONE state".

                                        Ja, so leicht lassen sich Anfänger in die Irre führen.

                                        Damit komme ich zumindest schonmal an die richtigen Datenstrukturen. Danke! :D

                                        servConn.getStates('hm-rpc.0.NEQ1581960.1.STATE', function(error, obj) {
                                        console.log(JSON.stringify(obj));
                                        });
                                        
                                        

                                        Dummerweise weiß ich jetzt immer noch nicht, wie ich die Strukturen auslesen kann.

                                        Also wie ich aus var x = JSON.stringify(obj) oder direkt aus var x = obj an die einzelne "value" komme, die ich dann einfach in eine ganz normale Variable geben will, damit ich wieder auf BASIC-Niveau programmieren kann :)

                                        Bisher enden all meine Versuche mit "undefined" oder Fehlermeldungen. `

                                        Wie sehen denn "deine Versuche" genau aus?

                                        du kannst auf alle Attribute des State direkt zugreifen

                                        if(obj.val > 1){
                                        machwas();
                                        };
                                        
                                        

                                        das sind die Attribute eines States:

                                        https://github.com/ioBroker/ioBroker/wi … e-of-state

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Offline
                                          B Offline
                                          blumfisch
                                          schrieb am zuletzt editiert von
                                          #23

                                          So sehen meine Experimente gerade aus:

                                          servConn.getStates('hm-rpc.0.NEQ1581960.1.STATE', function(error, obj) {
                                          	console.log(JSON.stringify(obj));
                                          	obj2 = JSON.stringify(obj);
                                          	obj3 = JSON.parse(obj2);  // Keine Ahnung, was hier was hier was für eine Art von Objekt ist, ich versuche es einfach.
                                          	console.log(obj2); // = JSON String oder Javascript Objekt. Eins von beiden.
                                          	console.log(obj3); // = JSON String oder Javascript Objekt. Das andere von beiden
                                          	console.log(obj2.val); // = undefined
                                          	console.log(obj3.val); // = undefined
                                          	console.log(obj3['val']); // = undefined
                                          
                                          		});
                                          
                                          

                                          Und so die Daten, aus denen ich gern den Wert von "val" extrahieren würde:

                                          {"hm-rpc.0.NEQ1581960.1.STATE":{"val":true,"ack":true,"ts":1543341704635,"q":0,"from":"system.adapter.hm-rpc.0","lc":1543341704635}}

                                          Ja, das ist ein wildes Gerate meinerseits , aber ich habe bei diesen Oavascript-Objekten und JSON inzwischen ein bisschen die Übersicht verloren und versuche jetzt einfach epr Trail & Error, irgendwas zu finden, das klappt.

                                          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

                                          300

                                          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