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.
    • P
      pix last edited by

      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

      1 Reply Last reply Reply Quote 0
      • 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

                          711
                          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