Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. wo kann ich Abfragen welche Adapter aktuell laufen ?

    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

    wo kann ich Abfragen welche Adapter aktuell laufen ?

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

      Ja das gibts - ich rufe das mit NodeRed ab. Leider kannst Du nicht immer direkt darauf zugreifen - ich nutze nun Aliase - dann hast Du aber auch die Möglichkeit das selbst zu definieren. Zum Beispiel läuft ein SQL Adapter zum Beispiel, wird bei mir aber erst angezeigt - dass alles korrekt ist, wenn eine Verbindung zur Datenbank besteht.

      Die meisten Alias gehen auf folgende Originalpunkte zurück.

      090720ae-2945-442d-b1d5-b43d2db128c8-image.png

      Für jeden Adapter kannst Du mal als grobes Werkzeug den alive Datenpunkt verwenden, der unter jedem Adapter zu finden ist.

      Also Du kannst mal versuchen ob das mit JS direkt geht, wenn Du folgenden Pfad angibst.

      system.adapter.*.alive
      

      Ich hab mir wie gesagt unter alias eine eigene Struktur gebildet, um dann selbst zu entscheiden, welchen Datenpunkt ich für healthy nehme.

      91b09536-22ff-433c-b2c1-e58b00e0a3ca-image.png

      Du siehst das der SQL Adapter nicht auf den sonst üblichen alive DP verweist.

      L 1 Reply Last reply Reply Quote 0
      • L
        luder @mickym last edited by

        @mickym Danke.

        Das muss ich mir mal ansehen, scheint ja leider nicht ganz so trivial zu sein.

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @luder last edited by mickym

          @luder Nein ich sehe gerade es funktioniert direkt mit dem alive Datenpunkt.

          c5819886-12f1-461b-94a6-7fb099db459d-image.png

          Also mit dieser Subscription bekommst Du den Status:

          system.adapter.*.alive
          

          In NodeRed geht das dann leicht zu sammeln und in einen Datenpunkt zu schreiben:

          36ed448c-f49f-4b15-9bd2-96b49350786c-image.png

          Das ging eine Zeitlang nicht - scheint aber nun zu gehen - das Objekt kann man dann als ein JSON wegschreiben:

          {
            "yahka.0": true,
            "sql.0": true,
            "simple-api.0": true,
            "mqtt.1": true,
            "mercedesme.0": true,
            "socketio.0": true,
            "javascript.0": true,
            "ping.0": true,
            "tuya.0": true,
            "pi-hole.0": true,
            "sourceanalytix.0": true,
            "node-red.0": true,
            "info.0": true,
            "web.0": true,
            "admin.0": true,
            "mqtt.2": true,
            "backitup.0": true,
            "node-red.1": true,
            "linux-control.0": true,
            "tr-064.0": true
          }
          
          L 1 Reply Last reply Reply Quote 0
          • L
            luder @mickym last edited by

            @mickym sagte in wo kann ich Abfragen welche Adapter aktuell laufen ?:

            Danke für deine Mühe, aber bei nodered stehe ich erst mal auf dem Schauch.
            Die Bausteine msg.topic und join finde ich bei mir garnicht. Da müsste ich mich dann erst mal einarbeiten. Weis auch nicht wo ich deinen Beispieltext einbinden müsste.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @luder last edited by mickym

              @luder Na Ich mach Dir den Flow fertig - dann musst den nur importieren und er schreibt Dir den Adapterstatus in einen Datenpunkt.

              So Du musst nur den Flow hier importieren:

              [
                 {
                     "id": "c1b5180b291ebe18",
                     "type": "ioBroker in",
                     "z": "289f539dcc33814e",
                     "name": "admin.0 alive",
                     "topic": "system.adapter.*.alive",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "outFormat": "ioBroker",
                     "x": 350,
                     "y": 4520,
                     "wires": [
                         [
                             "3d081b580c8ac257"
                         ]
                     ]
                 },
                 {
                     "id": "3d081b580c8ac257",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "change",
                             "p": "topic",
                             "pt": "msg",
                             "from": "system\\.adapter\\.(.*)\\.alive$",
                             "fromt": "re",
                             "to": "$1",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 590,
                     "y": 4520,
                     "wires": [
                         [
                             "a9a45c239eed0140"
                         ]
                     ]
                 },
                 {
                     "id": "a9a45c239eed0140",
                     "type": "join",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "mode": "custom",
                     "build": "object",
                     "property": "payload",
                     "propertyType": "msg",
                     "key": "topic",
                     "joiner": "\\n",
                     "joinerType": "str",
                     "accumulate": true,
                     "timeout": "",
                     "count": "1",
                     "reduceRight": false,
                     "reduceExp": "",
                     "reduceInit": "",
                     "reduceInitType": "",
                     "reduceFixup": "",
                     "x": 770,
                     "y": 4520,
                     "wires": [
                         [
                             "dbbe7d7dd275a34a"
                         ]
                     ]
                 },
                 {
                     "id": "dbbe7d7dd275a34a",
                     "type": "json",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "property": "payload",
                     "action": "",
                     "pretty": false,
                     "x": 910,
                     "y": 4520,
                     "wires": [
                         [
                             "e0d4bc649cd336b8"
                         ]
                     ]
                 },
                 {
                     "id": "e0d4bc649cd336b8",
                     "type": "ioBroker out",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "topic": "0_userdata.0.adapter_alive",
                     "ack": "true",
                     "autoCreate": "false",
                     "stateName": "",
                     "role": "",
                     "payloadType": "",
                     "readonly": "",
                     "stateUnit": "",
                     "stateMin": "",
                     "stateMax": "",
                     "x": 1120,
                     "y": 4520,
                     "wires": []
                 }
              ]
              

              und den Datenpunkt unter 0_userdata.0.adapter_alive erstellen.

              Dann wird Dir dort der Status als JSON weggeschrieben: 8819a371-540c-464e-a0e3-768b50c1c47d-image.png

              Den kannst dann mit Deiner Logikmaschine wieder analysieren. Ich kann den Flow aber auch vervollständigen, dass in einem Datenpunkt false rein geschrieben wird, wenn ein Adapter nicht läuft.

              Wenn Du nicht weisst wie Du den Flow importierst, dann einfach den Code in die Zwischenablage kopieren:
              Auf Import
              08a099e9-250a-4be4-8b44-27eb946d6d35-image.png

              Den Inhalt der Zwischenablage hier reinkopieren
              2296241f-3a5a-4319-b552-65bc39937eae-image.png
              und dann auf Deploy und übernehmen. Wie gesagt vorher noch den Datenpunkt unter 0_userdata.0 anlegen.

              Ich schau mal, ob ich es mit JS noch hinbekomme - aber das tut im Moment nicht. 😉

              L 1 Reply Last reply Reply Quote 0
              • L
                luder @mickym last edited by

                @mickym Vielen Dank, Du bist ja heute mein Weihnachtsmann

                Vom Prinzip läuft es schon. Das steht jetz alles in diesem Json File.
                Könnte man das ggf. auch noch so machen, das es direkt in einem entsprechenden Datenpunkt landet (wie Du ja oben schon angedeutet hast).
                Die Datenpunkte müsste ich dann wahrscheinlich entsprechend erstellen.

                Eine blöde Frage noch, warum tauchen denn diese Objekte nicht direkt im iobroker unter Objekte auf?

                mickym 2 Replies Last reply Reply Quote 0
                • mickym
                  mickym Most Active @luder last edited by mickym

                  @luder Klar kann ich machen - aber dann hast Du ja nichts anderes als Du jetzt schon mit dem alive Datenpunkt hast. Ich kann Dir auch alles in einzelne Datenpunkte schreiben lassen, aber was für einen Gewinn hättest Du davon? Dann kannst Du doch gleich die Datenpunkte direkt abfragen, oder?

                  1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @luder last edited by

                    @luder sagte in wo kann ich Abfragen welche Adapter aktuell laufen ?:

                    Eine blöde Frage noch, warum tauchen denn diese Objekte nicht direkt im iobroker unter Objekte auf?

                    Doch mach mal den Expertenmodus an:

                    14328035-b8ce-48b6-8280-9e56e9a674b7-image.png

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @mickym last edited by mickym

                      So mit JS habe ich zumindest nun die subscription hinbekommen. Das spukt Dir den Adapterstatus nun aus den subscriptions aus:

                      on({id:/system\.adapter\..*\.alive/,
                       change:'any'}, function (obj) {
                        var value = obj.state.val;
                        console.log(obj.id);
                        console.log(value);
                      });
                      

                      Also wie gesagt einzelne Datenpunkte hast Du ja bereits.

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        luder @mickym last edited by

                        @mickym Vielen Dank, jetzt habe ich alles zusammen und geht so wie ich es mit vorgstellt habe und wieder was dazu gelernt.

                        Wünsche Dir noch einen schöne 2ten Weihnachstag.

                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active last edited by mickym

                          So der Vollständigkeit halber - hier alles in JS, was ich vorher über den NodeRed Flow gemacht habe.

                          var adapters = {};
                          
                          on({id:/system\.adapter\..*\.alive/,
                           change:'any'}, function (obj) {
                            var value = obj.state.val;
                            var key = obj.id.replace(/system\.adapter\.(.*)\.alive$/,'$1');
                            adapters[key] = value;
                            setState('0_userdata.0.adapter_alive', JSON.stringify(adapters), true);
                            // console.log(adapters);
                          });
                          

                          schreibt wie gesagt einen JSON von allen Adapterstatus in einen Datenpunkt:

                          {
                            "yahka.0": true,
                            "sql.0": true,
                            "simple-api.0": true,
                            "mqtt.1": true,
                            "mercedesme.0": true,
                            "socketio.0": true,
                            "javascript.0": true,
                            "ping.0": true,
                            "tuya.0": true,
                            "pi-hole.0": true,
                            "sourceanalytix.0": true,
                            "node-red.0": true,
                            "info.0": true,
                            "web.0": true,
                            "admin.0": true,
                            "mqtt.2": true,
                            "backitup.0": true,
                            "node-red.1": true,
                            "linux-control.0": true,
                            "tr-064.0": true
                          }
                          
                          1 Reply Last reply Reply Quote 0
                          • David G.
                            David G. @luder last edited by

                            @luder

                            Schau mal in meinen Signatur.
                            Da verlinke ich zu ein paar Tabellen von mir.

                            Da ist auch eine für Adapter bei.
                            Sollte eigentlich in jede Visualisierung einzubinden sein.

                            Dann hat man es bei Bedarf direkt schön vor sich.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            426
                            Online

                            31.9k
                            Users

                            80.3k
                            Topics

                            1.3m
                            Posts

                            4
                            14
                            426
                            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