Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [gelöst]TCP Daten senden

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst]TCP Daten senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @pix:

      Hallo Muskelkatermann,

      ich weiß nicht, ob es auch mit netcat geht, aber der iobroker Befehl exec kann Terminal Befehle absetzen.

      Gemäß https://github.com/ioBroker/ioBroker.javascript#exec–-execute-some-os-command-like-cp-file1-file2 einfach den vorhandenen Befehl in die Klammern setzen

      Hier wird es vielleicht ein Problem mit den Anführungszeichen geben. Aber einen Versuch ist es wert.

      Sonst musst du mal gucken, ob du nicht damit weiterkommst: http://www.hacksparrow.com/tcp-socket-p … de-js.html

      Gruß

      Pix `
      Node.js kann TCP/UDP Pakete problemlos senden.

      Beispiel für Javascript Skript:

      
      var net = require('net');
      function sendMessage(host, port, message) {
        var client = net.connect({host:host, port: port}, function () {
          // 'connect' listener
          console.log('connected to server!');
          client.write(message);
        });
        client.on('data', function (data) {
          console.log(data.toString());
          client.end();
        });
        client.on('end', function () {
          console.log('disconnected from server');
        });
        client.on('error', function (error) {
          console.error('error: ' + error);
          client.end();
        });
      }
      sendMessage('192.168.1.205', 19444, '{ "color": [0,0,0], "command": "color", "priority": 100 }');
      
      
      1 Reply Last reply Reply Quote 0
      • M
        Muskelkatermann last edited by

        Hallo Zusammen,

        @Bluefox: Vielen Dank, das klappt wunderbar. Es fehlte nur ein CrLF am Ende des Kommandos, also:

        sendMessage('192.168.1.205', 19444, '{ "color": [0,0,0], "command": "color", "priority": 100 }\r\n');

        Die Kommandos beziehen sich übrigens auf das DIY Ambilight Hyperion ( Falls jemand mal auf der Suche ist)

        // Farbe setzten bzw. ausschalten (Farbwert [0,0,0])
        sendMessage('192.168.1.205', 19444, '{ "color": [0,0,0], "command": "color", "priority": 100 }\r\n');
        
        // Farbeffekt starten
        sendMessage('192.168.1.205', 19444, '{ "command": "effect", "effect": {"name": "Full color mood blobs"}, "priority": 100 }\r\n');
        
        // Ambilight Modus aktivieren
        sendMessage('192.168.1.205', 19444, '{ "command": "clear", "priority": 100 }\r\n' );
        

        Jetzt muss ich das nur noch schon zurecht scripten, damit es sich immer automatisch an die aktuellen Licht und Logitech Harmony Aktionen anpasst.

        Grüße,

        Malte

        1 Reply Last reply Reply Quote 0
        • S
          sanccez last edited by

          Hi, irgendwie funzt das Ganze bei mir nicht so ganz wie hier beschrieben.

          Bin folgendermaßen in ioBroker vorgegangen:

          1. Adapter: Javascript/Coffescript Script Engine hinzugefügt

          2. in der Navigation bei Scripte habe ich dann den Ordner Amibilight erstellt und darin folgenden Script erstellt:

          var net = require('net');

          function sendMessage(host, port, message) {

          var client = net.connect({host: host, port: port}, function () {

          // 'connect' listener

          console.log('connected to server!');

          client.write(message);

          });

          client.on('data', function (data) {

          console.log(data.toString());

          client.end();

          });

          client.on('end', function () {

          console.log('disconnected from server');

          });

          client.on('error', function (error) {

          console.error('error: ' + error);

          client.end();

          });

          }

          sendMessage('192.168.1.88', 19444, '{ "color": [0,0,0], "command": "color", "priority": 100 }\r\n');

          Wenn ich dann in dem Script auf Play gehe, passiert nichts und ich erhalte folgende LOG:

          3:10:25.478 [info] javascript.0 Start javascript script.js.Scripte.Ambilight.Skript1

          23:10:25.480 [info] javascript.0 script.js.Scripte.Ambilight.Skript1: registered 0 subscriptions and 0 schedules

          23:10:25.625 [info] javascript.0 script.js.Scripte.Ambilight.Skript1: connected to server!

          23:10:25.636 [info] javascript.0 script.js.Scripte.Ambilight.Skript1: {"success":true}

          23:10:25.640 [info] javascript.0 script.js.Scripte.Ambilight.Skript1: disconnected from server

          Wisst ihr vielleicht was ich falsch mache?

          vg

          Alex

          1 Reply Last reply Reply Quote 0
          • M
            mikiline last edited by

            @Muskelkatermann:

            // Farbe setzten bzw. ausschalten (Farbwert [0,0,0])
            sendMessage('192.168.1.205', 19444, '{ "color": [0,0,0], "command": "color", "priority": 100 }\r\n');
            
            // Farbeffekt starten
            sendMessage('192.168.1.205', 19444, '{ "command": "effect", "effect": {"name": "Full color mood blobs"}, "priority": 100 }\r\n');
            
            // Ambilight Modus aktivieren
            sendMessage('192.168.1.205', 19444, '{ "command": "clear", "priority": 100 }\r\n' );
            ```` `  
            

            Gibt es eine Möglichkeit dies in Blockly zu gestalten?

            Mit welchem Objekt lässt sich das "sendMessage" realisieren?

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              @mikiline:

              Mit welchem Objekt lässt sich das "sendMessage" realisieren? `
              sendMessage ist die Funktion, die obendrüber definiert wurde. Wenn es einen Block für das net-Modul gibt, könnte es gehen. Aber ich schätze nicht.

              1 Reply Last reply Reply Quote 0
              • M
                mikiline last edited by

                Hier gibt es eine node um Hyperion anzusprechen…..evtl. hilft Dir das weiter @sanccez

                https://www.npmjs.com/package/node-red-contrib-hyperion

                1 Reply Last reply Reply Quote 0
                • M
                  mrMuppet last edited by

                  Gibt es Pläne für einen Hyperion-Adapter? Den Boblight-adapter bekomme ich leider nicht ans laufen…

                  1 Reply Last reply Reply Quote 0
                  • L
                    LaGra last edited by

                    @ mrMuppet

                    gibt es…. vor 10 minuten auf Github gefunden.

                    Man kann alle Effekte steuern. Wenn jetzt noch einer erklären kann wie ich mit dem Adapter

                    auch "hyperion-remote -color black" oder "hyperion-remote -clearall" senden kann,

                    wäre ich glücklich.

                    MfG LaGra

                    1 Reply Last reply Reply Quote 0
                    • M
                      mikiline last edited by

                      @LaGra:

                      @ mrMuppet

                      gibt es…. vor 10 minuten auf Github gefunden.

                      Man kann alle Effekte steuern. Wenn jetzt noch einer erklären kann wie ich mit dem Adapter

                      auch "hyperion-remote -color black" oder "hyperion-remote -clearall" senden kann,

                      wäre ich glücklich.

                      MfG LaGra `

                      Dann lass uns doch bitte an deinem Fund teilhaben, Danke

                      1 Reply Last reply Reply Quote 0
                      • L
                        LaGra last edited by

                        https://github.com/ruhigundrelaxed/iobroker.hyperion

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        820
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        8
                        12
                        5384
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo