Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. socket.io (eigene Visualisierung)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

socket.io (eigene Visualisierung)

Scheduled Pinned Locked Moved Entwicklung
socket.io
58 Posts 7 Posters 7.1k Views 6 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.
  • OliverIOO OliverIO

    @d-ve
    Schau dir den Code von vis auf GitHub an.
    Dort sind ja alle Mechanismen auf der clientseite implementiert.

    D.VED Offline
    D.VED Offline
    D.VE
    wrote on last edited by
    #3

    @oliverio
    Mit dem Code hatte ich natürlich angefangen. Aber auch in dem Beispiel von Github geht er nicht in die Callback-Funktion von getStates()= rein:

    servConn.getStates(function (err, _states) {
      var count = 0;
      for (var id in _states) {
         count++;
    }
    

    Mein SmartHome-Podcast:
    http://www.scheiss-technik.com

    OliverIOO 1 Reply Last reply
    0
    • D.VED D.VE

      @oliverio
      Mit dem Code hatte ich natürlich angefangen. Aber auch in dem Beispiel von Github geht er nicht in die Callback-Funktion von getStates()= rein:

      servConn.getStates(function (err, _states) {
        var count = 0;
        for (var id in _states) {
           count++;
      }
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by OliverIO
      #4

      @d-ve
      Dann setzt im Browser im vis Editor da einfach mal einen breakpoint.
      Dann kannst du den Code direkt in Action „beobachten“
      Ich glaube der vis editor ruft Bei Start alle states darüber erst einmal ab.

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      D.VED 1 Reply Last reply
      0
      • OliverIOO OliverIO

        @d-ve
        Dann setzt im Browser im vis Editor da einfach mal einen breakpoint.
        Dann kannst du den Code direkt in Action „beobachten“
        Ich glaube der vis editor ruft Bei Start alle states darüber erst einmal ab.

        D.VED Offline
        D.VED Offline
        D.VE
        wrote on last edited by
        #5

        @oliverio said in socket.io (eigene Visualisierung):

        Dann setzt im Browser da einfach mal einen breakpoint.

        Auch das habe ich schon gemacht (ich entwickel hauptberuflich viel mit JavaScript)... Er geht einfach nicht in den Callback.

        Mein SmartHome-Podcast:
        http://www.scheiss-technik.com

        OliverIOO 1 Reply Last reply
        0
        • D.VED D.VE

          @oliverio said in socket.io (eigene Visualisierung):

          Dann setzt im Browser da einfach mal einen breakpoint.

          Auch das habe ich schon gemacht (ich entwickel hauptberuflich viel mit JavaScript)... Er geht einfach nicht in den Callback.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by OliverIO
          #6

          @d-ve
          Liegt evtl daran, das du einen Parameter vergessen hast
          Hier die Signatur der Funktion aus vis kopiert

          
          getStates:        function (IDs, callback) {
          
          

          https://github.com/ioBroker/ioBroker.vis/blob/c059dbc9c81f2e524b59a1c567d86ed089ef6ae7/www/js/conn.js#L762

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          D.VED 1 Reply Last reply
          0
          • OliverIOO OliverIO

            @d-ve
            Liegt evtl daran, das du einen Parameter vergessen hast
            Hier die Signatur der Funktion aus vis kopiert

            
            getStates:        function (IDs, callback) {
            
            

            https://github.com/ioBroker/ioBroker.vis/blob/c059dbc9c81f2e524b59a1c567d86ed089ef6ae7/www/js/conn.js#L762

            D.VED Offline
            D.VED Offline
            D.VE
            wrote on last edited by
            #7

            @oliverio
            Siehe oben, ich habe alle Varianten der ID probiert: Als einzelnen String, als Array, und auch als regulären Ausdruck...

            Macht irgendwie keinen Sinn, denn in den Callback sollte er so oder so reingehen, egal, ob da was zurück kommt, oder nicht.

            Und wie gesagt: Der Beispielcode auf Github scheint auch nicht zu funktionieren (wobei das imo logisch ist, weil die Funktion da komplett ohne den ID-Parameter aufgerufen wird)

            lg, Dave

            Mein SmartHome-Podcast:
            http://www.scheiss-technik.com

            OliverIOO 1 Reply Last reply
            0
            • D.VED D.VE

              @oliverio
              Siehe oben, ich habe alle Varianten der ID probiert: Als einzelnen String, als Array, und auch als regulären Ausdruck...

              Macht irgendwie keinen Sinn, denn in den Callback sollte er so oder so reingehen, egal, ob da was zurück kommt, oder nicht.

              Und wie gesagt: Der Beispielcode auf Github scheint auch nicht zu funktionieren (wobei das imo logisch ist, weil die Funktion da komplett ohne den ID-Parameter aufgerufen wird)

              lg, Dave

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              wrote on last edited by
              #8

              @d-ve

              Hier ein funktionierender Code aus meinem squeezeboxrpc Adapter
              https://github.com/oweitman/ioBroker.squeezeboxrpc/blob/7d5f0531dd1113ada904ad4f41dbf83dcda21e99/widgets/squeezeboxrpc/js/squeezeboxrpc.js#L109

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              liv-in-skyL 1 Reply Last reply
              0
              • D.VED Offline
                D.VED Offline
                D.VE
                wrote on last edited by
                #9

                @oliverio

                Thx... So benutze ich das ja auch... Was wird denn hier als ID bzw. als "Key" genau erwartet? Hier habe ich auch diverse Variationen und Schreibweisen durchprobiert...

                lg, Dave

                Mein SmartHome-Podcast:
                http://www.scheiss-technik.com

                OliverIOO 1 Reply Last reply
                0
                • D.VED D.VE

                  @oliverio

                  Thx... So benutze ich das ja auch... Was wird denn hier als ID bzw. als "Key" genau erwartet? Hier habe ich auch diverse Variationen und Schreibweisen durchprobiert...

                  lg, Dave

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  wrote on last edited by
                  #10

                  @d-ve
                  In diesem Fall rufe ich alle datenpunkte im objektbaum ab, die in einem bestimmten Ast liegen.
                  Am Ende dann noch ein Sternchen als wildcard.

                  squeezeboxrpc.0.Favorites.*

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  OliverIOO D.VED 2 Replies Last reply
                  0
                  • OliverIOO OliverIO

                    @d-ve
                    In diesem Fall rufe ich alle datenpunkte im objektbaum ab, die in einem bestimmten Ast liegen.
                    Am Ende dann noch ein Sternchen als wildcard.

                    squeezeboxrpc.0.Favorites.*

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by
                    #11

                    @oliverio
                    Ich vermute dann, das du dein Connection Objekt noch nicht richtig konfiguriert hast.
                    In vis passiert das schon von vis selbst.
                    Wenn du das stand alone Nutz, dann must du es selbst machen.

                    Evtl kannst du auch mal die anderen visualisierungs Frameworks anschauen.
                    Die haben das ja auch schon gelöst.

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Reply Last reply
                    0
                    • OliverIOO OliverIO

                      @d-ve
                      In diesem Fall rufe ich alle datenpunkte im objektbaum ab, die in einem bestimmten Ast liegen.
                      Am Ende dann noch ein Sternchen als wildcard.

                      squeezeboxrpc.0.Favorites.*

                      D.VED Offline
                      D.VED Offline
                      D.VE
                      wrote on last edited by
                      #12

                      @oliverio

                      Auch schon probiert

                      servConn.getStates('shelly.*', function (errorSTR, statesARY) {
                      

                      @oliverio said in socket.io (eigene Visualisierung):

                      Ich vermute dann, das du dein Connection Objekt noch nicht richtig konfiguriert hast.

                      Naja, dann würden ja alle anderen Funktionen auch nichts zurückliefern. Benutzer im Wesentlichen ja auch noch den Code vom Code-Beispiel auf Github.

                      Ist vermutlich am Ende ein total dämlicher Fehler...

                      a7db8c13-0509-4bae-acb9-0701c357a2c6-grafik.png

                      Mein SmartHome-Podcast:
                      http://www.scheiss-technik.com

                      OliverIOO 1 Reply Last reply
                      0
                      • D.VED D.VE

                        @oliverio

                        Auch schon probiert

                        servConn.getStates('shelly.*', function (errorSTR, statesARY) {
                        

                        @oliverio said in socket.io (eigene Visualisierung):

                        Ich vermute dann, das du dein Connection Objekt noch nicht richtig konfiguriert hast.

                        Naja, dann würden ja alle anderen Funktionen auch nichts zurückliefern. Benutzer im Wesentlichen ja auch noch den Code vom Code-Beispiel auf Github.

                        Ist vermutlich am Ende ein total dämlicher Fehler...

                        a7db8c13-0509-4bae-acb9-0701c357a2c6-grafik.png

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #13

                        @d-ve sagte in socket.io (eigene Visualisierung):

                        servConn.getStates('shelly.*', function (errorSTR, statesARY) {

                        Mal nochmal mit instanznummer versuchen

                        servConn.getStates('shelly.0.*', function (errorSTR, statesARY) {
                        
                        

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        1 Reply Last reply
                        0
                        • D.VED D.VE

                          Hi...
                          arbeite mich gerade in socket.io ein, mit dem Ziel eine schickerer Visualisierung zu gestalten. Leider ist die Dokumentation etwas dürftig, insbesondere fehlt da einfach Beispielcode...

                          Updaten bestehender Objekte klappt ganz gut. Aber wie lese ich initial einen Status aus? Am besten den ganzen Unter-Baum mit allen States...

                          servConn.getObject('shelly.0.SHRGBW2#6621D3#1.lights.gain', 
                              function(errorSTR,resultOBJ) {                        
                                  console.log(resultOBJ)
                              }
                          )
                          

                          ...funktionert und liefert mir alle möglichen Daten des Objektes zurück... nur nicht das eigentliche Objekt mit den gewünschtn Werten, das ich gerne hätte.

                          aus getStates() werde ich garnicht schlau. Ich schaffe es irgendwie nicht, dass die Callback-Funktion aufgerufen wird

                          servConn.getStates('shelly.0.SHRGBW2#6621D3#1.lights.gain', function (errorSTR, statesARY) {}
                          

                          ...funktioniert nicht.

                          Auch die ID als Array zu übergeben (sollte laut Doku gehen) scheint nicht zu funktionieren...

                          servConn.getStates(['shelly.0.SHRGBW2#6621D3#1.lights.gain'], function (errorSTR, statesARY) {
                          

                          Vielen Dank.

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

                          @d-ve sagte in socket.io (eigene Visualisierung):

                          Leider ist die Dokumentation etwas dürftig, insbesondere fehlt da einfach Beispielcode...

                          Wir sind dankbar für alle PRs mit Dokumentation. Wenn du deine Erfahrungen gesammelt hast, dann mach doch bitte einen PR.

                          Updaten bestehender Objekte klappt ganz gut. Aber wie lese ich initial einen Status aus? Am besten den ganzen Unter-Baum mit allen States...

                          Für dich zum spielen kannst du das gerne machen. Wenn das dann aber ein Adapter werden soll, musst du unbedingt wieder auf einzelne States subscriben. Insbesondere solltest du immer nur auf die States hören, die du gerade darstellst. Ich kann dir aus Erfahrung sagen, mit zu vielen State Änderungen bringst du ein schwächeres Gerät zum erliegen. (Die Lösung hat du oben ja schon erhalten)

                          servConn.getObject('shelly.0.SHRGBW2#6621D3#1.lights.gain', 
                              function(errorSTR,resultOBJ) {                        
                                  console.log(resultOBJ)
                              }
                          )
                          

                          ...funktionert und liefert mir alle möglichen Daten des Objektes zurück... nur nicht das eigentliche Objekt mit den gewünschtn Werten, das ich gerne hätte.

                          Grundsätzliches zu ioBroker: es gibt Objekte und Datenpunkte (englisch: States). Objekte enthalten die (Meta-) Informationen während Datenpunkte den eigentlichen Wert enthalten. Die beiden "Bäume" sind komplett unabhängig voneinander. Es gibt zwar die Vorgabe, dass es zu jedem Datenpunkt ein Objekt geben muss, aber rein theoretisch ist das nicht nötig (damit das klar ist: es muss gemacht werden, aber das System erzwingt es bis jetzt nicht).

                          aus getStates() werde ich garnicht schlau. Ich schaffe es irgendwie nicht, dass die Callback-Funktion aufgerufen wird

                          ...funktioniert nicht.

                          Hier sehe ich das Problem auch gerade nicht. Das sollte eigentlich funktionieren, wenn du nicht etwas falsch geschrieben hast. Grundsätzlich würde ich aber empfehlen, (auch) mit subscribe() zu arbeiten, den du willst ja mitbekommen, wenn sich ein Wert geändert hat.

                          Auch die ID als Array zu übergeben (sollte laut Doku gehen) scheint nicht zu funktionieren.

                          Auch das müsste gehen. Sonst versuche es einfach mal mit einem anderen Datenpunkt. Möglicherweise machen die Sonderzeichen von Shelly ein Problem (wobei ich mir das nicht vorstellen kann).

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

                          D.VED 1 Reply Last reply
                          0
                          • UncleSamU UncleSam

                            @d-ve sagte in socket.io (eigene Visualisierung):

                            Leider ist die Dokumentation etwas dürftig, insbesondere fehlt da einfach Beispielcode...

                            Wir sind dankbar für alle PRs mit Dokumentation. Wenn du deine Erfahrungen gesammelt hast, dann mach doch bitte einen PR.

                            Updaten bestehender Objekte klappt ganz gut. Aber wie lese ich initial einen Status aus? Am besten den ganzen Unter-Baum mit allen States...

                            Für dich zum spielen kannst du das gerne machen. Wenn das dann aber ein Adapter werden soll, musst du unbedingt wieder auf einzelne States subscriben. Insbesondere solltest du immer nur auf die States hören, die du gerade darstellst. Ich kann dir aus Erfahrung sagen, mit zu vielen State Änderungen bringst du ein schwächeres Gerät zum erliegen. (Die Lösung hat du oben ja schon erhalten)

                            servConn.getObject('shelly.0.SHRGBW2#6621D3#1.lights.gain', 
                                function(errorSTR,resultOBJ) {                        
                                    console.log(resultOBJ)
                                }
                            )
                            

                            ...funktionert und liefert mir alle möglichen Daten des Objektes zurück... nur nicht das eigentliche Objekt mit den gewünschtn Werten, das ich gerne hätte.

                            Grundsätzliches zu ioBroker: es gibt Objekte und Datenpunkte (englisch: States). Objekte enthalten die (Meta-) Informationen während Datenpunkte den eigentlichen Wert enthalten. Die beiden "Bäume" sind komplett unabhängig voneinander. Es gibt zwar die Vorgabe, dass es zu jedem Datenpunkt ein Objekt geben muss, aber rein theoretisch ist das nicht nötig (damit das klar ist: es muss gemacht werden, aber das System erzwingt es bis jetzt nicht).

                            aus getStates() werde ich garnicht schlau. Ich schaffe es irgendwie nicht, dass die Callback-Funktion aufgerufen wird

                            ...funktioniert nicht.

                            Hier sehe ich das Problem auch gerade nicht. Das sollte eigentlich funktionieren, wenn du nicht etwas falsch geschrieben hast. Grundsätzlich würde ich aber empfehlen, (auch) mit subscribe() zu arbeiten, den du willst ja mitbekommen, wenn sich ein Wert geändert hat.

                            Auch die ID als Array zu übergeben (sollte laut Doku gehen) scheint nicht zu funktionieren.

                            Auch das müsste gehen. Sonst versuche es einfach mal mit einem anderen Datenpunkt. Möglicherweise machen die Sonderzeichen von Shelly ein Problem (wobei ich mir das nicht vorstellen kann).

                            D.VED Offline
                            D.VED Offline
                            D.VE
                            wrote on last edited by
                            #15

                            @unclesam said in socket.io (eigene Visualisierung):

                            Objekte enthalten die (Meta-) Informationen während Datenpunkte den eigentlichen Wert enthalten

                            Okay, vielen Dank. Das hilft enorm beim Verständnis von ioBroker

                            @unclesam said in socket.io (eigene Visualisierung):

                            Wir sind dankbar für alle PRs mit Dokumentation
                            PR??
                            Wer ist "wir"?
                            Kann da gerne mal ein Youtube-Video zu machen, wenn ich da hinter gestiegen bin...

                            @unclesam said in socket.io (eigene Visualisierung):

                            wenn du nicht etwas falsch geschrieben hast

                            Hab eigentlich nur Copy/Paste vom ioBroker gemacht

                            @unclesam said in socket.io (eigene Visualisierung):

                            Grundsätzlich würde ich aber empfehlen, (auch) mit subscribe() zu arbeiten

                            Wo ist das dokumentiert? Für Updates reicht das ja... Aber ich möchte zum Beispiel in meinem Script einen eigenen Objektbaum erstellen. Dazu muss ich einmalig die kompletten Devices mit allen properties einlesen, um z.B. zu wissen, ob es sich um eine Lampe oder um eine Steckdose handelt. Das brauche ich ja nur einmalig und muss da nix subscriben.

                            lg,
                            Dave

                            Mein SmartHome-Podcast:
                            http://www.scheiss-technik.com

                            UncleSamU 1 Reply Last reply
                            0
                            • D.VED D.VE

                              @unclesam said in socket.io (eigene Visualisierung):

                              Objekte enthalten die (Meta-) Informationen während Datenpunkte den eigentlichen Wert enthalten

                              Okay, vielen Dank. Das hilft enorm beim Verständnis von ioBroker

                              @unclesam said in socket.io (eigene Visualisierung):

                              Wir sind dankbar für alle PRs mit Dokumentation
                              PR??
                              Wer ist "wir"?
                              Kann da gerne mal ein Youtube-Video zu machen, wenn ich da hinter gestiegen bin...

                              @unclesam said in socket.io (eigene Visualisierung):

                              wenn du nicht etwas falsch geschrieben hast

                              Hab eigentlich nur Copy/Paste vom ioBroker gemacht

                              @unclesam said in socket.io (eigene Visualisierung):

                              Grundsätzlich würde ich aber empfehlen, (auch) mit subscribe() zu arbeiten

                              Wo ist das dokumentiert? Für Updates reicht das ja... Aber ich möchte zum Beispiel in meinem Script einen eigenen Objektbaum erstellen. Dazu muss ich einmalig die kompletten Devices mit allen properties einlesen, um z.B. zu wissen, ob es sich um eine Lampe oder um eine Steckdose handelt. Das brauche ich ja nur einmalig und muss da nix subscriben.

                              lg,
                              Dave

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

                              @d-ve sagte in socket.io (eigene Visualisierung):

                              @unclesam said in socket.io (eigene Visualisierung):

                              Objekte enthalten die (Meta-) Informationen während Datenpunkte den eigentlichen Wert enthalten

                              Okay, vielen Dank. Das hilft enorm beim Verständnis von ioBroker

                              Steht übrigens auch hier: https://github.com/ioBroker/ioBroker.socketio#brief-description-of-concept ;-)

                              @unclesam said in socket.io (eigene Visualisierung):

                              Wir sind dankbar für alle PRs mit Dokumentation
                              PR??
                              Wer ist "wir"?
                              Kann da gerne mal ein Youtube-Video zu machen, wenn ich da hinter gestiegen bin...

                              PR: Pull Request auf GitHub.
                              wir: alle Entwickler, sowohl von Adaptern wie auch von Core-Komponenten wie socket.io.

                              Grundsätzlich würde ich aber empfehlen, (auch) mit subscribe() zu arbeiten

                              Wo ist das dokumentiert?

                              Tja, die Dokumentation... Hier ist der Code: https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L513-L519

                              Aber, dann musst du das autoSubscribe im init() auf false setzen.

                              Für Updates reicht das ja... Aber ich möchte zum Beispiel in meinem Script einen eigenen Objektbaum erstellen. Dazu muss ich einmalig die kompletten Devices mit allen properties einlesen, um z.B. zu wissen, ob es sich um eine Lampe oder um eine Steckdose handelt. Das brauche ich ja nur einmalig und muss da nix subscriben.

                              Ja, dann brauchst du eigentlich den gesamten Objektbaum. Den kannst du dir holen, indem du objectsRequired im init() auf true setzt: https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L180
                              Oder irgendwann getObjects() aufrufst.

                              Sei dir einfach bewusst, dass das riesige Datenmengen sein können. Ich habe bei mir mehrere tausend Objekte!

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

                              UncleSamU 1 Reply Last reply
                              1
                              • liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by
                                #17

                                weiß nicht, ob ich kapiert habe, was du suchst

                                ich nutze in einem meiner html tabellen einen button als schalter. im html file wird ein script integriert, welche dann in der vis funktioniert - vielleicht sucht du sowas- diese const wird am ende des erzeugten html codes angehängt:

                                const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                D.VED 1 Reply Last reply
                                0
                                • liv-in-skyL liv-in-sky

                                  weiß nicht, ob ich kapiert habe, was du suchst

                                  ich nutze in einem meiner html tabellen einen button als schalter. im html file wird ein script integriert, welche dann in der vis funktioniert - vielleicht sucht du sowas- diese const wird am ende des erzeugten html codes angehängt:

                                  const buttonScript =  '<script> function setOnDblClickCustom( myvalue ) {	var Self = this; var objID = myvalue;	Self.servConn.getStates(objID, (error, states) => {  console.log(states);  Self.servConn.setState(objID, !states[objID].val); }); } </script>'
                                  
                                  D.VED Offline
                                  D.VED Offline
                                  D.VE
                                  wrote on last edited by
                                  #18

                                  @unclesam said in socket.io (eigene Visualisierung):

                                  Pull Request auf GitHub

                                  Git ist für mich noch ein rotes Tuch, wo mir die Zeit fehlt, mich reinzuarbeiten (hab relativ wenig Nutzen davon). Könnte mir aber vorstellen, das Example mal etwas aufzubohren...

                                  @unclesam said in socket.io (eigene Visualisierung):

                                  Ja, dann brauchst du eigentlich den gesamten Objektbaum.

                                  ...aber nur von den Datenpunkten, die ich brauche. Sosnt sind das auch viel zu viele (komme mit 1000 nicht hin, hab ja schon weit über 100 Shellys).

                                  @unclesam said in socket.io (eigene Visualisierung):

                                  Den kannst du dir holen, indem du objectsRequired im init() auf true setzt
                                  Wo landen die denn dann?

                                  Bin jetzt mit dem Debugger durch:
                                  Er steigt hier in _queueCmdIfRequired() aus (da kommt true zurück) :
                                  https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L1259

                                  Werde ich aber gerade nicht schlau raus.

                                  Spontan sieht es so aus, als ob er den Befehl in eine Queue schreibt, diese aber nicht ausführt...

                                  Mein SmartHome-Podcast:
                                  http://www.scheiss-technik.com

                                  UncleSamU 1 Reply Last reply
                                  0
                                  • D.VED D.VE

                                    @unclesam said in socket.io (eigene Visualisierung):

                                    Pull Request auf GitHub

                                    Git ist für mich noch ein rotes Tuch, wo mir die Zeit fehlt, mich reinzuarbeiten (hab relativ wenig Nutzen davon). Könnte mir aber vorstellen, das Example mal etwas aufzubohren...

                                    @unclesam said in socket.io (eigene Visualisierung):

                                    Ja, dann brauchst du eigentlich den gesamten Objektbaum.

                                    ...aber nur von den Datenpunkten, die ich brauche. Sosnt sind das auch viel zu viele (komme mit 1000 nicht hin, hab ja schon weit über 100 Shellys).

                                    @unclesam said in socket.io (eigene Visualisierung):

                                    Den kannst du dir holen, indem du objectsRequired im init() auf true setzt
                                    Wo landen die denn dann?

                                    Bin jetzt mit dem Debugger durch:
                                    Er steigt hier in _queueCmdIfRequired() aus (da kommt true zurück) :
                                    https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L1259

                                    Werde ich aber gerade nicht schlau raus.

                                    Spontan sieht es so aus, als ob er den Befehl in eine Queue schreibt, diese aber nicht ausführt...

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

                                    @d-ve sagte in socket.io (eigene Visualisierung):

                                    Git ist für mich noch ein rotes Tuch, wo mir die Zeit fehlt, mich reinzuarbeiten (hab relativ wenig Nutzen davon). Könnte mir aber vorstellen, das Example mal etwas aufzubohren...

                                    Der Vorteil von GitHub: du musst gar nichts mit Git machen, du kannst einfach die Dateien anpassen und daraus einen PR erstellen. Alles im Browser. Lohnt sich, das mal anzuschauen.

                                    Wo landen die denn dann?

                                    Da lag ich etwas falsch, es ist eine Object Subscription, du erhälst einfach Objekt-Veränderungen. Du kannst dich darauf mit dem onObjectChange Callback registrieren.

                                    Bin jetzt mit dem Debugger durch:
                                    Er steigt hier in _queueCmdIfRequired() aus (da kommt true zurück) :

                                    Was sagen die lokalen Variablen, wenn du in der Funktion bist? Insbesondere this._authRunning und this._isAuthDone.

                                    Allgemeine Frage: musst du dich authentifizieren? Hast du einen ioBroker Benutzer mit Passwort?

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

                                    D.VED 1 Reply Last reply
                                    0
                                    • UncleSamU UncleSam

                                      @d-ve sagte in socket.io (eigene Visualisierung):

                                      Git ist für mich noch ein rotes Tuch, wo mir die Zeit fehlt, mich reinzuarbeiten (hab relativ wenig Nutzen davon). Könnte mir aber vorstellen, das Example mal etwas aufzubohren...

                                      Der Vorteil von GitHub: du musst gar nichts mit Git machen, du kannst einfach die Dateien anpassen und daraus einen PR erstellen. Alles im Browser. Lohnt sich, das mal anzuschauen.

                                      Wo landen die denn dann?

                                      Da lag ich etwas falsch, es ist eine Object Subscription, du erhälst einfach Objekt-Veränderungen. Du kannst dich darauf mit dem onObjectChange Callback registrieren.

                                      Bin jetzt mit dem Debugger durch:
                                      Er steigt hier in _queueCmdIfRequired() aus (da kommt true zurück) :

                                      Was sagen die lokalen Variablen, wenn du in der Funktion bist? Insbesondere this._authRunning und this._isAuthDone.

                                      Allgemeine Frage: musst du dich authentifizieren? Hast du einen ioBroker Benutzer mit Passwort?

                                      D.VED Offline
                                      D.VED Offline
                                      D.VE
                                      wrote on last edited by
                                      #20

                                      @unclesam said in socket.io (eigene Visualisierung):

                                      Da lag ich etwas falsch, es ist eine Object Subscription, du erhälst einfach Objekt-Veränderungen

                                      Wie werden die getriggert? Bei onUpdate() werden ja alle Änderungen reingespült.

                                      @unclesam said in socket.io (eigene Visualisierung):

                                      Was sagen die lokalen Variablen, wenn du in der Funktion bist? Insbesondere this._authRunning und this._isAuthDone.

                                      beide false

                                      @unclesam said in socket.io (eigene Visualisierung):

                                      Allgemeine Frage: musst du dich authentifizieren? Hast du einen ioBroker Benutzer mit Passwort?
                                      Nein, noch nicht...

                                      Mein SmartHome-Podcast:
                                      http://www.scheiss-technik.com

                                      UncleSamU 1 Reply Last reply
                                      0
                                      • D.VED D.VE

                                        @unclesam said in socket.io (eigene Visualisierung):

                                        Da lag ich etwas falsch, es ist eine Object Subscription, du erhälst einfach Objekt-Veränderungen

                                        Wie werden die getriggert? Bei onUpdate() werden ja alle Änderungen reingespült.

                                        @unclesam said in socket.io (eigene Visualisierung):

                                        Was sagen die lokalen Variablen, wenn du in der Funktion bist? Insbesondere this._authRunning und this._isAuthDone.

                                        beide false

                                        @unclesam said in socket.io (eigene Visualisierung):

                                        Allgemeine Frage: musst du dich authentifizieren? Hast du einen ioBroker Benutzer mit Passwort?
                                        Nein, noch nicht...

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

                                        @d-ve sagte in socket.io (eigene Visualisierung):

                                        Wie werden die getriggert? Bei onUpdate() werden ja alle Änderungen reingespült.

                                        Bei Änderungen am Objekt (nicht am State). Das ist eine eher seltene Angelegenheit.

                                        beide false

                                        Wenn du den Breakpoint hier setzt: https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L1270

                                        • wird der angesprungen?
                                        • was ist der Inhalt von version?

                                        Nein, noch nicht...

                                        OK, dann ist das mal kein Problem.

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

                                        D.VED 1 Reply Last reply
                                        1
                                        • UncleSamU UncleSam

                                          @d-ve sagte in socket.io (eigene Visualisierung):

                                          Wie werden die getriggert? Bei onUpdate() werden ja alle Änderungen reingespült.

                                          Bei Änderungen am Objekt (nicht am State). Das ist eine eher seltene Angelegenheit.

                                          beide false

                                          Wenn du den Breakpoint hier setzt: https://github.com/ioBroker/ioBroker.socketio/blob/919a467121e673590377a4fd1023f99ee38656b5/example/conn.js#L1270

                                          • wird der angesprungen?
                                          • was ist der Inhalt von version?

                                          Nein, noch nicht...

                                          OK, dann ist das mal kein Problem.

                                          D.VED Offline
                                          D.VED Offline
                                          D.VE
                                          wrote on last edited by
                                          #22

                                          @unclesam said in socket.io (eigene Visualisierung):

                                          wird der angesprungen?

                                          yep

                                          @unclesam said in socket.io (eigene Visualisierung):

                                          was ist der Inhalt von version?

                                          4.1.11

                                          Mein SmartHome-Podcast:
                                          http://www.scheiss-technik.com

                                          UncleSamU 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

                                          572

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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