Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. IoBroker und Homematic CCU2

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    IoBroker und Homematic CCU2

    This topic has been deleted. Only users with topic management privileges can see it.
    • I
      iobroker-6043 last edited by

      Hallo zusammen

      Habe mir eben den ioBroker auf eine RasPi3 installiert und die CCU2 und Philips Hue eingebunden. Soweit wirklich super.

      Nun stehe ich an, möchte per ping auf iPhone die Anwesenheit prüfen.

      Was ich gesehen habe ist, dass per udp/ping auf port 5353 das iPhone geweckt werden kann. (Dies wenn die Haustüre geöffnet wird, Homematic Sensor)

      Wie kann ich das script erstellen, dass da klappt, habe da den Einstieg noch nicht 🙂

      var exec = require('child_process').exec;

      function puts(error, stdout, stderr) { sys.puts(stdout) }

      exec("hping3 -2 -c 10 -p 5353 -i u1 192.168.xxx.xx4 -q", puts);

      Irgendwie läuft das script an, wird jedoch nicht fertig.

      Output ist :

      17:20:34.413 [info] javascript.0 Start javascript script.js.TEST.Skript1

      17:20:34.413 [info] javascript.0 script.js.TEST.Skript1: registered 0 subscriptions and 0 schedules

      1 Reply Last reply Reply Quote 0
      • ruhr70
        ruhr70 last edited by

        @iobroker-6043:

        Hallo zusammen

        Habe mir eben den ioBroker auf eine RasPi3 installiert und die CCU2 und Philips Hue eingebunden. Soweit wirklich super.

        Nun stehe ich an, möchte per ping auf iPhone die Anwesenheit prüfen.

        Was ich gesehen habe ist, dass per udp/ping auf port 5353 das iPhone geweckt werden kann. (Dies wenn die Haustüre geöffnet wird, Homematic Sensor)

        Wie kann ich das script erstellen, dass da klappt, habe da den Einstieg noch nicht 🙂

        var exec = require('child_process').exec;

        function puts(error, stdout, stderr) { sys.puts(stdout) }

        exec("hping3 -2 -c 10 -p 5353 -i u1 192.168.1.144 -q", puts);

        Irgendwie läuft das script an, wird jedoch nicht fertig.

        Output ist :

        17:20:34.413 [info] javascript.0 Start javascript script.js.TEST.Skript1

        17:20:34.413 [info] javascript.0 script.js.TEST.Skript1: registered 0 subscriptions and 0 schedules `

        Probier mal bitte:

        
        // sudo apt-get update
        // sudo apt-get install hping3
        
        function wakeIphone() {
            exec("hping3 -2 -c 10 -p 5353 -i u1 192.168.1.144 -q", function(err, stdout, stderr) {
                if (err) {
                    log(err);
                    return;
                }
                log(stdout) ;
            });
        }
        
        wakeIphone();
        
        
        1 Reply Last reply Reply Quote 0
        • ruhr70
          ruhr70 last edited by

          Ich habe das noch mal für mehrere iPhone erweitert:

          ! ```
          // hping3 muss installiert sein. Unter Debian/Unbuntu: ! // sudo apt-get update // sudo apt-get install hping3 ! var listIphones = [ { "name": "Michael", "ip":"172.16.130.114" }, { "name": "Lana", "ip":"172.16.130.171" }, { "name": "Oma", "ip":"172.16.130.180" } ]; ! function wakeIphone(ip) { exec("hping3 -2 -c 10 -p 5353 -i u1 " + ip + " -q", function(err, stdout, stderr) { if (err) { log(err); return; } log(stdout) ; }); } ! function wakeIphones() { for (var i = 0; i < listIphones.length; i++) { wakeIphone(listIphones[i].ip); } } ! // main ! wakeIphones();
          ! Das Dumme ist nur, das das iPhone darauf nicht anspricht: :mrgreen:
          ! ~~[code]~~hping3 -2 -c 10 -p 5353 -i u1 172.16.130.114 -q HPING 172.16.130.114 (ens160 172.16.130.114): udp mode set, 28 headers + 0 data bytes ! --- 172.16.130.114 hping statistic --- 10 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms[/code]
          ! Soll der hping/hping3 so funktionieren?
          ! Wenn das funktioniert erweitere ich das gerne noch um Datenpunkte.[/i]

          1 Reply Last reply Reply Quote 0
          • I
            iobroker-6043 last edited by

            Hey besten Dank

            Habe das script mal eingefügt und wollte testen. Erhalte jedoch folgende Errors:

            07:31:23.161 [info] javascript.0 script.js.TEST.Skript1: Error: Command failed: /bin/sh -c /usr/sbin/hping3 -2 -c 10 -p 5353 -i u1 192.168.xxx.xx3 -q –- 192.168.xxx.xx3 hping statistic --- 10 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms

            07:31:23.167 [info] javascript.0 script.js.TEST.Skript1: Error: Command failed: /bin/sh -c /usr/sbin/hping3 -2 -c 10 -p 5353 -i u1 192.168.xxx.xx7 -q –- 192.168.xxx.xx7 hping statistic --- 10 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms

            07:31:23.191 [info] javascript.0 script.js.TEST.Skript1: Error: Command failed: /bin/sh -c /usr/sbin/hping3 -2 -c 10 -p 5353 -i u1 192.168.xxx.x4 -q –- 192.168.xxx.xx4 hping statistic --- 10 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms

            hping3 ist unter /usr/sbin.

            pi@raspberrypi01:~$ sudo hping3 -2 -c 10 -p 5353 -i u1 192.168.xxx.xx4 -q

            HPING 192.168.xxx.xx4 (eth0 192.168.xxx.xx4): udp mode set, 28 headers + 0 data bytes

            --- 192.168.xxx.xx4 hping statistic ---

            10 packets transmitted, 0 packets received, 100% packet loss

            round-trip min/avg/max = 0.0/0.0/0.0 MS

            function wakeIphone(ip) {

            exec("sudo hping3 -2 -c 10 -p 5353 -i u1 " + ip + " -q", function(err, stdout, stderr) {

            if (err) {

            log(err);

            return;

            }

            log(stdout) ;

            });

            }

            ----> Port 62078 wäre noch als Alternative möglich.

            😄

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

              Hallo zusammen

              ich bin gerade am testen und muss sagen das das iphone aufgeweckt wird, also das WLAN. Jedes Mal wenn es in Standby geht ping ich es mir hping an und erhalte ein REPLAY

              mein Komando lautet:

              hping3 -2 -c 10 -p 5353 -i u1 IPiPhone -q
              

              Sehr interessant.

              Den Port 62078 habe ich auch schon getestet, aber da hats nur einmal funktioniet, danach hat das keine Funktion gehabt

              1 Reply Last reply Reply Quote 0
              • I
                iobroker-6043 last edited by

                Bin einen Schritt weiter, lösche den arp Eintrag mit arp -d IP, wecke dann das iPhone und pinge 20x. Danach den arp cache auslesen und die mac Adresse ist wieder drin, wenn iPhone Antwort gegeben hat.

                Wie kann ich nun den arp cache prüfen, ob die aus dem Array drin ist ? –> function checkArpEntry(), dann eine CCU2 Systemvariable setzen und das script noch ausführen, wenn ein Homematic Fensterkontakt an der Türe anspricht.

                🙂

                var listIphones = [

                {

                "name": "user1",

                "ip":"192.168.xxx.xx4",

                "mac":"c0:1a:xx:xx:xx:xx"

                },

                {

                "name": "user2",

                "ip":"192.168.xxx.xx3",

                "mac":"f0:dc:xx:xx:xx:xx"

                },

                {

                "name": "user3",

                "ip":"192.168.xxx.xx0",

                "mac":"d8:bb:xx:xx:xx:xx"

                }

                ];

                function wakeIphone(ip) {

                exec("sudo hping3 -2 -c 15 -p 5353 " + ip + " -q", function(err, stdout, stderr) {

                if (err) {

                log(err);

                return;

                }

                //log(stdout) ;

                });

                }

                function pingIphone(ip) {

                exec("sudo ping " + ip + " -c 20 -i 0.5", function(err, stdout, stderr) {

                if (err) {

                log(err);

                return;

                }

                log(stdout) ;

                });

                }

                function deleteArpEntry(ip) {

                exec("sudo arp -d " + ip, function(err, stdout, stderr) {

                if (err) {

                log(err);

                return;

                }

                //log(stdout) ;

                });

                }

                function checkArpEntry(ip) {

                exec("sudo arp -a", function(err, stdout, stderr) {

                if (err) {

                log(err);

                return;

                }

                log(stdout) ;

                // mac in arp table ??

                });

                }

                function checkPresence() {

                for (var i = 0; i < listIphones.length; i++) {

                deleteArpEntry(listIphones__.ip); //arp table, delete mac from iphone

                wakeIphone(listIphones__.ip);

                pingIphone(listIphones__.ip);

                checkArpEntry(__.ip); //arp table, check mac from iphone

                }

                }

                // main

                checkPresence();________

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

                Support us

                ioBroker
                Community Adapters
                Donate

                673
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                3
                6
                1596
                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