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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. tcp-request-node für UPnP-Client-Implementierung?

NEWS

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

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

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

tcp-request-node für UPnP-Client-Implementierung?

Geplant Angeheftet Gesperrt Verschoben Node-Red
9 Beiträge 3 Kommentatoren 605 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.
  • G Offline
    G Offline
    goesebrecht
    schrieb am zuletzt editiert von goesebrecht
    #1

    Hallo,

    ich möchte im node-red eine Abonnementanfrage an eine Set-Top-Box stellen und dann Benachrichtigungen empfangen.

    In Javascript funktioniert das mit net.socket gut. Die Abonnementanfrage hat die Struktur:

    SUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1\r\n"
    HOST: 192.168.165.106:1400\r\n
    CALLBACK: <http://192.168.165.90:1234>\r\n
    NT: upnp:event\r\n
    TIMEOUT: Second-3600\r\n
    \r\n
    

    Im node-red könnte ich eine tcp-Node verwenden? Komme da einfach nicht weiter.

    G OliverIOO 2 Antworten Letzte Antwort
    0
    • G goesebrecht

      Hallo,

      ich möchte im node-red eine Abonnementanfrage an eine Set-Top-Box stellen und dann Benachrichtigungen empfangen.

      In Javascript funktioniert das mit net.socket gut. Die Abonnementanfrage hat die Struktur:

      SUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1\r\n"
      HOST: 192.168.165.106:1400\r\n
      CALLBACK: <http://192.168.165.90:1234>\r\n
      NT: upnp:event\r\n
      TIMEOUT: Second-3600\r\n
      \r\n
      

      Im node-red könnte ich eine tcp-Node verwenden? Komme da einfach nicht weiter.

      G Offline
      G Offline
      goesebrecht
      schrieb am zuletzt editiert von
      #2

      Ich muss meine Frage mal noch etwas ausführlicher erläutern.

      Die Abonnementanfrage funktioniert in Javascript wie folgt:

      const net = require('net');
      const msg = "SUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1\r\nHOST: 192.168.165.106:1400\r\nCALLBACK: <http://192.168.165.90:1234>\r\nNT: upnp:event\r\nTIMEOUT: Second-3600\r\n\r\n"
      
      const client = new net.Socket()
      
      client.connect(1400, '192.168.165.106', function() {
          client.write(msg)
          console.log('write: ' + msg);
      })
      
      client.on('data', function(data) {
          console.log('received: ' + data);
          client.destroy();
      })  
      
      client.on('close', function() {
      	console.log('connection closed');
      });
      
      1. Es wird eine Verbindung zum Server aufgebaut.
      2. Über net.Socket.write wird die subscribe-Message versandt.
      3. Ich erhalte ein 200-ok zurück und die Verbindung wird getrennt.

      Jetzt sendet der Server seine Events auf den Port (1234). Auf diesem Port kann ich lauschen und die Nachrichten empfangen. Das Lauschen funktioniert auch in node red mit einer tcp-in-node.

      Ich bekomme es aber nicht hin, die net.Socket.write-Funktionalität in node red nachzustellen. Habe es wie folgt versucht:

      964f8fa6-e0cf-4f38-9b81-c7c997f81bf2-image.png

      Ich schicke meine Message als payload an die tcp-request-node. Dann bekomme ich aber ein 400 Bad Request zurück :-(
      Habe es versucht als string zu senden und als buffer ... finde einfach keine Lösung, warum das in node red nicht funktionieren soll.

      Vielleicht hat jemand eine Idee?

      1 Antwort Letzte Antwort
      0
      • G goesebrecht

        Hallo,

        ich möchte im node-red eine Abonnementanfrage an eine Set-Top-Box stellen und dann Benachrichtigungen empfangen.

        In Javascript funktioniert das mit net.socket gut. Die Abonnementanfrage hat die Struktur:

        SUBSCRIBE /MediaRenderer/AVTransport/Event HTTP/1.1\r\n"
        HOST: 192.168.165.106:1400\r\n
        CALLBACK: <http://192.168.165.90:1234>\r\n
        NT: upnp:event\r\n
        TIMEOUT: Second-3600\r\n
        \r\n
        

        Im node-red könnte ich eine tcp-Node verwenden? Komme da einfach nicht weiter.

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #3

        @goesebrecht

        https://www.google.com/search?q=node+red+upnp
        für upnp gibt es schon nodes.
        haben die die notwendige funktionalität nicht?

        oder du verwendest einen tcp listener?
        https://flows.nodered.org/node/node-red-contrib-tcp-client

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

        G 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @goesebrecht

          https://www.google.com/search?q=node+red+upnp
          für upnp gibt es schon nodes.
          haben die die notwendige funktionalität nicht?

          oder du verwendest einen tcp listener?
          https://flows.nodered.org/node/node-red-contrib-tcp-client

          G Offline
          G Offline
          goesebrecht
          schrieb am zuletzt editiert von
          #4

          @oliverio

          Die habe ich auch schon gesehen. Die eine node ist wohl für die Steuerung eines iRobot und die zweite sendet nur Kommandos an ein Gerät.

          Ich möchte Events abonnieren. Im JS funktioniert das ja auch alles wunderbar. Ich hätte's nur gern im node red und ich stehe auf dem Schlauch, warum es da nicht funktioniert?!

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

            Binde die Bibliothek mit der es funktioniert doch einfach in eine function Node. Websocket Node wirst du schon probiert haben?

            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.

            G 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              Binde die Bibliothek mit der es funktioniert doch einfach in eine function Node. Websocket Node wirst du schon probiert haben?

              G Offline
              G Offline
              goesebrecht
              schrieb am zuletzt editiert von
              #6

              @mickym

              Da muss ich doch an die settings.js ran - oder? Das wollte ich vermeiden.

              mickymM 1 Antwort Letzte Antwort
              0
              • G goesebrecht

                @mickym

                Da muss ich doch an die settings.js ran - oder? Das wollte ich vermeiden.

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

                @goesebrecht Nein musst du nicht. Du kannst in der function node jede beliebige Bibliothek einbinden, die wird automatisch geladen.

                Dafür habe ich den Thread erstellt
                https://forum.iobroker.net/topic/53446/ext-nodejs-module-in-node-red-on-the-fly-nutzen-ab-v-3-0

                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.

                G 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @goesebrecht Nein musst du nicht. Du kannst in der function node jede beliebige Bibliothek einbinden, die wird automatisch geladen.

                  Dafür habe ich den Thread erstellt
                  https://forum.iobroker.net/topic/53446/ext-nodejs-module-in-node-red-on-the-fly-nutzen-ab-v-3-0

                  G Offline
                  G Offline
                  goesebrecht
                  schrieb am zuletzt editiert von
                  #8

                  @mickym

                  Danke, das funktioniert. Trotzdem schade, dass es nicht über die tcp-nodes funktioniert. ... Du bist doch der Anti-function-nodes-Verfechter ... ;-)

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • G goesebrecht

                    @mickym

                    Danke, das funktioniert. Trotzdem schade, dass es nicht über die tcp-nodes funktioniert. ... Du bist doch der Anti-function-nodes-Verfechter ... ;-)

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

                    @goesebrecht sagte in tcp-request-node für UPnP-Client-Implementierung?:

                    @mickym

                    Danke, das funktioniert. Trotzdem schade, dass es nicht über die tcp-nodes funktioniert. ... Du bist doch der Anti-function-nodes-Verfechter ... ;-)

                    Das bin ich auch - und ich kenn mich zuwenig in diesen Netzwerkdingen aus, aber um externe Module nutzen zu können oder auch asynchrone Verarbeitung oder wenn es keine passenden Nodes gibt, dann sind doch function Nodes gut. Ich finde function nodes nur überflüssig, wenn man payloads verändern will etc. - Auch haben function Nodes den Vorteil von eigenem Kontext. Also ich bin nicht grundsätzlich dagegen - aber function nodes sind trotzdem ein mächtiges Mittel, wenn man mit den verfügbaren Nodes nicht auskommt.

                    Wahrscheinlich müsste man sich nur mal den Quellcode der Bibliothek anschauen, um zu sehen, wie der Handshake aussehen muss.

                    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
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    437

                    Online

                    32.4k

                    Benutzer

                    81.4k

                    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