Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Gelöst: Datenpunkte kopieren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Gelöst: Datenpunkte kopieren

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

      Hallo,

      ist es per Script einfach und schnell mögliche ALLE Datenpunkte einer bestimmten Instanz (bspw. modbus.coils) zu kopieren?
      Allerdings möchte ich im meinem 'eigene Variablen' Pfad jeweils einen Datenpunkt anlegen, der nur die ID mit obigen Datenpunkt gemein hat aber ansonsten state switch und value true?

      Hintergrund: Ich habe eine lange Liste von Modbus Adresspunkten und möchte einmal per Script alle diese Namen (ids) als Variable kopieren (in Javascript.0.variablen.modbus) um dort mit denen weiter zu arbeiten. Diese sollen natürlich KEINE Abhängigkeit von den Originalobjekten haben...ich möchte nur dort mit den gleichen Namen arbeiten können.

      Grüße

      Stephan

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @BigStephan last edited by

        @BigStephan

        schau doch mal hier:
        https://forum.iobroker.net/topic/24404/gelöst-id-oder-name-eines-state-in-vis-anzeigen?page=1

        dort wird etwas ähnliches gemacht - vielleicht kannst du es für deine zwecke umgestalten

        1 Reply Last reply Reply Quote 0
        • B
          BigStephan last edited by

          Hey Danke!

          Das hat geholfen.

          Falls es jemand mal benötigt (ja es ist sicherlich nicht das Optimum, aber es hat mir gereicht 😁 ) :

          // Alle Beleuchtungsvariablen aus MODBUS-ADAPTER für Javascript erstellen
          //copyObjects('modbus.0.coils','javascript.0.variablen.beleuchtung');
          
          // kopiert alle Datenpunktnamen eines Quellordners in einen Zielordner (mit Änderung des Types usw.)
          function copyObjects(source, destination){
              
              var cacheSelector = $('state[id=' + source + '.*]');
              cacheSelector.each(function(obj, i) {
              
                  createState(destination + '.' + obj.replace(source + '.', ''),
          
                      {   name: getObject(obj).common.name, 
                          desc: '', 
                          type: 'boolean', 
                          role: 'switch',
                          read: true, 
                          write: true,
                          def: false
                      }
                  ); 
              });
          }
          

          Grüße
          Stephan

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

          Support us

          ioBroker
          Community Adapters
          Donate

          918
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          2
          3
          487
          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