Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. ping Objekt - regex möglich ?

    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 Objekt - regex möglich ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active last edited by

      Hallo,
      die Objekte bei ping heißen ja z.B. so:
      ping.0.NUC-Buero(Home).192_168_243_170

      In der Mitte steht also der PC und hinten die IP
      Mit getState bekommt man den Wert, z.B. so.
      var test1 = getState("ping.0.NUC-Buero(Home).192_168_243_170").val;

      Ändert sich aber nun der PC, dann wird der mittlere Teil automatisch auch geändert.
      Soll heißen, meine Scripte holen mit getState nicht mehr den Wert, weil der mittlere Teil ja nicht mehr stimmt.

      Nun bekam ich die Idee, den mittleren Teil durch regex zu ersetzen.
      Vorteil wäre, man müsste dann bei einem PC Wechsel nicht mehr sämtliche Scripte ändern.

      Geht das ?

      @Homoran
      Rainer, du bist doch ein regex Spezialist. Hast mir schon öfters geholfen.
      Wäre sowas möglich ?

      mfg
      Dieter

      F Asgothian 2 Replies Last reply Reply Quote 0
      • F
        fastfoot @bahnuhr last edited by

        @bahnuhr sagte in ping Objekt - regex möglich ?:

        ping.0.NUC-Buero(Home).192_168_243_170

        so?

        let x = new RegExp(/ping\.0\.([a-zA-Z\(\)-]+)\.192/);
        let state = 'ping.0.NUC-Buero(Home).192_168_243_170';
        let pcname = x.exec(state)[1];
        log(pcname);
        
        1 Reply Last reply Reply Quote 1
        • Asgothian
          Asgothian Developer @bahnuhr last edited by

          @bahnuhr

          • Wodurch ändern sich die Objektnamen im Ping adapter ?
          • Kannst du darauf Triggern ?
          • Wenn ja, Kannst du Dir eine Liste von Objekten bauen in denen du die IP der jeweiligen Rechner eintragen lässt (automatisch) ?
          • Hast Du ggf. schon so eine Liste von Objekten mit IP Adressen ?

          Wenn du so weit bist, dann kannst du den Namen der abzufragenden Objekte vor der eigentlichen Abfrage zusammen bauen - du weisst ja welchen Rechner du abfragen willst, und kannst aus der Liste die IP herauslesen, und damit den Namen des abzufragenden Objektes zusammen bauen. Keine Skript Anpassung mehr nötig.

          Ansonsten solltest Du dir das Thema "Selektor" genauer anschauen - darüber kannst du dir Werte von einem (oder mehreren) Objekten holen deren Namen eine bestimmte Regel einhalten, zum Beispiel "beginn mit 'ping.0.NUC-Buero(Home)."

          A.

          1 Reply Last reply Reply Quote 1
          • bahnuhr
            bahnuhr Forum Testing Most Active last edited by

            Mensch klasse,

            ein Kombination aus euren Antworten hab ich jetzt gebastelt.

            Und zwar so:

            cacheSelectorState = $("[id=ping.0.*.192*]").each(function (id) { });
            let x = new RegExp(/ping\.0\.([a-zA-Z\(\)-]+)\.192/);
            let state = cacheSelectorState[0];
            let pcname = x.exec(state)[1];
            log(pcname);
            
            

            Damit kann ich dann weiterarbeiten.

            Super.
            Nochmals Danke.

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

            Support us

            ioBroker
            Community Adapters
            Donate

            942
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            3
            4
            212
            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