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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Neuer Adapter] LinkedDevices

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      e-s last edited by

      @Scrounger
      Jupp, läuft so wie es soll, Dankeschön.

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

        Version 1.0.1 sollte demnächst im latest sein

        Version 1.0.1

        • (Scrounger) adapter configuration: repair function added
        • (Scrounger) receive system messages added

        Es gibt jetzt einen Button in der Adapterkonfiguration mit dem Ihr automatisch nicht mehr existierende verlinkungen reparieren könnt. D.h. wenn das linkedObject eine parentId hat und zu dieser parentId auch ein Objekt existiert (vom richtigen typ), dann repariert diese Funktion automatisch die Verlinkung.
        Das ist z.B. hilfreich wenn ein Adapter seine Datenpunkte löscht und neu erstellt.

        Die Funktion ist als message (sendTo) ausgeführt, d.h. ihr könnt diese auch aus jedem javascript aufrufen.

        sendTo("linkeddevices.0", "autoRepair", null, function (result) {
                        if (!result.error || result.error.length === 0) {
                            log(_("Repair process completed successfully"));
                        } else {
                            log(_("Errors have occurred, please check log file"));
                        }
                    });
        

        Somit ist es z.B. möglich mit einem skript, einmal pro Tag zu prüfen ob evtl. Verlinkungen nicht mehr existieren und diese automatisch zu reparieren:

        let id = "linkeddevices.0.info.notlinkedObjects";
        
        // Jeden Tag um 18h prüfen
        schedule('0 18 * * *', checkLinks);
        
        function checkLinks() {
            let notLinkedObjectSize = getState(id).val;
        
            if (notLinkedObjectSize > 0) {
                  sendTo("linkeddevices.0", "autoRepair", null, function (result) {
                        if (!result.error || result.error.length === 0) {
                            log(_("Repair process completed successfully"));
                        } else {
                            log(_("Errors have occurred, please check log file"));
                        }
                    });
            }
        }
        
        1 Reply Last reply Reply Quote 2
        • C
          CruziX last edited by

          Hallo, ich verstehe leider nicht wie ich solche Linked Devices erstellen kann.
          Im Adapter steht über die Schaltfläche Einstellungen im Menü Objekt.
          Ich weiß nicht wo das sein sollte, könnte mir da bitte jemand helfen?

          sigi234 1 Reply Last reply Reply Quote 0
          • sigi234
            sigi234 Forum Testing Most Active @CruziX last edited by

            @ymicky sagte in [Neuer Adapter] LinkedDevices:

            Ich weiß nicht wo das sein sollte, könnte mir da bitte jemand helfen?

            Ganz Rechts das Schraubenschlüssel Symbol !

            1 Reply Last reply Reply Quote 0
            • X
              Xyolyp last edited by

              @Scrounger hast du mitbekommen, dass im js Controller 2.x eine alias Funktionalität enthalten sein soll? Ich würde mich freuen wenn deine gesammelten Infos und Erfahrungen dort direkt mit einfließen.

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

                @Xyolyp sagte:

                Infos und Erfahrungen dort direkt mit einfließen.

                Ich bin sicher, dass @apollon77 die Entwicklung des Adapters aufmerksam verfolgt hat und die dabei gewonnenen Erkenntnisse in die Alias-Funktionalität eingeflossen sind.

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

                  Version 1.1.0 ist demnächst im latest

                  1.1.0

                  • (Scrounger) option to merge linkedObject on adapter restart added
                  • (Scrounger) string to number conversion added
                  • (algar42) russian translation corrected
                  1 Reply Last reply Reply Quote 0
                  • C
                    CruziX @paul53 last edited by

                    @paul53 said in [Neuer Adapter] LinkedDevices:

                    @Xyolyp sagte:

                    Infos und Erfahrungen dort direkt mit einfließen.

                    Ich bin sicher, dass @apollon77 die Entwicklung des Adapters aufmerksam verfolgt hat und die dabei gewonnenen Erkenntnisse in die Alias-Funktionalität eingeflossen sind.

                    Wobei ich das etw umständlich finde ein Objekt zu erstellen und die RAW Daten zu ändern. Den Weg über die Einstellungen vom Objekt finde ich komfortabel. Würde mich an sich freuen, wenn das irgendwie auch in die Funktion mit alias reinkäme

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

                      @ymicky sagte:

                      Den Weg über die Einstellungen vom Objekt finde ich komfortabel.

                      Ja, diese komfortable Möglichkeit ist noch in Entwicklung (Adapter ioBroker.devices), wobei sich @Bluefox dabei einiges von @Scrounger abschauen könnte.
                      Der große Unterschied ist, dass ioBroker.linkeddevices alle Link-Parameter im Original-Datenpunkt speichert, während Alias den Original-Datenpunkt völlig unverändert lässt. Das Alias-Konzept halte ich daher für besser, allerdings fehlt noch der Adapter mit einem wirklich komfortablen Umgang damit. Wer etwas mit Javascript vertraut ist, kann bis zur Realsierung die Skript-Vorlage zur Erstellung von Alias-Datenpunkten nutzen.

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

                        @paul53 sagte in [Neuer Adapter] LinkedDevices:

                        Der große Unterschied ist, dass ioBroker.linkeddevices alle Link-Parameter im Original-Datenpunkt speichert, während Alias den Original-Datenpunkt völlig unverändert lässt.

                        Fast 😉
                        Die Link-Parameter werden sowohl im Orginal-Datenpunkt und im verlinkten Datenpunkt gespeichert.
                        Bringt den Vorteil, dass man in beide Richtungen die Verlinkung wieder herstelle kann.

                        1 Reply Last reply Reply Quote 0
                        • J
                          jack99n last edited by

                          Hallo,

                          Bei mir wirft der Adapter Fehler bei der Wandlung von String zu Nummer.

                          
                          linkeddevices.0	2019-12-14 13:27:30.008	error	at process._tickCallback (internal/process/next_tick.js:189:7)
                          linkeddevices.0	2019-12-14 13:27:30.008	error	at <anonymous>
                          linkeddevices.0	2019-12-14 13:27:30.008	error	at Linkeddevices.getConvertedValue (/opt/iobroker/node_modules/iobroker.linkeddevices/main.js:1653:40)
                          linkeddevices.0	2019-12-14 13:27:30.008	error	(27105) [createLinkedObject] stack: TypeError: value.replace is not a function
                          linkeddevices.0	2019-12-14 13:27:30.008	error	(27105) [createLinkedObject] parentObject 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set', linkedObject 'linkeddevices.0.LED-Wohnzimmer.set' error: value.replace is not a function
                          linkeddevices.0	2019-12-14 13:27:29.990	info	(27105) [onObjectChange] parentObject 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set' properties changed
                          linkeddevices.0	2019-12-14 13:26:00.523	info	(27105) [onObjectChange] count of active linkedObjects: 1
                          linkeddevices.0	2019-12-14 13:26:00.522	info	(27105) [createLinkedObject] linked object 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set' merged to 'linkeddevices.0.LED-Wohnzimmer.set'
                          linkeddevices.0	2019-12-14 13:26:00.453	info	(27105) [onObjectChange] parentObject 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set' properties changed
                          linkeddevices.0	2019-12-14 13:23:32.087	info	(27105) [initialObjects] finished
                          linkeddevices.0	2019-12-14 13:23:32.081	info	(27105) [createAllLinkedObjects] count of active linkedObjects: 1
                          linkeddevices.0	2019-12-14 13:23:32.067	error	at process._tickCallback (internal/process/next_tick.js:189:7)
                          linkeddevices.0	2019-12-14 13:23:32.067	error	at <anonymous>
                          linkeddevices.0	2019-12-14 13:23:32.067	error	at Linkeddevices.getConvertedValue (/opt/iobroker/node_modules/iobroker.linkeddevices/main.js:1653:40)
                          linkeddevices.0	2019-12-14 13:23:32.067	error	(27105) [createLinkedObject] stack: TypeError: value.replace is not a function
                          linkeddevices.0	2019-12-14 13:23:32.065	error	(27105) [createLinkedObject] parentObject 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set', linkedObject 'linkeddevices.0.LED-Wohnzimmer.set' error: value.replace is not a function
                          linkeddevices.0	2019-12-14 13:23:31.486	info	(27105) [initialObjects] started...
                          linkeddevices.0	2019-12-14 13:23:31.455	info	(27105) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.linkeddevices, node: v8.16.2
                          
                          
                          Scrounger 1 Reply Last reply Reply Quote 0
                          • Scrounger
                            Scrounger Developer @jack99n last edited by Scrounger

                            @jack99n
                            Poste Mal bitte die raw Daten von 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set'

                            1 Reply Last reply Reply Quote 0
                            • J
                              jack99n last edited by jack99n

                              Sorry das ich es als Bild eingestellt habe bekomme es mit dem iPad nicht markiert 🤦‍♂️

                              0A631E15-4250-46E4-B4B5-271A173E0B56.jpeg

                              74A87931-1E87-4E03-8CAA-8E39D1D573F4.jpeg

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

                                @jack99n
                                Damit kann ich nix anfangen. Vorallem weil der Screenshot genau da aufhört, wo die Daten kommen, die wichtig zur Fehlerbehbung sind.
                                Außerdem will ich per copy paste deinen Datenpunkt testen.

                                Welchen Werte hat der Datenpunkt?

                                Edit: Welche nodejs Version verwendest du?

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jack99n last edited by

                                  So jetzt vom PC aus.

                                  {
                                    "common": {
                                      "name": "/h801/switch/ESPURNA_318C6C/brightness/set",
                                      "write": true,
                                      "read": true,
                                      "role": "variable",
                                      "desc": "mqtt server variable",
                                      "type": "string",
                                      "custom": {
                                        "linkeddevices.0": {
                                          "enabled": true,
                                          "number_unit": "",
                                          "linkedId": "Wohnzimmer-LED.set",
                                          "name": "",
                                          "role": "",
                                          "mergeSettingsOnRestart": false,
                                          "expertSettings": true,
                                          "number_convertTo": "",
                                          "number_maxDecimal": "",
                                          "number_min": "",
                                          "number_max": "",
                                          "number_calculation": "",
                                          "number_calculation_readOnly": "",
                                          "number_to_boolean_condition": "",
                                          "number_to_boolean_value_true": "",
                                          "number_to_boolean_value_false": "",
                                          "number_to_string_condition": "",
                                          "number_to_duration_convert_seconds": "",
                                          "number_to_duration_format": "",
                                          "number_to_datetime_convert_seconds": "",
                                          "number_to_datetime_format": "",
                                          "number_to_multi_condition": "",
                                          "boolean_convertTo": "",
                                          "boolean_to_string_value_true": "",
                                          "boolean_to_string_value_false": "",
                                          "string_convertTo": "number",
                                          "string_prefix": "",
                                          "string_suffix": "",
                                          "string_to_boolean_value_true": "",
                                          "string_to_boolean_value_false": "",
                                          "string_to_number_unit": "",
                                          "string_to_number_maxDecimal": "",
                                          "string_to_number_calculation": "",
                                          "string_to_number_calculation_readOnly": "",
                                          "string_to_duration_format": "",
                                          "string_to_datetime_parser": "",
                                          "string_to_datetime_format": ""
                                        }
                                      }
                                    },
                                    "native": {
                                      "topic": "/h801/switch/ESPURNA_318C6C/brightness/set"
                                    },
                                    "type": "state",
                                    "from": "system.adapter.mqtt.0",
                                    "ts": 1558882360477,
                                    "_id": "mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "user": "system.user.admin"
                                  }
                                  
                                  Scrounger 1 Reply Last reply Reply Quote 0
                                  • Scrounger
                                    Scrounger Developer @jack99n last edited by Scrounger

                                    @jack99n

                                    Welchen Wert hat der Datenpunkt?
                                    Welche nodejs Version?

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      jack99n last edited by jack99n

                                      Ich hoffe du meinst mit Wert was der Orginal Datenpunkt hat? 0 bis 255

                                      v 8.16.2

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

                                        @jack99n

                                        Habs glaub gefunden, teste bitte den aktuellen master von github.

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          jack99n last edited by

                                          Hat sich leider nicht geändert.

                                          
                                          
                                          linkeddevices.0	2019-12-15 18:33:55.371	info	(17341) [createAllLinkedObjects] count of active linkedObjects: 1
                                          linkeddevices.0	2019-12-15 18:33:55.356	error	at process._tickCallback (internal/process/next_tick.js:189:7)
                                          linkeddevices.0	2019-12-15 18:33:55.356	error	at <anonymous>
                                          linkeddevices.0	2019-12-15 18:33:55.356	error	at Linkeddevices.getConvertedValue (/opt/iobroker/node_modules/iobroker.linkeddevices/main.js:1653:20)
                                          linkeddevices.0	2019-12-15 18:33:55.356	error	(17341) [createLinkedObject] stack: TypeError: value.replace is not a function
                                          linkeddevices.0	2019-12-15 18:33:55.354	error	(17341) [createLinkedObject] parentObject 'mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set', linkedObject 'linkeddevices.0.LED-Level.set' error: value.replace is not a function
                                          linkeddevices.0	2019-12-15 18:33:54.651	info	(17341) [initialObjects] started...
                                          linkeddevices.0	2019-12-15 18:33:54.626	info	(17341) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.linkeddevices, node: v8.16.2
                                          
                                          
                                          Scrounger 1 Reply Last reply Reply Quote 0
                                          • Scrounger
                                            Scrounger Developer @jack99n last edited by

                                            @jack99n

                                            stell den adapter mal bitte auf debug modus, starte ihn neu und poste das gesamte log.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            999
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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