Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [solved] Systeminfo-Adapter: Daten aus JSON extrahieren

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [solved] Systeminfo-Adapter: Daten aus JSON extrahieren

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

      Ich habe mit dem Systeminfo-Adapter erfolgreich aus einem großen JSON ein Element extrahiert.

      Das habe ich nach der Beschreibung in https://www.npmjs.com/package/iobroker.systeminfo gemacht

      [?(...)] Filter the elements of this item by ..., Example: list[?(@.user == 'pi')] would first select the property list (which is an array) and fileter then the list by selecting only these list items what have .userset to pi.
      
      

      Der Filter lautet damit bei mir nodes[?(@.name == 'gesuchterName')].

      Ein solches Element hat nun die Struktur

         {
            "clients": 8, 
            "firmware": "V3.14159265 / Jan2014", 
            "hardware": "myHardware", 
            "href": "https://", 
            "id": "myid", 
            "lastcontact": "2018-03-29T08:37:10+00:00", 
            "loadavg": 0.14, 
            "mac": "mac-adress", 
            "name": "gesuchterName", 
            "position": {
              "lat": 49.0, 
              "lng": 10.0
            }, 
            "status": "alive", 
            "uplink": {
              "fastd": 0, 
              "l2tp": 0
            }, 
            "user": "somebody"
          }, 
      

      Das Element besteht aus diversen Eigenschaften, von denen ich einige extrahieren möchte. Wie komme ich jetzt noch an diese Eigenschaften (z.B. lastcontact heran?

      1 Reply Last reply Reply Quote 0
      • K
        Karl_999 last edited by

        Einige Stunden des Probierens später habe ich eine Lösung dafür gefunden:

        Den Filter kann man über die gewünschten Eigenschaft erweitern:

        nodes[?(@.name == 'mynames')][name,lastcontact,status,loadavg]
        

        Dann bekommt man aufsteigend nummerierte Variablen unter der Variable, die in der Spalte Name(s) angegeben ist.

        Wenn man diese gerne mit einem sprechenden Namen versehen will, so kann man die Variablennamen noch anhängen

        MeineVariable.[name,lastcontact,status,loadavg]
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate
        FAQ Cloud / IOT
        HowTo: Node.js-Update
        HowTo: Backup/Restore
        Downloads
        BLOG

        587
        Online

        32.1k
        Users

        80.7k
        Topics

        1.3m
        Posts

        1
        2
        772
        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