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.
    • Thomas Braun
      Thomas Braun Most Active @luder last edited by Thomas Braun

      @luder

      iobroker list instances
      

      Edit: Achso, als Objekt...

      1 Reply Last reply Reply Quote 0
      • 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

                              516
                              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