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.
    • 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
                                          • J
                                            jack99n last edited by

                                            
                                            		
                                            linkeddevices.0	2019-12-15 19:31:43.201	info	(19155) [initialObjects] finished
                                            linkeddevices.0	2019-12-15 19:31:43.197	debug	(19155) [initialObjects] 'dicLinkedObjectsStatus' items count: 1
                                            linkeddevices.0	2019-12-15 19:31:43.196	debug	(19155) [createAllLinkedObjects] active linkedObjects {"mqtt.0.h801.switch.ESPURNA_318C6C.brightness.set":"linkeddevices.0.LED-Level.set"}
                                            linkeddevices.0	2019-12-15 19:31:43.196	info	(19155) [createAllLinkedObjects] count of active linkedObjects: 1
                                            linkeddevices.0	2019-12-15 19:31:43.195	debug	(19155) [createAllLinkedObjects] 'dicLinkedObjectsStatus' items count: 1
                                            linkeddevices.0	2019-12-15 19:31:43.179	error	at process._tickCallback (internal/process/next_tick.js:189:7)
                                            linkeddevices.0	2019-12-15 19:31:43.179	error	at <anonymous>
                                            linkeddevices.0	2019-12-15 19:31:43.179	error	at Linkeddevices.getConvertedValue (/opt/iobroker/node_modules/iobroker.linkeddevices/main.js:1653:20)
                                            linkeddevices.0	2019-12-15 19:31:43.179	error	(19155) [createLinkedObject] stack: TypeError: value.replace is not a function
                                            linkeddevices.0	2019-12-15 19:31:43.178	error	(19155) [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 19:31:43.115	debug	(19155) [createLinkedObject] native data set for 'linkeddevices.0.LED-Level.set' ("native":{"topic":"/h801/switch/ESPURNA_318C6C/brightness/set"})
                                            linkeddevices.0	2019-12-15 19:31:43.115	debug	(19155) [getCustomData] custom expert settings for 'linkeddevices.0.LED-Level.set': {"mergeSettingsOnRestart":true}
                                            linkeddevices.0	2019-12-15 19:31:43.082	debug	(19155) [getCommonData] common expert settings for 'linkeddevices.0.LED-Level.set': {"type":"number"}
                                            linkeddevices.0	2019-12-15 19:31:43.079	debug	(19155) [createLinkedObjectChannel] channel 'linkeddevices.0.LED-Level' already exist!
                                            linkeddevices.0	2019-12-15 19:31:42.691	debug	(19155) [resetAllLinkedObjectsStatus] 'dicLinkedObjectsStatus' items count: 1
                                            linkeddevices.0	2019-12-15 19:31:42.691	debug	(19155) [resetLinkedObjectStatus] 'isLinked' status reseted for 'linkeddevices.0.LED-Level.set'
                                            linkeddevices.0	2019-12-15 19:31:42.356	debug	(19155) [getSystemConfig] system configs successful loaded: '{"language":"de","dateFormat":"DD.MM.YYYY","durationFormat":"dd[T] hh[h] mm[m]"}'
                                            linkeddevices.0	2019-12-15 19:31:42.310	info	(19155) [initialObjects] started...
                                            linkeddevices.0	2019-12-15 19:31:42.309	debug	(19155) [onReady] deleteDeadLinkedObjects: 'true'
                                            linkeddevices.0	2019-12-15 19:31:42.283	info	(19155) starting. Version 1.1.0 in /opt/iobroker/node_modules/iobroker.linkeddevices, node: v8.16.2
                                            linkeddevices.0	2019-12-15 19:31:41.502	debug	(19155) States connected to redis: 127.0.0.1:9000
                                            linkeddevices.0	2019-12-15 19:31:41.448	debug	(19155) statesDB connected
                                            linkeddevices.0	2019-12-15 19:31:41.447	debug	(19155) States create PubSub Client
                                            linkeddevices.0	2019-12-15 19:31:41.441	debug	(19155) Objects connected to redis: 127.0.0.1:9001
                                            linkeddevices.0	2019-12-15 19:31:41.438	debug	(19155) Redis States: Use Redis connection: 127.0.0.1:9000
                                            linkeddevices.0	2019-12-15 19:31:41.435	debug	(19155) objectDB connected
                                            linkeddevices.0	2019-12-15 19:31:41.420	debug	(19155) Objects client initialize lua scripts
                                            linkeddevices.0	2019-12-15 19:31:41.419	debug	(19155) Objects create PubSub Client
                                            linkeddevices.0	2019-12-15 19:31:41.414	debug	(19155) Objects client ready ... initialize now
                                            linkeddevices.0	2019-12-15 19:31:41.369	debug	(19155) Redis Objects: Use Redis connection: 127.0.0.1:9001
                                            host.home	2019-12-15 19:31:39.894	info	instance system.adapter.linkeddevices.0 started with pid 19155
                                            host.home	2019-12-15 19:31:37.912	info	instance system.adapter.linkeddevices.0 terminated with code 156 (156)
                                            linkeddevices.0	2019-12-15 19:31:37.394	info	(17341) Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason
                                            linkeddevices.0	2019-12-15 19:31:37.393	info	(17341) terminating
                                            linkeddevices.0	2019-12-15 19:31:37.392	info	(17341) cleaned everything up...
                                            linkeddevices.0	2019-12-15 19:31:37.389	info	(17341) Got terminate signal TERMINATE_YOURSELF
                                            host.home	2019-12-15 19:31:37.384	info	stopInstance system.adapter.linkeddevices.0 send kill signal
                                            
                                            
                                            Scrounger 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            986
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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