Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ping Monitoring - Datenpunkt auslesen

    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

    Ping Monitoring - Datenpunkt auslesen

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

      @tomily:

      Wie würdest du das Scripten, wenn man ca 10-15 Datenpunkte überwachen will? `
      In einer SV oder in 10-15 SV ?

      1 Reply Last reply Reply Quote 0
      • T
        tomily last edited by

        ups sorry, ich glaub da hören meine Skills wohhl schon auf.

        Was meinst du mit SV?

        Ich dachte mir es in etwa so, dass ich oben das "Gerät" bzw. den Datenpunkt definiere und nur eine Zeile schreibe, was er zu tun hat.

        In etwa So:

        definiere Datenpunkt1 = ping.0.TS.192_168_2_1

        definiere Datenpunkt2 = ping.0.TS.192_168_2_2

        ….

        on("Datenpunktx", function(dp) { // Triggern bei Wertänderung

        setState("hm-rega.0.14476", dp.state.val); // Wert von Ping --> SV

        });

        -> Bei meiener Logik würde aber nicht nie definiert werden, welcher Datenpunkt gerade "bearbeitet" werden soll.

        Die alternative, die jetzt schon tut ist, dass ich die 3 Zeilen Code einfach 15x Kopiere und direkt auf den Datenpunkt verweise.

        War das einigermaßen verständlich? :oops:

        Schäme mich für die schlechten Code-Skills...

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

          Wenn er immer an den selben DP in der CCU schrreiben soll, dann in etwa so. Man kann in den 'on' statements regex verwenden. Ich bin kein Spezialist darin, aber so könnte es gehen.

          on(/ping\.0\.TS\.192_168_2_*./", function(dp) { // Triggern bei Wertänderung
          setState("hm-rega.0.14476", dp.state.val); // Wert von Ping --> SV
          });
          
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @tomily:

            Was meinst du mit SV? `
            Systemvariable der CCU.
            @tomily:

            die 3 Zeilen Code einfach 15x Kopiere und direkt auf den Datenpunkt verweise. `
            Also hast Du auch 15 verschiedene SV ? Dann ist das der einfachste Weg.

            1 Reply Last reply Reply Quote 0
            • T
              tomily last edited by

              Sehr geil, vielen Dank für den Tip! Ich versuche das mit dem regx mal.

              Wäre einfach schöner…

              Aktuell habe ich nur eine Variable auf der CCU, welche nach einer Änderung ne Pushnachricht generiert.

              Ich könnte natürlich weitere anlegen, allerdings ist es für die reine Benachrichtigung nicht notwendig.

              Später, wenn ich mit dem scripten besser zurecht komme, möchte ich das ganze auf Email-Benachrichtigungen umstellen.

              Das Endziel ist es, dass ich eine Benachrichtigung (Vorzugsweise Email) bekomme, sobald eines der Geräte down ist.

              Also ein klassisches alive-Monitoring.

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

                Der allgemeine Trend hier bei den Benutzern ist, das Push direkt von ioBroker anzustoßen. Dazu gibt es eine Reihe von Adaptern: Telegram, Pushover etc.

                Damit bist du viel flexibler

                on(/ping\.0\.TS\.192_168_2_*./", function(dp) { // Triggern bei Wertänderung
                sendTo('telegram', dp.common.name + ' neuer Wert: ' + dp.state.val); 
                });
                
                1 Reply Last reply Reply Quote 0
                • T
                  tomily last edited by

                  noch besser! Danke! Das schaue ich mir natürlich gleich mal an.

                  Somit wäre ich nicht von der CCU abhängig.

                  Mal ganz unabhängig davon:

                  Gäbe es auch eine Option, den Wert an als Emailinhalt zu übergeben und eine Mail zu versenden?

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

                    Ja, du musste den email Adapter installieren.

                    Dann kannst du Mails versenden. Siehe https://github.com/ioBroker/ioBroker.email

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

                      Regex besser so:

                      on(/^ping\.0\.TS\.192_168_2_\d+$/, function(dp) { // Triggern bei Wertänderung
                      
                      1 Reply Last reply Reply Quote 0
                      • T
                        tomily last edited by

                        Ihr seid echt geil!

                        Bin erst mal ein ganzes Stück weiter gekommen.

                        Über den RegX-Weg werden erfolgreich alle Objekte berücksichtigt, die im Ping-Adapter angelegt oder geändert werden.

                        Der Mailversand läuft noch nicht, bekomme folgenden Error:

                        Fehler Hostname/IP doesn't match certificate's altnames: "Host: mein-host.de is not in the cert's altnames: DNS:*.mein-host.de, DNS:mein-host.de"

                        Kennt das jemand?

                        Vermut, dass es in einen anderen Beitrag gehört…Ist ab jetzt eher ein anderes Thema...

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        833
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        3
                        13
                        1244
                        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