Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Skript PING

    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

    Skript PING

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

      @ro75

      hab ich gemacht, wenn ich enter drücke tut sich nichts

      Screenshot_20241020_131040_Samsung Internet.jpg

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @MyzerAT last edited by

        @myzerat

        Kleinbuchstaben...
        ping also

        MyzerAT 1 Reply Last reply Reply Quote 1
        • MyzerAT
          MyzerAT @Thomas Braun last edited by

          @thomas-braun

          ja hab ich auch probiert

          Thomas Braun 1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @MyzerAT last edited by

            @myzerat

            Keine Ahnung was du da machst. Geht hier sofort:

            300d275c-9d69-40a9-8882-7d5a21fb263d-grafik.png

            MyzerAT 1 Reply Last reply Reply Quote 0
            • MyzerAT
              MyzerAT @Thomas Braun last edited by MyzerAT

              @thomas-braun

              ich bin auf eine samsung tablett s9 ultra mit dem samsung browser am probieren gewesen, mit dem firefox browser hat es sofort geklappt, komisch

              Screenshot_20241020_132134_Samsung Internet.jpg

              1 Reply Last reply Reply Quote 0
              • B
                BigMike71 last edited by

                vielen dank für dein Script!
                Funktioniert mit meinem Qnap NAS super 🙂
                Schalte damit über ein Blockly zusätzlich ein Festplatten Array was über USB3 damit verbunden ist ein und aus

                1 Reply Last reply Reply Quote 0
                • E
                  emil70 @Ro75 last edited by emil70

                  @ro75

                  super script von dir

                  Kann du sagen, warum Amazon Echos nicht gehen?

                  Mein Alexa-Echo-Show2 und FireTVStick wird als "true" angezeigt. Die Dot leider nicht

                  Edit: Was sagt den der Status "OK" aus bei jedem Netzwerkgerät

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @emil70 last edited by Asgothian

                    @emil70 sagte in Skript PING:

                    @ro75

                    super script von dir

                    Kann du sagen, warum Amazon Echos nicht gehen?

                    Mein Alexa-Echo-Show2 und FireTVStick wird als "true" angezeigt. Die Dot leider nicht

                    Edit: Was sagt den der Status "OK" aus bei jedem Netzwerkgerät

                    Das kannst du selber ausprobieren:
                    per konsole schickst du mal ein 'ping <IP.DES.ECHO.DOT> ab und schaust dir die Antwort an.

                    Es ist denkbar das die Firmware des EchoDot die Antworten auf ICMP Requests blockiert. Das würdest Du da dann sehen (oder auch andere Fehlermeldungen warum das nicht geht)

                    Das OK sagt aus das der Befehl sauber abgearbeitet wurde. Im Falle eines 'ERROR' ist auf deinem System etwas faul was dazu führt das die Pings nicht ausgeführt werden können.

                    A.

                    E 1 Reply Last reply Reply Quote 1
                    • E
                      emil70 @Asgothian last edited by

                      @asgothian

                      hast Recht, hätte ich auch selbst drauf kommen können

                      "Zeitüberschreitung der Anforderung." kommt

                      1 Reply Last reply Reply Quote 0
                      • E
                        emil70 last edited by

                        Hat hier jemand noch eine Idee, wie man

                        1. das man noch einen Datenpunkt bekommen, wieviele Geräte man im Netzwerk hat

                        2. das man noch einen Datenpunkt bekommen, wieviele davon auf "true" stehen

                        1 Reply Last reply Reply Quote 0
                        • E
                          emil70 last edited by

                          Habe das jetzt so gelöst. Für Alle die es brauchen können

                          Habe mir dazu extra Datenpunkte angelegt

                          Screenshot 2025-02-04 at 12-14-15 javascript - f5529c8310eb.png

                          Screenshot 2025-02-04 at 12-14-50 javascript - f5529c8310eb.png

                          Screenshot 2025-02-04 at 12-16-58 objects - f5529c8310eb.png

                          1 Reply Last reply Reply Quote 0
                          • E
                            emil70 last edited by emil70

                            ich habe aber generell noch eine Frage zu dem script. Ich habe daraus jetzt 3 script gemacht. Da ich Kameras, Lan und Wlan einzeln angezeigt bekommen möchte. Die funktionieren auch Alle soweit

                            ich würde gerne daraus ein script machen. Datenpunkte werden dann auch Alle richtig angelegt. Was ich nicht hinbekommen ist die Ping Abfrage

                            Momentan ist da so meine Einstellungen

                            //Version 1.0.0 - 04.10.2024
                            //Ersteller Ro75.
                            //https://forum.iobroker.net/topic/77249/skript-ping 
                            //Voraussetzungen (Version 1.0.0 getestet mit)
                            //NodeJS: 20.x
                            //Javascript-Adapter: 8.7.6
                            //Admin-Adapter: 7.0.23
                            //JS-Controller: 6.0.11
                            //https://forum.iobroker.net/topic/77249/skript-ping
                             
                            //"normale" Geräte ("Computer, Router, Switch, HUB, NAS, WLAN-Steckdosen, Android-Smartphone, Android-Tablet, etc.")
                            //Amazon Echos, SKY-Geräte und diverse Konsolen (einfach probieren) funktionieren nicht.
                             
                            const ping          = require('ping');          //Im Javascript-Adapter einzutragen (Zusätzliche NPM-Module)
                            const sMainPathKamera        = '0_userdata.0.Netzwerkgeräte-Test.Kamera.';     //zentraler Datenpunkt
                            const sMainPathKameras       = '0_userdata.0.Netzwerkgeräte-Test.Kameras';
                            const sMainPathLan           = '0_userdata.0.Netzwerkgeräte-Test.Lan.';     //zentraler Datenpunkt
                            const sMainPathLangeraete    = '0_userdata.0.Netzwerkgeräte-Test.Lan-Geräte';
                            const sMainPathWlan          = '0_userdata.0.Netzwerkgeräte-Test.Wlan.';     //zentraler Datenpunkt
                            const sMainPathWlangeraete   = '0_userdata.0.Netzwerkgeräte-Test.Wlan-Geräte';
                            
                             
                            //Konfiguration der abzufragenden Geräte. Geräte werden duch "Doppelpunkt" (:) getrennt.
                            //Jedes Geräte besteht aus zwei Werten. Die Werte werden durch Komma (,) getrennt.
                            //Links vom Komma die Bezeichnung und rechts vom Komma die IP-Adresse
                            const cDevicePingKamera   = 'Kamera-Garage,192.168.178.50'; //bitte anpassen
                            const cDevicePingLan      = 'Lan-Geraete,192.168.178.60'; //bitte anpassen
                            const cDevicePingWlan     = 'Wlan-Geraete,192.168.178.70'; //bitte anpassen
                            
                            //Kamera Datenpunkte anlegen
                            function PingInitalisierungKamera(){
                                let sDevice = cDevicePingKamera.split(':');
                                for (let i = 0; i <= sDevice.length-1; i++) {
                                    let device_data = sDevice[i].split(',');
                                    createState(sMainPathKamera+device_data[0], '', {name: device_data[1],read: true, write: true});
                                    createState(sMainPathKamera+device_data[0]+'.Ping.alive', false, {name: 'Pingstatus' ,type: 'boolean', read: true, write: true});
                                    createState(sMainPathKamera+device_data[0]+'.Ping.time', 0, {name: 'Zeit' ,type: 'number', read: true, write: true, unit: 'ms'});
                                    createState(sMainPathKamera+device_data[0]+'.Ping.status', '', {name: 'Status' ,type: 'string', read: true, write: true});
                            		createState(sMainPathKameras, 0, {name: 'Onlinestatus' ,type: 'number', read: true, write: true});
                                }
                            }
                            
                            //Lan Datenpunkte anlegen
                            function PingInitalisierungLan(){
                                let sDevice = cDevicePingLan.split(':');
                                for (let i = 0; i <= sDevice.length-1; i++) {
                                    let device_data = sDevice[i].split(',');
                                    createState(sMainPathLan+device_data[0], '', {name: device_data[1],read: true, write: true});
                                    createState(sMainPathLan+device_data[0]+'.Ping.alive', false, {name: 'Pingstatus' ,type: 'boolean', read: true, write: true});
                                    createState(sMainPathLan+device_data[0]+'.Ping.time', 0, {name: 'Zeit' ,type: 'number', read: true, write: true, unit: 'ms'});
                                    createState(sMainPathLan+device_data[0]+'.Ping.status', '', {name: 'Status' ,type: 'string', read: true, write: true});
                            		createState(sMainPathLangeraete, 0, {name: 'Onlinestatus' ,type: 'number', read: true, write: true});
                                }
                            }
                            
                            //Wlan Datenpunkte anlegen
                            function PingInitalisierungWlan(){
                                let sDevice = cDevicePingWlan.split(':');
                                for (let i = 0; i <= sDevice.length-1; i++) {
                                    let device_data = sDevice[i].split(',');
                                    createState(sMainPathWlan +device_data[0], '', {name: device_data[1],read: true, write: true});
                                    createState(sMainPathWlan +device_data[0]+'.Ping.alive', false, {name: 'Pingstatus' ,type: 'boolean', read: true, write: true});
                                    createState(sMainPathWlan +device_data[0]+'.Ping.time', 0, {name: 'Zeit' ,type: 'number', read: true, write: true, unit: 'ms'});
                                    createState(sMainPathWlan +device_data[0]+'.Ping.status', '', {name: 'Status' ,type: 'string', read: true, write: true});
                            		createState(sMainPathWlangeraete, 0, {name: 'Onlinestatus' ,type: 'number', read: true, write: true});
                                }
                            }
                            
                            
                            //START
                            PingInitalisierungKamera();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathKamera+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathKamera+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathKamera+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathKamera+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            PingInitalisierungLan();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathLan+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathLan+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathLan+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathLan+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            PingInitalisierungWlan();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathWlan+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathWlan+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathWlan+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathWlan+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            
                            //Ping aller 10 Sekunden - kann angepasst werden - kleinerer Wert nicht empfohlen
                            //damit das Intervall (wenn zu niedrig) nicht "gesprengt" wird: Schleife sperren und am Ende wieder freigeben
                            let bPingSperreKamera = false;
                            schedule('*/20 * * * * *', async function StartPing() {
                                if (bPingSperreKamera == false) {
                                    bPingSperreKamera = true;
                                    let sDevice = cDevicePingKamera.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreKamera = false;
                                }
                            });
                            
                            let bPingSperreLan = false;
                            schedule('*/30 * * * * *', async function StartPing() {
                                if (bPingSperreLan == false) {
                                    bPingSperreLan = true;
                                    let sDevice = cDevicePingLan.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreLan= false;
                                }
                            });
                            
                            //Ping aller 10 Sekunden - kann angepasst werden - kleinerer Wert nicht empfohlen
                            //damit das Intervall (wenn zu niedrig) nicht "gesprengt" wird: Schleife sperren und am Ende wieder freigeben
                            let bPingSperreWlan = false;
                            schedule('*/40 * * * * *', async function StartPing() {
                                if (bPingSperreWlan == false) {
                                    bPingSperreWlan = true;
                                    let sDevice = cDevicePingWlan.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreWlan = false;
                                }
                            });
                            

                            der Part ist so nicht richtig. Da bräuchte ich Hilfe

                            //START
                            PingInitalisierungKamera();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathKamera+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathKamera+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathKamera+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathKamera+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            PingInitalisierungLan();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathLan+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathLan+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathLan+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathLan+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            PingInitalisierungWlan();
                             
                            async function pingHost(host,sDesc) {
                                try {
                                    const res = await ping.promise.probe(host, {timeout: 2, deadline: 2, packetSize: 16});
                                    setState(sMainPathWlan+sDesc+'.Ping.alive', JSON.parse(JSON.stringify(res)).alive, true);
                                    setState(sMainPathWlan+sDesc+'.Ping.time', parseFloat(JSON.parse(JSON.stringify(res)).time), true);
                                    setState(sMainPathWlan+sDesc+'.Ping.status', 'OK', true);
                                } catch (error) {
                                    setState(sMainPathWlan+sDesc+'.Ping.status', 'ERROR', true);
                                }
                            }
                            
                            
                            //Ping aller 10 Sekunden - kann angepasst werden - kleinerer Wert nicht empfohlen
                            //damit das Intervall (wenn zu niedrig) nicht "gesprengt" wird: Schleife sperren und am Ende wieder freigeben
                            let bPingSperreKamera = false;
                            schedule('*/20 * * * * *', async function StartPing() {
                                if (bPingSperreKamera == false) {
                                    bPingSperreKamera = true;
                                    let sDevice = cDevicePingKamera.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreKamera = false;
                                }
                            });
                            
                            let bPingSperreLan = false;
                            schedule('*/30 * * * * *', async function StartPing() {
                                if (bPingSperreLan == false) {
                                    bPingSperreLan = true;
                                    let sDevice = cDevicePingLan.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreLan= false;
                                }
                            });
                            
                            //Ping aller 10 Sekunden - kann angepasst werden - kleinerer Wert nicht empfohlen
                            //damit das Intervall (wenn zu niedrig) nicht "gesprengt" wird: Schleife sperren und am Ende wieder freigeben
                            let bPingSperreWlan = false;
                            schedule('*/40 * * * * *', async function StartPing() {
                                if (bPingSperreWlan == false) {
                                    bPingSperreWlan = true;
                                    let sDevice = cDevicePingWlan.split(':');
                                    for (let i = 0; i <= sDevice.length-1; i++) {
                                        await pingHost(sDevice[i].split(',')[1],sDevice[i].split(',')[0]);
                                    }
                                    bPingSperreWlan = false;
                                }
                            });
                            

                            Edit: nach der ersten Pingabfrage kommt dann das

                            javascript.0	12:35:20.027	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.028	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.028	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.029	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.029	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.051	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:104:9)
                            javascript.0	12:35:20.051	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.053	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.053	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.054	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.054	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.077	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:104:9)
                            javascript.0	12:35:20.078	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.079	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.080	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.081	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.081	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.102	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:104:9)
                            javascript.0	12:35:20.103	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.104	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.104	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.106	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.106	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.136	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:104:9)
                            javascript.0	12:35:20.137	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.138	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.138	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.139	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.140	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.197	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:104:9)
                            javascript.0	12:35:20.197	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.198	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:105:9)
                            javascript.0	12:35:20.198	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            javascript.0	12:35:20.199	warn	at pingHost (script.js.common.Netzwerkstatus.Test1:106:9)
                            javascript.0	12:35:20.200	warn	at async Object.StartPing (script.js.common.Netzwerkstatus.Test1:121:13)
                            
                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            378
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            6
                            15
                            822
                            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