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.
    • 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
                          • liv-in-sky
                            liv-in-sky @capitaenz last edited by liv-in-sky

                            @capitaenz

                            leider checke ich nicht wirklich, wie das hier funktioniert aber ich konnte den wert ohne klammern anzeigen

                            obwohl die ein toller adapter ist, gibt es echt wenig einträge im forum dafür

                            meine lösung - damit kann man string in vis anzeigen

                            • zuerst den datenpunkt löschen
                            • dann folgendes eintragen

                            Image 6.png

                            lösung ist dann

                            Image 5.png

                            ohne Einheit einfach @+"" schreiben

                            wie gesagt: ich weiß nicht, was ich da mache aber ich brauche das für eine andere webseite - eigentlich habe ich gehofft, ich könnte sowas wie @.replace(",",".") schreiben - da kommt aber ein warning im log

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

                              @liv-in-sky said in Neuer Adapter 'systeminfo' auf Git und npm:

                              @+""

                              Wie kommt man denn darauf? Super, funktioniert! Danke! 😀

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

                                Hallo mitsammen!

                                Habe gerade bemerkt dass ihr bei dem Adapter heftig am helfen seid.

                                Bin jetzt wieder online und habe für den Adapter einen Erneuerungsplan der allerdings auch einen neuen Adapternamen verwenden wird da eine neue Konfig verwendet werden muss.

                                Der Grund ist dass ich auf eine neue Adapterplatform aufbauen muss um auch die neuen js-controller 3.1 und 3.2 zu verarbeiten. Ein zweiter Grund ist dass ich neue Funktionen einführen musste um z.B. Daten von meiner Wetterstation zu bekommen. Ich habe dazu einen kleinen Server in den Adapter eingebaut der ihm z.B. eine OpenWeather-Datenablage vorgaukeln kann womit man die Daten seiner Wetterstation anstatt bei Openweather auf ioBroker speichert!

                                Allerdings kann man das auch für andere Zwecke verwenden da man damit auf irgendwelchen Systemen einfach ein http get machen kann um Daten abzulegen, ohne über den Umweg MQTT gehen zu müssen. Das kann man dann auch in Rechnern per script leicht einbauen!

                                Egal, die bisherigen Funktionen gedenke ich etwas flexibler und genereller zu gestalten, d.h. ihr könnt dann mindestens so viel aber meistens noch einfacher/besser zum Ziel gelangen.

                                LG Frank!

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @frankjoke last edited by

                                  @frankjoke danke für die info - dachte schon der adapter wird nicht mehr gepflegt

                                  hast du das beispiel 2-3 posts mal angesehen - gibt es eine bessere lösung, wie ich sie gemacht hatte - der rückgabewert ist ja mit komma und wir wollten eine zahl (mit punkt) machen - kann man irgendwie den replace befehl nutzen und den wert verwandeln, sodass das ergebnis eine zahl wird

                                  frankjoke 1 Reply Last reply Reply Quote 0
                                  • frankjoke
                                    frankjoke @liv-in-sky last edited by

                                    @liv-in-sky

                                    Du machst sozusagen ein komplettes string daraus, wenn der Text nie Punkte . enthält könnte man auch
                                    Number(@.replace(",",".")) aber da darf dann nur ein "," und kein "." in den strings sein.

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @frankjoke last edited by

                                      @frankjoke sorry, wenn ich nerve aber

                                      wo muss das rein in Convert ? - dann kommt ein fehler im log

                                      20221) convert 'number(@.replace(",","."))' for item radio failed with: SyntaxError: eval: number is not defined: number(@.replace(",",".")) on 0,103 with undefined
                                      

                                      Image 7.png

                                      wenn du tatsächlich weiter entwickelst, dann bitte etwas mehr beschreibung - du hast da echt was cooles entwickelt, aber es erschließt sich mir nicht, wie genau das funktioniert - bisher weiß ich nur, jsonpath sollte man wohl näher ansehen, um das ganze zu verstehen

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

                                        @frankjoke
                                        ich muss mich @liv-in-sky anschließen.
                                        Bekomme den Wert auch nicht in eine Zahl gewandelt.
                                        Wir wollen deine Zeit nicht stehlen, aber hast du noch einen Tipp, oder sollen wir einfach die Füße stillhalten und auf den neuen Adapter warten?

                                        VG
                                        Leif

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          Tottbeck @capitaenz last edited by

                                          Hallo,
                                          ich habe schon länger den SystemInfo-Adapter 0.3.1 am laufen. Vorrangig benutzte ich den um die GPIO Port anzusteuern. Jetzt war der Raspi3 plötzlich ziemlich träge und da ist mir im Objekte-View aufgefallen, dass die SystemInfo unter SysteInfo.0/System.Network.Connections tausende von Einträgen erzeugt hat und ständig aktualisiert.
                                          Alles nach der Schema tcp: 192.xx.xx.xx:yyyyy, also die IP des Raspi mit durchlaufenden Portbezeichnungen.
                                          Wo kommt das her ? Habe die Zeile aus der Config erstmal entfernt.

                                          Die Einstellung habe ich nie verändert:
                                          Name(s): System.Network.Connections.[name/value]
                                          RegEx: [*][!(@.localaddress == @.peeraddress ? null : {name:${@.protocol}:${@.localaddress.replace(/\./g,'_')}:${@.localport}, value:${@.state}:${@.peeraddress}:${@.peerport}})]
                                          Schedule: *:/1

                                          Da die Zeile per Default da ist könnte die ggf ja auch bei anderen stören.

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

                                            Hallo,

                                            ich möchte den systeminfo Adapter gerne verwenden, um ein JSON auszulesen.
                                            Leider bekomme ich das nicht hin.

                                            Auslesen My-PV AC ELWA 2

                                            Hat evtl. hier jemand einen Tipp für mich?

                                            Danke und Gruß

                                            Hartmut

                                            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

                                            545
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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