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.
    • M
      Muskelkatermann last edited by

      Hallo,

      ich würde gerne mein Selbstbau Ambilight mit dem Logitech Harmonyadapter verbinden, damit das Ambilight automatisch mit dem Fernseher an und aus geht.

      Um das Ambilight ein und auszuschalten kann ich an meinem Mac im Terminal folgendes eingeben:

      Kommando für aus bzw. schwarze Farbe

      echo '{ "color": [0,0,0], "command": "color", "priority": 100 }' | nc 192.168.1.205 19444

      Kommando für ein

      echo '{ "command": "clear", "priority": 100 }' | nc 192.168.1.205 19444

      Gibt es eine Möglichkeit diese Befehle über den ioBroker per Script abzusenden?

      Viele Grüße

      Malte

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

                            493
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            8
                            12
                            5376
                            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