Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [Neuer Adapter] LinkedDevices

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Neuer Adapter] LinkedDevices

    This topic has been deleted. Only users with topic management privileges can see it.
    • Scrounger
      Scrounger Developer last edited by Scrounger

      Hallo zusammen,

      ich möchte euch meinen neuen Adapter an dem ich aktuell arbeite vorstellen - LinkedDevices.
      Die Idee und insperation kommen aus dem Virtual Devices Skript von @Pman.

      https://github.com/Scrounger/ioBroker.linkeddevices

      Funktionsweise:
      Ihr könnt euch verlinkte Objekte (Datenpunkte) für all eure verwendeten Objekte (Datenpunkte) anlegen und dafür individuelle IDs vergeben, um Euch eine Struktur anzulegen, wie Ihr sie gerne haben möchtet.
      Vorteil ist, dass es nur noch einen Ort gibt, wo alle Objekte die Ihr im vis oder Skripten verwendet, definert sind. Weiterer Vorteil ist, wenn ihr mal die Hardware tauschen müsst, dann müsst ihr nur die verlinkten Objekte auf die neue Hardware anpassen und die Skripte und vis funktionieren sofort wieder.
      Später sollen noch Funktionen wie z.B. umrechnungen etc. dazu kommen, wie es im Virtual Devices Skript auch möglich ist

      Aktuell findet ihr im Repository einen Arbeitsstand (Alpha version!), deshalb bitte nicht im produktiv einsetzen, weil ich aktuell daran noch arbeite.

      Hier mal ein Beispiel wie eine selbstdefinierte Struktur aussehen kann:

      Bild Text

      paypal

      paul53 sigi234 A E D 10 Replies Last reply Reply Quote 8
      • BBTown
        BBTown last edited by

        Wo wäre der Bezug zu dem tatsächlichen Objekt/Datenpunkt?
        bzw. wo findet das "Mapping" zum Original-Datenpunkt statt?

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

          Wie kann man den Adapter testen?
          Gibt es einen GIT-Hub Link?

          paul53 1 Reply Last reply Reply Quote 0
          • Scrounger
            Scrounger Developer last edited by Scrounger

            ups hab den github link vergessen -> 1. Post aktualisert 😏

            @BBTown sagte in [Neuer Adapter] LinkedDevices:

            Wo wäre der Bezug zu dem tatsächlichen Objekt/Datenpunkt?
            bzw. wo findet das "Mapping" zum Original-Datenpunkt statt?!

            Das macht der Adpater.
            Das ParentObjekt (= das zu verlinkende Objekt) sieht dann so aus:
            parentObject.png

            und das verlinkte Objekt sieht dann so aus:
            linkedObject.png

            'state' Änderungen werden vom Adapter überwacht und dann beiden Objekte zugewiesen. D.h. ändere ich den 'state' beim verlinkten Objekt, ändert sich der 'state' beim parentObjekt. Und natürlich umgekehrt.

            E 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @BBTown last edited by

              @BBTown sagte):

              Gibt es einen GIT-Hub Link?

              Link

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Scrounger last edited by

                @Scrounger sagte:

                Funktionsweise:

                So etwas Ähnliches wurde schon einmal mit dem ioBroker.wrapper (ursprünglich ioBroker.home) versucht; war allerdings schlecht gemacht.
                Außerdem ist geplant, in js-controller 2.x einen Alias zu Datenpunkten zu implementieren, mit dem das Gleiche erreicht werden soll. Es kann wohl aber noch eine Weile dauern ?

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Scrounger last edited by paul53

                  @Scrounger Habe den Adapter installiert und es mit einem Datenpunkt AUTO_MODE getestet: Eine Änderung des Wertes im verlinkten Datenpunkt (Bad.HKT.Auto_Mode) wird nicht an den Original-Datenpunkt übertragen.

                  linkdevices_AUTO_MODE.JPG

                  {
                    "type": "state",
                    "common": {
                      "name": "Bad HKT Auto-Mode",
                      "role": "",
                      "type": "boolean",
                      "desc": "Created by linkeddevices",
                      "read": false,
                      "write": true,
                      "def": false,
                      "custom": {
                        "linkeddevices.0": {
                          "enabled": true,
                          "parentId": "hm-rpc.0.NEQ1234567.1.AUTO_MODE",
                          "isLinked": true
                        }
                      },
                      "icon": "linkeddevices_small.png"
                    },
                    "from": "system.adapter.linkeddevices.0",
                    "user": "system.user.admin",
                    "ts": 1557238270037,
                    "_id": "linkeddevices.0.Bad.HKT.Auto_Mode",
                    "acl": {
                      "object": 1636,
                      "state": 1636,
                      "owner": "system.user.admin",
                      "ownerGroup": "system.group.administrator"
                    },
                    "native": {}
                  }
                  
                  BBTown paul53 2 Replies Last reply Reply Quote 0
                  • BBTown
                    BBTown @paul53 last edited by BBTown

                    @paul53 steht "read" auf "false" ?
                    kann das die Ursache sein?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @BBTown last edited by

                      @BBTown sagte:

                      steht "read" auf "false" ?

                      Ja, AUTO_MODE ist "write only".

                      1 Reply Last reply Reply Quote 0
                      • Scrounger
                        Scrounger Developer last edited by

                        Node.js: v8.16.0?
                        NPM: 6.4.1?

                        Bitte den Adpater auf debug stellen und log posten.

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Scrounger last edited by paul53

                          @Scrounger sagte:

                          Adpater auf debug stellen und log posten.

                          Da kommt nur

                          linkeddevices.0	2019-05-07 16:29:09.707	info	state linkeddevices.0.Bad.HKT.Auto_Mode changed: false (ack = false)
                          

                          @Scrounger sagte in [Neuer Adapter] LinkedDevices:

                          Node.js: v8.16.0?

                          Node v8.15.1

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Scrounger last edited by

                            @Scrounger sagte in [Neuer Adapter] LinkedDevices:
                            LinkedDevices ist übrigens irreführend, da nur Datenpunkte verlinkt werden.

                            1 Reply Last reply Reply Quote 0
                            • Scrounger
                              Scrounger Developer last edited by

                              Find ich nicht, da ich mir aus mehreren datenpunkten ein device basteln kann 😉

                              Stell den Adpater auf debug, starte ihn neu und poste das log.

                              paul53 2 Replies Last reply Reply Quote 0
                              • paul53
                                paul53 @Scrounger last edited by

                                @Scrounger sagte in [Neuer Adapter] LinkedDevices:

                                auf debug, starte ihn neu und poste das log.

                                linkeddevices.0	2019-05-07 16:48:01.066	debug	system.adapter.admin.1: logging true
                                linkeddevices.0	2019-05-07 16:47:58.873	debug	system.adapter.admin.1: logging false
                                linkeddevices.0	2019-05-07 16:47:56.487	info	[initialObjects] finished
                                linkeddevices.0	2019-05-07 16:47:56.485	debug	[initialObjects] 'dicLinkedObjectsStatus' items count: 1
                                linkeddevices.0	2019-05-07 16:47:56.485	debug	[createAllLinkedObjects] active linkedObjects {"hm-rpc.0.NEQ1234567.1.AUTO_MODE":"linkeddevices.0.Bad.HKT.Auto_Mode"}
                                linkeddevices.0	2019-05-07 16:47:56.485	info	[createAllLinkedObjects] count of active linkedObjects: 1
                                linkeddevices.0	2019-05-07 16:47:56.485	debug	[createAllLinkedObjects] 'dicLinkedObjectsStatus' items count: 1
                                linkeddevices.0	2019-05-07 16:47:56.481	debug	[createLinkedObject] linkedObject 'hm-rpc.0.NEQ1234567.1.AUTO_MODE' to 'linkeddevices.0.Bad.HKT.Auto_Mode'
                                linkeddevices.0	2019-05-07 16:47:56.416	debug	[createLinkedObject] keep custom settings '{"linkeddevices.0":{"enabled":true,"parentId":"hm-rpc.0.NEQ1234567.1.AUTO_MODE","isLinked":false}}' for linkedObject 'linkeddevices.0.Bad.HKT.Auto_Mode'
                                linkeddevices.0	2019-05-07 16:47:56.415	debug	[createLinkedObject] using custom name 'Bad HKT Auto-Mode' for: 'linkeddevices.0.Bad.HKT.Auto_Mode' (parentObj: 'hm-rpc.0.NEQ1234567.1.AUTO_MODE')
                                linkeddevices.0	2019-05-07 16:47:56.314	debug	[resetAllLinkedObjectsStatus] 'dicLinkedObjectsStatus' items count: 1
                                linkeddevices.0	2019-05-07 16:47:56.314	debug	[resetLinkedObjectStatus] 'isLinked' status reseted for 'linkeddevices.0.Bad.HKT.Auto_Mode'
                                linkeddevices.0	2019-05-07 16:47:56.293	info	[initialObjects] started...
                                linkeddevices.0	2019-05-07 16:47:56.292	debug	[onReady] notDeleteDeadLinkedObjects: 'true'
                                linkeddevices.0	2019-05-07 16:47:56.245	info	starting. Version 0.0.1 in C:/Program Files/ioBroker/node_modules/iobroker.linkeddevices, node: v8.15.1
                                linkeddevices.0	2019-05-07 16:47:56.162	debug	statesDB connected
                                linkeddevices.0	2019-05-07 16:47:56.142	debug	objectDB connected
                                host.FP-NBA-W10	2019-05-07 16:47:55.490	info	instance system.adapter.linkeddevices.0 started with pid 7560
                                host.FP-NBA-W10	2019-05-07 16:47:52.933	info	instance system.adapter.linkeddevices.0 terminated with code null ()
                                host.FP-NBA-W10	2019-05-07 16:47:52.933	warn	instance system.adapter.linkeddevices.0 terminated due to SIGTERM
                                host.FP-NBA-W10	2019-05-07 16:47:52.916	info	stopInstance system.adapter.linkeddevices.0 killing pid 12892
                                host.FP-NBA-W10	2019-05-07 16:47:52.916	info	stopInstance system.adapter.linkeddevices.0
                                
                                Scrounger 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Scrounger last edited by paul53

                                  @Scrounger sagte:

                                  da ich mir aus mehreren datenpunkten ein device basteln kann

                                  Eine Ordnerstruktur ist kein Device. LinkedStates wäre passender.

                                  1 Reply Last reply Reply Quote 0
                                  • Scrounger
                                    Scrounger Developer @paul53 last edited by

                                    @paul53 sagte in [Neuer Adapter] LinkedDevices:

                                    @Scrounger sagte in [Neuer Adapter] LinkedDevices:

                                    auf debug, starte ihn neu und poste das log.

                                    Log sieht gut aus. Hab des bei mir nachgestellt und funktioniert wie es soll.
                                    Poste mal noch bitte das parentObjekt (RAW Daten), also NEQ12xxx.AUTO_MODE.

                                    Musst vlt. doch auf 8.16. updaten.

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @paul53 last edited by paul53

                                      @paul53 sagte:

                                      Eine Änderung des Wertes im verlinkten Datenpunkt (Bad.HKT.Auto_Mode) wird nicht an den Original-Datenpunkt übertragen.

                                      Habe noch einen zweiten Datenpunkt verlinkt und jetzt werden die Werte übertragen ☺

                                      BBTown paul53 2 Replies Last reply Reply Quote 0
                                      • BBTown
                                        BBTown @paul53 last edited by BBTown

                                        @paul53 ist dieser weitere Datenpunkt auch "read = false"?
                                        vielleicht hängt das doch damit zusammen?

                                        @Scrounger oder war dein Test mit dem gleichen/gleichartigen Datenpunkt?

                                        Scrounger 1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @paul53 last edited by paul53

                                          @paul53 sagte:

                                          jetzt werden die Werte übertragen

                                          Habe noch einen dritten DP verlinkt: Auf dem erfolgt wieder keine Wertübertragung, sondern nur mit den beiden "älteren". Auch ein Neustart der Instanz ändert daran nichts, außer dass während des Neustarts eine Wertübertragung erfolgt.

                                          @BBTown sagte:

                                          "read = false"?
                                          vielleicht hängt das doch damit zusammen?

                                          Nein, es funktioniert in beide Richtungen (mit 2 verlinkten Datenpunkten).

                                          EDIT: Mit einem 4. verlinkten DP funktioniert es auch nicht, nur bei den beiden "ältesten".

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

                                            Nach einem ioBroker-Neustart funktioniert die Wertübertragung mit allen 4 verlinkten Datenpunkten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            877
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter
                                            68
                                            464
                                            78246
                                            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