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.
    • 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

                          793
                          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