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.
    • L
      luder last edited by

      Hallo,

      gibt es eine Objekt wo ich den Status (online,offline) der verschiedenen Adapter abfragen kann?

      VG
      luder

      Thomas Braun David G. 2 Replies Last reply Reply Quote 0
      • 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

                                497
                                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