Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Zugriff auf iobroker via soket.io

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Zugriff auf iobroker via soket.io

Geplant Angeheftet Gesperrt Verschoben Entwicklung
admin adaptersocket io
51 Beiträge 3 Kommentatoren 5.4k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • apollon77A apollon77

    Naja Admin hat eine spezialisierte socket.io Library und ja es kann unterschiede geben ...

    Aber nochmal zurück: Die Frage oben war wie Du auf Object Changes bei socket.io Port denn subscribst??

    Also laut Code sollten objectChanges tun wenn du objects subscribst oder bei init das objectsRequired auf true setzt ... sonst müsste man das im Detail mal debuggen und wäre ein Bug.

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #7

    @apollon77 sagte in Zugriff auf iobroker via soket.io:

    Naja Admin hat eine spezialisierte socket.io Library und ja es kann unterschiede geben ...

    Aber nochmal zurück: Die Frage oben war wie Du auf Object Changes bei socket.io Port denn subscribst??

    Also laut Code sollten objectChanges tun wenn du objects subscribst oder bei init das objectsRequired auf true setzt ... sonst müsste man das im Detail mal debuggen und wäre ein Bug.

    Wow - Du bist ein Schatz. :) - Ja das true (Objects Required) bei dem servConn.Init - hat gefehlt - jetzt die Callback auch mit den Object aus 8084.

    Sorry das ich mich so stümperhaft vorwärts bewege. So sieht es jetzt aus:

    servConn.init(connOptions, connCallbacks,true );
    

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #8

      Alles gut, ich denke bei dem maxListener kann es an Änderungen in nodejs liegen... Versuch maldie Github version (macht auch node-red auf 1.2.8)

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      mickymM 1 Antwort Letzte Antwort
      0
      • apollon77A apollon77

        Alles gut, ich denke bei dem maxListener kann es an Änderungen in nodejs liegen... Versuch maldie Github version (macht auch node-red auf 1.2.8)

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von mickym
        #9

        @apollon77 Du meinst die letzte node-red Adapter version aus Github installieren? Mach ich, mach nur vorher Backup. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        apollon77A 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @apollon77 Du meinst die letzte node-red Adapter version aus Github installieren? Mach ich, mach nur vorher Backup. ;)

          apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #10

          @mickym Ja die aktuelle vom Github

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          mickymM 1 Antwort Letzte Antwort
          1
          • apollon77A apollon77

            @mickym Ja die aktuelle vom Github

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #11

            @apollon77 Ja das sieht sehr sauber aus - alle Warnmeldungen sind weg:

            node-red.0	2021-02-02 16:33:12.094	info	(3094) Automatic objects creation is not enabled. You can enable it in the node configuration
            node-red.0	2021-02-02 16:32:53.955	info	(3073) Starting node-red: --max-old-space-size=512 /opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
            node-red.0	2021-02-02 16:32:53.016	info	(3073) starting. Version 2.0.4 in /opt/iobroker/node_modules/iobroker.node-red, node: v12.20.1, js-controller: 3.1.6
            host.MWHome	2021-02-02 16:32:51.320	info	instance system.adapter.node-red.0 started with pid 3073
            host.MWHome	2021-02-02 16:32:48.848	info	instance system.adapter.node-red.0 terminated with code 156 (START_IMMEDIATELY_AFTER_STOP)
            host.MWHome	2021-02-02 16:32:48.557	info	Update repository "default" under "http://download.iobroker.net/sources-dist.json"
            host.MWHome	2021-02-02 16:32:48.272	info	iobroker exit 0
            node-red.0	2021-02-02 16:32:48.270	info	(2101) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
            

            Adapterversion 2.0.4

            NodeRed Version 1.2.8

            da48f79c-16d2-4963-9900-c67eb6a0b1bf-image.png

            :+1: :+1: :+1:

            na bin ja gespannt - was sonst so auftaucht. Meine ganze Logik ist hier halt abgebildet. Ich hoffe NUR, dass dieser Adapter weiter gepflegt und gehegt wird ;), weil ich hier wohl unter den iobroker Usern eher zur Minderheit gehöre, der alles mit NR macht. ;). Nicht dass jemand auf die Idee kommt, den Support einzustellen. ;)

            Nochmal die Frage: Soll ich den Enhancement Vorschlag auf Englisch oder Deutsch einstellen, wenn sonst niemand an dem Adapter arbeitet, ist es ja egal?

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            apollon77A 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @apollon77 Ja das sieht sehr sauber aus - alle Warnmeldungen sind weg:

              node-red.0	2021-02-02 16:33:12.094	info	(3094) Automatic objects creation is not enabled. You can enable it in the node configuration
              node-red.0	2021-02-02 16:32:53.955	info	(3073) Starting node-red: --max-old-space-size=512 /opt/iobroker/node_modules/iobroker.node-red/node_modules/node-red/red.js -v --settings /opt/iobroker/iobroker-data/node-red/settings.js
              node-red.0	2021-02-02 16:32:53.016	info	(3073) starting. Version 2.0.4 in /opt/iobroker/node_modules/iobroker.node-red, node: v12.20.1, js-controller: 3.1.6
              host.MWHome	2021-02-02 16:32:51.320	info	instance system.adapter.node-red.0 started with pid 3073
              host.MWHome	2021-02-02 16:32:48.848	info	instance system.adapter.node-red.0 terminated with code 156 (START_IMMEDIATELY_AFTER_STOP)
              host.MWHome	2021-02-02 16:32:48.557	info	Update repository "default" under "http://download.iobroker.net/sources-dist.json"
              host.MWHome	2021-02-02 16:32:48.272	info	iobroker exit 0
              node-red.0	2021-02-02 16:32:48.270	info	(2101) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
              

              Adapterversion 2.0.4

              NodeRed Version 1.2.8

              da48f79c-16d2-4963-9900-c67eb6a0b1bf-image.png

              :+1: :+1: :+1:

              na bin ja gespannt - was sonst so auftaucht. Meine ganze Logik ist hier halt abgebildet. Ich hoffe NUR, dass dieser Adapter weiter gepflegt und gehegt wird ;), weil ich hier wohl unter den iobroker Usern eher zur Minderheit gehöre, der alles mit NR macht. ;). Nicht dass jemand auf die Idee kommt, den Support einzustellen. ;)

              Nochmal die Frage: Soll ich den Enhancement Vorschlag auf Englisch oder Deutsch einstellen, wenn sonst niemand an dem Adapter arbeitet, ist es ja egal?

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #12

              @mickym Super, dann geht das raus.

              A Ende werden wir es nicht einstellen, es ist immer nur die Frage wer ggf Zeit für Weiterentwicklungen findet. EInfache node-red updates sind fix gemacht wenn jemand darauf hinweist :-)

              Issue Sprache ist effektiv beides ok.

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              mickymM 1 Antwort Letzte Antwort
              0
              • apollon77A apollon77

                @mickym Super, dann geht das raus.

                A Ende werden wir es nicht einstellen, es ist immer nur die Frage wer ggf Zeit für Weiterentwicklungen findet. EInfache node-red updates sind fix gemacht wenn jemand darauf hinweist :-)

                Issue Sprache ist effektiv beides ok.

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #13

                @apollon77 Danke nochmals - bevor ich mich wieder den socket.io Problemen zuwende, da habe ich noch zu kämpfen und eine Idee in GitHub formuliere, noch etwas was man vielleicht in eine der nächsten Versionen ohne großen Aufwand realisieren könnte - hätte ich.
                Ich muss das immer nach jedem Update des Node-Red Adapters machen und die settings.js modifizieren:

                Könnte man dieses setting

                // When httpAdminRoot is used to move the UI to a different root path, the
                    // following property can be used to identify a directory of static content
                    // that should be served at http://localhost:1880/.
                    //httpStatic: '/home/nol/node-red-dashboard/',
                    httpStatic: "/data/node-red",
                

                nicht auch in die Adapterkonfig aufnehmen - damit ich das nicht jedes Mal ändern muss. Da liegen meine Bilder für das Dashboard und dieses Verzeichnis weist auf einen externen Datenträger.

                Nachdem man ja den Stammpfad ändern kann, wäre es eigentlich sinnvoll diesen Parameter auch über die Adapterkonfig speichern zu können.

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                apollon77A 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @apollon77 Danke nochmals - bevor ich mich wieder den socket.io Problemen zuwende, da habe ich noch zu kämpfen und eine Idee in GitHub formuliere, noch etwas was man vielleicht in eine der nächsten Versionen ohne großen Aufwand realisieren könnte - hätte ich.
                  Ich muss das immer nach jedem Update des Node-Red Adapters machen und die settings.js modifizieren:

                  Könnte man dieses setting

                  // When httpAdminRoot is used to move the UI to a different root path, the
                      // following property can be used to identify a directory of static content
                      // that should be served at http://localhost:1880/.
                      //httpStatic: '/home/nol/node-red-dashboard/',
                      httpStatic: "/data/node-red",
                  

                  nicht auch in die Adapterkonfig aufnehmen - damit ich das nicht jedes Mal ändern muss. Da liegen meine Bilder für das Dashboard und dieses Verzeichnis weist auf einen externen Datenträger.

                  Nachdem man ja den Stammpfad ändern kann, wäre es eigentlich sinnvoll diesen Parameter auch über die Adapterkonfig speichern zu können.

                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #14

                  @mickym Dann mach mal bitte ein Github issue als Feature Request

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    So hier nun als Beleg, wie das auf der Kommandozeile funktioniert:

                    node mw.socket.iobroker
                    2021-02-02T13:38:30.554Z Connected => authenticate
                    2021-02-02T13:38:30.638Z Authenticated: true
                    connected
                    

                    dann die Ausgabe, wenn ich ein Objekt geändert habe:

                    Object changed ...
                    NEW VALUE of 0_userdata.0.example_state: {"_id":"0_userdata.0.example_state","type":"state","common":{"name":"Example state","role":"command","type":"number","states":"","def":0},"acl":{"object":1604,"owner":"system.user.admin","ownerGroup":"system.group.administrator","state":1638},"from":"system.host.MWHome.cli","ts":1574005416136,"user":"system.user.admin","native":{}}
                    

                    die Ausgabe, wenn ich mir ein einzelnes Objekt anzeigen lasse:

                    2021-02-02T14:01:04.031Z Connected => authenticate
                    {
                      _id: '0_userdata.0.example_state',
                      type: 'state',
                      common: {
                        name: 'Example state',
                        role: 'command',
                        type: 'number',
                        states: '',
                        def: 0
                      },
                      acl: {
                        object: 1604,
                        owner: 'system.user.admin',
                        ownerGroup: 'system.group.administrator',
                        state: 1638
                      },
                      from: 'system.host.MWHome.cli',
                      ts: 1574005416136,
                      user: 'system.user.admin',
                      native: {}
                    }
                    2021-02-02T14:01:04.109Z Authenticated: true
                    connected
                    

                    und natürlich funktioniert auch die Ausgabe aller Updates wie im Beispielcode und dem Webbrowser:

                    2021-02-02T14:04:20.305Z Connected => authenticate
                    {
                      _id: '0_userdata.0.example_state',
                      type: 'state',
                      common: {
                        name: 'Example state',
                        role: 'command',
                        type: 'number',
                        states: '',
                        def: 0
                      },
                      acl: {
                        object: 1604,
                        owner: 'system.user.admin',
                        ownerGroup: 'system.group.administrator',
                        state: 1638
                      },
                      from: 'system.host.MWHome.cli',
                      ts: 1574005416136,
                      user: 'system.user.admin',
                      native: {}
                    }
                    2021-02-02T14:04:20.376Z Authenticated: true
                    connected
                    NEW VALUE of mqtt.1.shellies.shellyplug-s-7AE344.relay.0.power: {"val":25.9,"ack":true,"ts":1612274662032,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1612274662032}
                    NEW VALUE of alias.0.schalter.wz_computer.power: {"val":"25.9","ack":true,"ts":1612274662032,"q":0,"from":"system.adapter.mqtt.1","user":"system.user.admin","lc":1612274662032}
                    

                    So und nun zu meinen Problemen:
                    Solange die Callback auf den Ports 8082,8084 für Objekte nicht funktioniert - bleibe ich erst mal auf 8081. Es ergibt auch keinen Fehler.

                    Die Verbindung wird auch sauber in der Admininstanz angezeigt:

                    2eb8526a-0bf6-46b9-83df-97d08f27e88e-image.png

                    1. Wie kann ich ganze Objektbäume durchforsten - wie ist die Syntax mit Wildcards`?
                    2. getStates (s. Code) - funktioniert nicht - no connection.

                    3, Im Übrigen funktioniert auch der Aufruf von servConn, wie er zum Zählen der Zustände verwendet wird unter 8081 nicht. servConn.getStates(function (err, _states) {. In diesem Fall wirft dann das LOG aus, dass getStates einen ungültige Callback Aufruf hat.
                    ... so wie ich das aufgerufen habe - schon, aber rauskommen tut nichts. ;)

                    Momentan bleibe ich bei dem 8081 Zugang - aber hier scheint es Unterschiede in der Syntax zu geben.

                    So das erst mal als Input - ich hoffe ihr könnt mir weiterhelfen.

                    R Offline
                    R Offline
                    rewenode
                    schrieb am zuletzt editiert von
                    #15

                    @mickym sagte in Zugriff auf iobroker via soket.io:

                    Wie kann ich ganze Objektbäume durchforsten - wie ist die Syntax mit Wildcards`?

                    Also zumindest der * sollte doch gehen.

                    socketIO.jpg

                    Ich meine, dass früher auch mal so was ging zigbee.0. Jedenfalls stand es so noch in meinem alten Flow.

                    Ansonsten halt zigbee.0.* oder *.STATE
                    Der Rest kann dann ja einfach in NR gefiltert werden.

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #16

                      @apollon77 Ehrlich gesagt weiß ich nicht Recht wie man ein Issue als Feature Request erstellt. Ich hab jetzt mal ein Issue erstellt. Sorry für meine Unkenntnis.

                      Wenn das so richtig war - einfach ein Issue zu erstellen, dann kann ich ja das Hauptziel (s. nächstes Posting) entsprechende in Textform formulieren.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      apollon77A R 2 Antworten Letzte Antwort
                      0
                      • R rewenode

                        @mickym sagte in Zugriff auf iobroker via soket.io:

                        Wie kann ich ganze Objektbäume durchforsten - wie ist die Syntax mit Wildcards`?

                        Also zumindest der * sollte doch gehen.

                        socketIO.jpg

                        Ich meine, dass früher auch mal so was ging zigbee.0. Jedenfalls stand es so noch in meinem alten Flow.

                        Ansonsten halt zigbee.0.* oder *.STATE
                        Der Rest kann dann ja einfach in NR gefiltert werden.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #17

                        @rewenode Nun ehrlich gesagt, weiß ich nicht wie das geht - was Du gemacht hast. Kannst Du mal den ganzen Flow zum Importieren posten? Wie sprichst Du in der function Node die socket.io Schnittstelle an? Ich schaffe das nicht mit Boardmitteln.

                        Meine Idee war genau so was als Node zu realisieren, so dass ich in eine "iobroker In" Node mit diesen Wildcards arbeiten kann.

                        So dass man in einer iobroker In-Node mindestens so arbeiten kann:

                        screen.png

                        ein Traum von mir wäre mit mehreren Sternchen zu arbeiten - analog dem "mqtt + Wildcard" also zum Beispiel so

                        screen.png

                        Bislang kann nur der List Node mit * arbeiten, aber der abonniert keine Themen und ich polle deshalb:

                        Warum ich das Ganze machen - auch hier nochmal grafisch dargestellt:

                        screen.png

                        Also wenn Du mir den ganzen Flow zur Verfügung stellen kannst, wie Du mit diesen Wildcards auf der socket-io Schnittstelle Datenpunkte abonnierst, wäre mir schon sehr geholfen. Dann spare ich mir vielleicht den ganzen Aufwand. ;)

                        Wie kommuniziert Deine function Node mit iobroker? Ich bin mir fast sicher - dass ich mir mit Deiner function Node den Aufwand spare - und ich glaube das würde vielen helfen. ;)
                        und dann halt noch die Masterfrage - wie bzw kommen denn die Values der "Subscripten" Objekte bei Änderungen auch automatisch rein? Bzw. kommen die einfach dann aus der Function Node raus?

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        R 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @apollon77 Ehrlich gesagt weiß ich nicht Recht wie man ein Issue als Feature Request erstellt. Ich hab jetzt mal ein Issue erstellt. Sorry für meine Unkenntnis.

                          Wenn das so richtig war - einfach ein Issue zu erstellen, dann kann ich ja das Hauptziel (s. nächstes Posting) entsprechende in Textform formulieren.

                          apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #18

                          @mickym sagte in Zugriff auf iobroker via soket.io:

                          Ich hab jetzt mal ein Issue erstellt. Sorry für meine Unkenntnis.

                          kein Problem, alles korrekt

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          mickymM 1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @rewenode Nun ehrlich gesagt, weiß ich nicht wie das geht - was Du gemacht hast. Kannst Du mal den ganzen Flow zum Importieren posten? Wie sprichst Du in der function Node die socket.io Schnittstelle an? Ich schaffe das nicht mit Boardmitteln.

                            Meine Idee war genau so was als Node zu realisieren, so dass ich in eine "iobroker In" Node mit diesen Wildcards arbeiten kann.

                            So dass man in einer iobroker In-Node mindestens so arbeiten kann:

                            screen.png

                            ein Traum von mir wäre mit mehreren Sternchen zu arbeiten - analog dem "mqtt + Wildcard" also zum Beispiel so

                            screen.png

                            Bislang kann nur der List Node mit * arbeiten, aber der abonniert keine Themen und ich polle deshalb:

                            Warum ich das Ganze machen - auch hier nochmal grafisch dargestellt:

                            screen.png

                            Also wenn Du mir den ganzen Flow zur Verfügung stellen kannst, wie Du mit diesen Wildcards auf der socket-io Schnittstelle Datenpunkte abonnierst, wäre mir schon sehr geholfen. Dann spare ich mir vielleicht den ganzen Aufwand. ;)

                            Wie kommuniziert Deine function Node mit iobroker? Ich bin mir fast sicher - dass ich mir mit Deiner function Node den Aufwand spare - und ich glaube das würde vielen helfen. ;)
                            und dann halt noch die Masterfrage - wie bzw kommen denn die Values der "Subscripten" Objekte bei Änderungen auch automatisch rein? Bzw. kommen die einfach dann aus der Function Node raus?

                            R Offline
                            R Offline
                            rewenode
                            schrieb am zuletzt editiert von
                            #19

                            @mickym sagte in Zugriff auf iobroker via soket.io:

                            Also wenn Du mir den ganzen Flow zur Verfügung stellen kannst, wie Du mit diesen Wildcards auf der socket-io Schnittstelle Datenpunkte abonnierst, wäre mir schon sehr geholfen. Dann spare ich mir vielleicht den ganzen Aufwand.

                            Na, du wolltest es ja nicht anders;-)
                            Sei gewarnt, das ist nur aus der Hüfte geschossen und eigentlich nicht zur Nachnutzung gedacht.
                            Also im Prinzip bist du ja schon den selben Weg gegangen wie ich.
                            Bei mir läuft das ganze zwar in deinem NR-Docker-Container, sollte aber in jedem eigenständigem NR ebenfalls funktionieren.

                            1. unter NR Socken.io < 3.0 installieren. Bei mir: 2.2.0
                            2. beiliegende conn.js ins NR Verzeichnis kopieren. Achtung hab nur die offensichtlichen Sachen geändert. Und im Flow nur subscribe/unsunscribe/getstate implementiert und getestet.
                            3. connection im Flow anpassen. Habs zum test leider hart kodiert.
                            servConn.init({
                                    name: 'node-red.' + node.id, // optional - default 'vis.0'
                                    connLink: 'http://192.168.99.119:8084', // 8084 optional URL of the socket.io adapter
                                    socketSession: ''
                                }, {
                            
                            1. settings.json anpassen. Bei mir:
                            ...
                            functionGlobalContext: {
                                    io:require('socket.io-client'),
                                    servConn:require('./conn.js')
                                },
                            ...
                            

                            Dann in in den Change-nodes ggf die patterns anpassen.
                            Sollen mehrere Objecte abboniert werden, muss das nächste Objekt nach payload.suscribePatter[1] usw.

                            nr-socketIo-schnellschuss.zip

                            Melde dich, wenn du nicht klar kommst

                            mickymM 3 Antworten Letzte Antwort
                            0
                            • apollon77A apollon77

                              @mickym sagte in Zugriff auf iobroker via soket.io:

                              Ich hab jetzt mal ein Issue erstellt. Sorry für meine Unkenntnis.

                              kein Problem, alles korrekt

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von
                              #20

                              @apollon77
                              Hallo - Danke erst mal für die Rückmeldung. Dann ist ja alles gut :relaxed:

                              Ich habe mir mal die ganzen offenen Issues angeschaut und eines gefunden , was bereits als Enhancement deklariert ist und ähnliche Anforderungen hat, aber in meinen Augen kann man es noch erweitern,

                              Schau mal, ob Euch das so langt als Beschreibung: https://github.com/ioBroker/ioBroker.node-red/issues/30

                              oder soll ich ein eigenes Issue machen und mein Beschreibung, die ich dort als Kommentar hinterlassen habe, nochmal als neues Issue aufmachen?

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @apollon77 Ehrlich gesagt weiß ich nicht Recht wie man ein Issue als Feature Request erstellt. Ich hab jetzt mal ein Issue erstellt. Sorry für meine Unkenntnis.

                                Wenn das so richtig war - einfach ein Issue zu erstellen, dann kann ich ja das Hauptziel (s. nächstes Posting) entsprechende in Textform formulieren.

                                R Offline
                                R Offline
                                rewenode
                                schrieb am zuletzt editiert von rewenode
                                #21

                                @mickym ein Traum von mir wäre mit mehreren Sternchen zu arbeiten - analog dem "mqtt + Wildcard" also zum Beispiel so

                                Also bei mir geht das problemlos mit dem ioBroker_In node.

                                2021-02-03_16-36-11.jpg

                                Nachtrag, sehe grad, du willst mehrere Wildcards im String. Das hab ich nicht getestet.

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • R rewenode

                                  @mickym sagte in Zugriff auf iobroker via soket.io:

                                  Also wenn Du mir den ganzen Flow zur Verfügung stellen kannst, wie Du mit diesen Wildcards auf der socket-io Schnittstelle Datenpunkte abonnierst, wäre mir schon sehr geholfen. Dann spare ich mir vielleicht den ganzen Aufwand.

                                  Na, du wolltest es ja nicht anders;-)
                                  Sei gewarnt, das ist nur aus der Hüfte geschossen und eigentlich nicht zur Nachnutzung gedacht.
                                  Also im Prinzip bist du ja schon den selben Weg gegangen wie ich.
                                  Bei mir läuft das ganze zwar in deinem NR-Docker-Container, sollte aber in jedem eigenständigem NR ebenfalls funktionieren.

                                  1. unter NR Socken.io < 3.0 installieren. Bei mir: 2.2.0
                                  2. beiliegende conn.js ins NR Verzeichnis kopieren. Achtung hab nur die offensichtlichen Sachen geändert. Und im Flow nur subscribe/unsunscribe/getstate implementiert und getestet.
                                  3. connection im Flow anpassen. Habs zum test leider hart kodiert.
                                  servConn.init({
                                          name: 'node-red.' + node.id, // optional - default 'vis.0'
                                          connLink: 'http://192.168.99.119:8084', // 8084 optional URL of the socket.io adapter
                                          socketSession: ''
                                      }, {
                                  
                                  1. settings.json anpassen. Bei mir:
                                  ...
                                  functionGlobalContext: {
                                          io:require('socket.io-client'),
                                          servConn:require('./conn.js')
                                      },
                                  ...
                                  

                                  Dann in in den Change-nodes ggf die patterns anpassen.
                                  Sollen mehrere Objecte abboniert werden, muss das nächste Objekt nach payload.suscribePatter[1] usw.

                                  nr-socketIo-schnellschuss.zip

                                  Melde dich, wenn du nicht klar kommst

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #22

                                  @rewenode Ganz lieben Dank! - Es ist ja schon mal toll, dass es da jemand in der Community gibt, der die gleiche Idee hat, um ein Problem zu lösen- Inzwischen habe ich ja auch bissi Erfahrung gesammelt.

                                  Ich melde mich, wenn ich Fragen habe bzw. nicht zurecht komme.

                                  Nun muss ich mir das ganze aber erst mal genau anschauen und versuchen zu verstehen. :)

                                  Ich sehe gerade bei Dir geht das mit der inNode - dann muss ich mal sehen, ob ich ein anderes Problem habe.

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  1 Antwort Letzte Antwort
                                  0
                                  • R rewenode

                                    @mickym ein Traum von mir wäre mit mehreren Sternchen zu arbeiten - analog dem "mqtt + Wildcard" also zum Beispiel so

                                    Also bei mir geht das problemlos mit dem ioBroker_In node.

                                    2021-02-03_16-36-11.jpg

                                    Nachtrag, sehe grad, du willst mehrere Wildcards im String. Das hab ich nicht getestet.

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #23

                                    @rewenode Hmm dann verstehe ich das alles nicht - dann muss es wohl an irgendeiner Konfig liegen - bei mir kommt da nichts raus - ich habe es sogar mal wie Du eben mit dem Xiaomi Würfel probiert - aber auch da tut sich nichts:

                                    645f93d6-1616-420c-849b-6f4fe4fe6e82-image.png

                                    Es kommt bei mir einfach nichts an:

                                    d200ecee-1a0f-4c84-80c8-232a5aeb0962-image.png

                                    Es ändert auch nichts ob ich das Object oder nur den value in der IN Node eintrage.

                                    Ich sehe allerdings einen Unterschied in Deinem Screenshot - als ob ich eine ganz andere Version habe????

                                    screen.png

                                    Oder liegt das an Deinem Browser (Safari - denke ich mal ;) )

                                    Wobei ich gerade sehe - das Debug Fenster zeigt doch einen ganz anderen Output (von Alexa) und nichts von Deinem Würfel ??????????????

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    R 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @apollon77
                                      Hallo - Danke erst mal für die Rückmeldung. Dann ist ja alles gut :relaxed:

                                      Ich habe mir mal die ganzen offenen Issues angeschaut und eines gefunden , was bereits als Enhancement deklariert ist und ähnliche Anforderungen hat, aber in meinen Augen kann man es noch erweitern,

                                      Schau mal, ob Euch das so langt als Beschreibung: https://github.com/ioBroker/ioBroker.node-red/issues/30

                                      oder soll ich ein eigenes Issue machen und mein Beschreibung, die ich dort als Kommentar hinterlassen habe, nochmal als neues Issue aufmachen?

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #24

                                      @mickym sagte in Zugriff auf iobroker via soket.io:

                                      oder soll ich ein eigenes Issue machen und mein Beschreibung, die ich dort als Kommentar hinterlassen habe, nochmal als neues Issue aufmachen?

                                      Überleg dir wie du es haben wollen würdest ... kann ich dir so grad nicht sagen. wenns passt machs rein sonst extra issue

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @rewenode Hmm dann verstehe ich das alles nicht - dann muss es wohl an irgendeiner Konfig liegen - bei mir kommt da nichts raus - ich habe es sogar mal wie Du eben mit dem Xiaomi Würfel probiert - aber auch da tut sich nichts:

                                        645f93d6-1616-420c-849b-6f4fe4fe6e82-image.png

                                        Es kommt bei mir einfach nichts an:

                                        d200ecee-1a0f-4c84-80c8-232a5aeb0962-image.png

                                        Es ändert auch nichts ob ich das Object oder nur den value in der IN Node eintrage.

                                        Ich sehe allerdings einen Unterschied in Deinem Screenshot - als ob ich eine ganz andere Version habe????

                                        screen.png

                                        Oder liegt das an Deinem Browser (Safari - denke ich mal ;) )

                                        Wobei ich gerade sehe - das Debug Fenster zeigt doch einen ganz anderen Output (von Alexa) und nichts von Deinem Würfel ??????????????

                                        R Offline
                                        R Offline
                                        rewenode
                                        schrieb am zuletzt editiert von
                                        #25

                                        @mickym sagte in Zugriff auf iobroker via soket.io:

                                        Oder liegt das an Deinem Browser (Safari - denke ich mal )

                                        Also, da scheint etwas anderes bei dir im Argen zu sein.

                                        2021-02-03_17-01-35.jpg

                                        Gerade getestet mit Safari und Chrome.

                                        Alias-Objekt, das originale Object und Alle Objekte mit 2 Wildcards bringen alle das gleiche Ergebnis.

                                        mickymM 2 Antworten Letzte Antwort
                                        0
                                        • R rewenode

                                          @mickym sagte in Zugriff auf iobroker via soket.io:

                                          Oder liegt das an Deinem Browser (Safari - denke ich mal )

                                          Also, da scheint etwas anderes bei dir im Argen zu sein.

                                          2021-02-03_17-01-35.jpg

                                          Gerade getestet mit Safari und Chrome.

                                          Alias-Objekt, das originale Object und Alle Objekte mit 2 Wildcards bringen alle das gleiche Ergebnis.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #26

                                          @rewenode Ehrlich gesagt, weiß ich nicht was. An der Adapterkonfig kann es eigentlich nicht liegen:

                                          0253b44c-a8db-417f-af2d-d0004b52b1d5-image.png

                                          Das Einzige was ich geändert habe, ist die Projektfunktion aktiviert zu haben und dafür die Konvertierung in Strings deaktiviert zu haben.

                                          Ich hab die Konvertierung mal wieder rein genommen - aber das ändert nichts.

                                          @apollon77 Irgendeine Idee - was an meinem Node-Red schief sein könnte und warum das bei mir nicht geht, die Wildcards bei @rewenode schon. Dann brauche ich nämlich auch kein Issue für ein Enhancement aufmachen. Dann hat mein System ja nur irgendein Fehler. :(

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          R 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          905

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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