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
    428

  • 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.
  • 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
                      • B Offline
                        B Offline
                        blumfisch
                        schrieb am zuletzt editiert von
                        #24

                        obj.val

                        ohne das ganze JSON Gedöns ergibt übrigens auch nur "undefined".

                        Ich komme irgendwie nicht an den Wert.

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

                          Es gibt ein Beispiel auf github:

                          ...
                          servConn.getStates(function (err, _states) {
                            var count = 0;
                            for (var id in _states) {
                              count++;
                              // hier müsste deine Logik rein zum Auslesen
                            }
                            console.log('Received ' + count + ' states.');
                            states = _states;
                          });
                          ...
                          

                          Daraus erschließt sich, dass in dem result eine Liste an Objekten ist und nicht nur ein einzelnes Objekt.

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

                            Puh … Hm. Ok, ich probier mal damit weiter.

                            Ich hatte das mit dem Durchzählen auch schon getestet, dann aber auch nur eine Liste mit den Namen der Objekte bekommen und keine dazugehörigen Werte. Keine Ahnung, wo die waren.

                            So ganz erschließt es sich mir halt nicht:

                            1. frage ich ja ein einzelnes Objekt ab, sollte also nicht mehrere kriegen.

                            2. kann ich daraus ein JSON-String machen und sollte doch wenigstens aus diesem den Wert ziehen können, oder? ich meine: Der sieht zumindest ziemlich korrekt aus, wenn ich das stringifye oder wie man das nennt.

                            3. Weiß ich immer noch nicht, wie ich an "val" von meinem Objekt komme, selbst wenn ich die Liste nun Schritt für Schritt durchrattern lasse.

                            Ich werd aber weiter probieren. Der Code dafür wäre halt wirklich wertvoll, weil es bedeuten würde, dass man mit wenig Code aus einer simplen Webseite heraus sämtliche Datenpunkte von iobroker lesen und schreiben kann, wann immer man das will. Danach suche ich schon lange. Bisher hab ich das nur über Tricks hinbekommen.

                            Sollte ich was finden, werd ich's hier posten.

                            Ansonsten freu ich mich über Hilfe. Wie gesagt, ich bin kein Programmierer, und vielleicht blick ich das alles nicht und es ist eigentlich ganz einfach.

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

                              Ja, wie ich dachte, bringt leider nichts:

                              
                              			servConn.getStates(function (err, _states) {
                              			  var count = 0;
                              			  for (var id in _states) {
                              				count++;
                              				if (id == 'hm-rpc.0.NEQ1581960.1.STATE') {
                              					console.log('id gefunden, aber wo ist meine val?');
                              					console.log(id.val); //= undefined
                              					console.log(states); //= Liste aller States inkluseve Vals, aber wie komm ich da ran?
                              				}
                              
                              			  }
                              			  console.log('Received ' + count + ' states.');
                              			  states = _states;
                              			});
                              

                              Damit gehe ich jetzt nur die Liste aller IDs einzeln durch, bis ich meine gefunden habe.

                              Statt sie wie im vorigen Code einfach direkt abzufragen.

                              Wenn ich sie dann gefunden habe, bin ich aber genauso schlau wie vorher, weil meine Abfragen xyz.val immer undefined sind.

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

                                Ich hab's! :lol: :lol: :lol:

                                var id = 'hm-rpc.0.NEQ1581960.1.STATE';
                                servConn.getStates(id, function(error, obj) {
                                	console.log(JSON.stringify(obj));
                                	console.log(states[id].val);	// !!! gibt Wert von Val dieser ID zurück !!!
                                });
                                
                                

                                states[id].val war die Lösung.

                                Oh Mann.

                                Das hat ich jetzt den ganzen Tag gekostet.

                                Aber wenigstens fühl ich mich jetzt wie ein Held :D

                                1 Antwort Letzte Antwort
                                0
                                • soRaiS Offline
                                  soRaiS Offline
                                  soRai
                                  schrieb am zuletzt editiert von
                                  #29

                                  Geht das nicht vllt noch einfacher bzw. direkter?!
                                  Ich möchte auch einfach nur den true/false Wert von einem Sonoff (in meinem Fall) haben...

                                  Da ich selber ein eigenes Smarthome Interface gestalten möchte, wäre es sinnig wenn man die value direkt abfragen könnte, damit ich nicht X mal diese, meiner Meinung nach, umständlichen Aufrufe habe.

                                  AlCalzoneA 1 Antwort Letzte Antwort
                                  1
                                  • soRaiS soRai

                                    Geht das nicht vllt noch einfacher bzw. direkter?!
                                    Ich möchte auch einfach nur den true/false Wert von einem Sonoff (in meinem Fall) haben...

                                    Da ich selber ein eigenes Smarthome Interface gestalten möchte, wäre es sinnig wenn man die value direkt abfragen könnte, damit ich nicht X mal diese, meiner Meinung nach, umständlichen Aufrufe habe.

                                    AlCalzoneA Offline
                                    AlCalzoneA Offline
                                    AlCalzone
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #30

                                    @soRai simple-api oder socketio-Adapter

                                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                    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

                                    370

                                    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