NEWS
Gelöst: Datenpunkte kopieren
-
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
-
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
schau doch mal hier:
https://forum.iobroker.net/topic/24404/gelöst-id-oder-name-eines-state-in-vis-anzeigen?page=1dort wird etwas ähnliches gemacht - vielleicht kannst du es für deine zwecke umgestalten
-
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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden