Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Adapter 'systeminfo' auf Git und npm

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Neuer Adapter 'systeminfo' auf Git und npm

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

      @wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:

      @Lars89 sagte in Neuer Adapter 'systeminfo' auf Git und npm:

      {"hasbattery":true,"cyclecount":0,"ischarging":true,"maxcapacity":0,"currentcapacity":0,"percent":76,"timeremaining":-1,"acconnected":true,"type":"","model":"","manufacturer":"","serial":""}
      

      Ich benötige

      ischarging
      percent
      acconnected
      

      Danke für eure Hilfe

      Hallo, hab mal einen Test gemacht und dein json in eine Datei gestellt und zwei Einträge generiert:

       {
            "name": "TestJson.ischarging",
            "type": "file",
            "source": "/home/pi/jsontest.json",
            "regexp": "..ischarging",
            "conv": "json",
            "role": "switch",
            "write": "",
            "sched": "*:/1",
          }
      
      und  {
            "name": "TestJson.percent",
            "type": "file",
            "source": "/home/pi/jsontest.json",
            "regexp": "..percent",
            "conv": "json",
            "role": "number|%",
            "write": "",
            "sched": "*:/1",
          }
      

      Das hat mir die zwei dann gut angezeigt!

      wendy2702 1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 @frankjoke last edited by

        @frankjoke Hallo Frank,

        kannst du mir als Javascript DAU sagen was das jetzt bedeutet? Hast du das über Filter in dem Adapter gelöst oder ein extra JS Script angelegt?

        frankjoke 1 Reply Last reply Reply Quote 0
        • frankjoke
          frankjoke @wendy2702 last edited by

          @wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:

          @frankjoke Hallo Frank,

          kannst du mir als Javascript DAU sagen was das jetzt bedeutet? Hast du das über Filter in dem Adapter gelöst oder ein extra JS Script angelegt?

          Nein, ich hab nur in der Konfig Zeilen eingefügt, z.B für percent:

          {
                "name": "TestJson.percent",
                "type": "file",
                "source": "/home/pi/jsontest.json",
                "regexp": "..percent",
                "conv": "json",
                "role": "number|%",
                "write": "",
                "sched": "*:/1",
              }
          

          D.H einen Eintrag erzeugt und dortz unter Name: TestJson.percent
          unter Type: 'file' selektiert,
          unter Source: /home/pi/jsontest.json
          unter regexp: ..percent
          unter conv: json
          .....
          Bei dir muss natürlich unter type und source was anderes stehen da du die Daten ja nicht aus meiner Datei lädst!

          DFas schaut dann so aus: (ganz unten)
          systeminfo.png

          p.s.: das ..percent bedeutet dass er irgendwo im JSON den Namen percent suchen soll und den Wert ausgeben soll. Sind mehrere percentsdrinnen dann würde er ein Array aus allen erzeugen!

          1 Reply Last reply Reply Quote 1
          • wendy2702
            wendy2702 last edited by

            Hallo Frank,

            Danke das hat mir sehr geholfen.

            Habe es jetzt so umgesetzt:

            caf59f3f-096a-4c49-8d7e-c510b650b778-image.png

            Und erhalte dadurch diese Datenpunkte:

            0b56506b-eb11-4444-8870-21ca54806df9-image.png

            Hast du zufällig noch einen Tipp wie ich den Filter erweitern kann damit er mir die "[]" bei Temp_OG_cores" nicht mehr anzeigt?

            Danke und Gruß

            Mirko

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

              Hallo Frank,

              hattest mir im Radar Thema geantwortet. :

              @wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:
              
              Hallo Frank,
              
              Danke das hat mir sehr geholfen.
              
              Habe es jetzt so umgesetzt:
              
              caf59f3f-096a-4c49-8d7e-c510b650b778-image.png
              
              Hast du zufällig noch einen Tipp wie ich den Filter erweitern kann damit er mir die "[]" bei Temp_OG_cores" nicht mehr anzeigt?
              
              Mirko, das cores schein ein Array zu sein in den Daten, versuch mal im Filter main,max,cores[0], sonst musst für die cores eben einen eigenen anlegen...
              

              Das hat funktioniert.

              Danke

              frankjoke 1 Reply Last reply Reply Quote 0
              • frankjoke
                frankjoke @wendy2702 last edited by

                @wendy2702 sagte in Neuer Adapter 'systeminfo' auf Git und npm:

                Hallo Frank,

                Danke das hat mir sehr geholfen.

                Habe es jetzt so umgesetzt:

                caf59f3f-096a-4c49-8d7e-c510b650b778-image.png

                Hast du zufällig noch einen Tipp wie ich den Filter erweitern kann damit er mir die "[]" bei Temp_OG_cores" nicht mehr anzeigt?

                Mirko, das cores schein ein Array zu sein in den Daten, versuch mal im Filter main,max,cores[0], sonst musst für die cores eben einen eigenen anlegen...

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

                  Kann mir jemand auf die sprünge helfen? ich versuche exec antwort auf 3 variable zu teilen

                  exec komande ist : ibrew status 192.168.2.100
                  Antwort:
                  Starting please wait...
                  ready on base: temperature 32 ºC, watersensor 2144

                  Benötigt:

                  Satus - ready on base
                  temperature - 32 ºC
                  watersensor - 2144

                  Bekomme einfach nicht gebaken.. 😞

                  frankjoke 1 Reply Last reply Reply Quote 0
                  • frankjoke
                    frankjoke @Alex1808 last edited by

                    @Alex1808
                    Hast schon so eine regexp probiert, sie gibt 3 Werte zurück: /^(.+)\:.*ure (\d+) .*sor (\d+)/m
                    Der erste ist der Text vom Zeilenanfang bis zum ':', dann die Temperatur und dann der sensor. Diese kannst 3 Vasriablen mittels ibrew_[status,temperatur,watersensor] im Namen zuweisen

                    Viel Glück!

                    Alex1808 1 Reply Last reply Reply Quote 0
                    • opossum
                      opossum last edited by opossum

                      Hallo,

                      ich habe es jetzt für den Tankerkönig hinbekommen, mehrere Spritsorten zu ziehen:

                      596ff67e-9669-474b-b464-fe26be1b7192-image.png

                      Sieht dann so aus:

                      a09f8b61-5a53-445f-9d30-0bd240d80bb7-image.png

                      Gruß
                      Egbert

                      I 1 Reply Last reply Reply Quote 0
                      • Alex1808
                        Alex1808 @frankjoke last edited by

                        @frankjoke
                        Super, hat funktioniert!
                        Danke!

                        Habe mittlereweile bereits mit Blockly gelöst.

                        Screenshot_1111.png

                        1 Reply Last reply Reply Quote 0
                        • I
                          intruder7 @opossum last edited by

                          @opossum Interessant jemand aus meiner Gegend hier zu sehen👍 ☺

                          opossum 1 Reply Last reply Reply Quote 0
                          • opossum
                            opossum @intruder7 last edited by

                            @intruder7 sagte in Neuer Adapter 'systeminfo' auf Git und npm:

                            @opossum Interessant jemand aus meiner Gegend hier zu sehen👍 ☺

                            Hallo,
                            bin östlich von Rostock zu hause. In der Nähe von Rövershagen.

                            Gruß
                            Egbert

                            I 1 Reply Last reply Reply Quote 0
                            • I
                              intruder7 @opossum last edited by

                              @opossum Ich auch. Sanitz ☺

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

                                Hallo, @intruder7,

                                da könnten wir uns ja mal austauschen?

                                Gruß
                                Egbert

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

                                  Ich verwende den Adapter um json zu parsen. Das funktioniert super, vielen Dank für den tollen Adapter.

                                  {
                                        "name": "Therme.[name/value]",
                                        "type": "web",
                                        "source": "http://192.168.178.8/JQ=6100,8009,8308,8310,8314,8323,8326,8331,8700,8703,8704,8744,8750,8830,8950,9009",
                                        "regexp": "[?(@.name, @.value)]",
                                        "conv": "json",
                                        "role": "value.temperature.level",
                                        "write": "",
                                        "sched": "*/5 * * * *",
                                        "id": {
                                          "pre": "Therme.",
                                          "post": "",
                                          "mid": "name/value",
                                          "name": "name",
                                          "value": "value"
                                        }
                                  

                                  Leider liefert die Quelle manchmal "---" statt einem Zahlenwert als value zurück.

                                  Kann ich irgendwie im jsonParse statement das "---" durch "0" ersetzen, sodass der Wert auch als number in sql gespeichert wird? convert steht mir bei json ja nicht mehr zur Verfügung.

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

                                    [?(@.name, @.value.replace('---', '0'))]
                                    

                                    funktioniert leider nicht, aber ich habe auch keine Ahnung was bei jsonPath alles erlaubt ist...

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

                                      Da der Adapter auch nicht damit klar kommt, wenn man der Wert einfach per javascript überschreibt, habe ich mich an das eigentlich Ziel gemacht, das schreiben des richtigen Wertes in die Datenbank. Falls wer es braucht, hier mein Script.

                                      Wie gesagt: von der Therme wird in best. Zuständen "---" übertragen, was meistens "Aus" bedeutet. Die möchte ich einfach nur mit "0" in die Datenbank schreiben.

                                      // zu überwachenden Datenpunkte 
                                      var list = ["systeminfo.0.Therme.Brennermodulation", "systeminfo.0.Therme.Drehzahl_Kesselpumpe", "systeminfo.0.Therme.Vorlaufsollwert_1"]
                                      // zu ersetzender Wert
                                      var replaceval = "---"
                                      // statt dessen in die Datenbank zu schreibender Wert
                                      var writeval = "0"
                                      
                                      // Funktion zum Schreiben in die Datenbank
                                      function onChange(dp) {
                                          //Abfrage der Datenbank ID
                                          sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="' + dp + '"', function (result) {
                                              if (result.error) {
                                                  console.error(result.error);
                                              } else {
                                                  //Zeitstempel
                                                  var timestamp = Date.now();
                                                  //Beispiel query: INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES(34, 1571141625162, 0.0, 0, 7, 0)
                                                  sendTo('sql.0', 'query', 'INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES(' + result.result[0].id + ', ' + timestamp + ', ' + writeval + ', 0, 7, 0)', function (result) {
                                                      if (result.error) {
                                                          console.error(result.error);
                                                      } else {
                                                      // Ergebnis anzeigen
                                                      //console.log('Rows: ' + JSON.stringify(result.result));
                                                      }
                                                  });
                                              }
                                          });
                                      }
                                      
                                      
                                      // Schleife zum Anlegen der subscriptions
                                      for (var i=0; i<list.length; i++) {
                                          // onchange Überwachung
                                          on({id: list[i], change: "any"}, function (obj) {
                                              var value = obj.state.val;
                                              var id = obj.id;
                                              //console.log('for_val + id: ' + value + ' ' + id);
                                              if (value == replaceval) {
                                                  // Schreibe ein Log
                                                  console.log('replace sql logging value "' + value + '" for "' + id + '" with "0"');
                                                  onChange(id);
                                              }
                                          });
                                      }
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • capitaenz
                                        capitaenz last edited by capitaenz

                                        Hat jemand eine Idee wie ich die Zeichen [""] weggefiltert bekomme, so das nur die Zahl übrig bleibt?

                                        Systeminfo1.JPG

                                        Systeminfo2.JPG

                                        VG
                                        Leif

                                        liv-in-sky 2 Replies Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @capitaenz last edited by

                                          @capitaenz bin mir nicht ganz sicher, aber ich denke das problem ist das komma - ein wert mit komma ist keine zahl

                                          evtl kommt der adpater durcheinander und scheibt deshalb ein json

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

                                            Hab mir jetzt so geholfen:
                                            Blockly2.JPG
                                            Schreibe mir den Wert dann in ein selbst angelegtes Objekt.
                                            Schöner wäre es natürlich, wenn der Adapter dies könnte, so wie der "Parser".
                                            Wollte aber einen Adapter los werden und das wurde jetzt der "Parser", weil dieser keine Zeitplanung für die einzelnen Aufgaben kennt.

                                            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

                                            958
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            systeminfo
                                            26
                                            73
                                            11220
                                            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