NEWS
Geräte in Skripten finden - wie macht ihr das oder gibt es eine Funktion?
-
Guten Morgen zusammen,
nachdem ich die letzten Tage dazu verwendet habe noch einiges an Skripten von der HM auf den IoBroker zu verlagern laufen dort nun so um die 50 Skripte. Jetzt frage ich mich allerdings so langsam, wie ich jemals in den Skripten die Geräte wiederfinde wenn ich diese z.B. wegen Defekt mal austauschen muss. Klar habe ich möglichst viel strukturiert aber schon allein in der Alarmanlage stecken so viele Geräte drin, dass man ja ewig suchen kann….
Daher mal meine Frage an euch: Wie macht ihr das? Gibt es vielleicht eine Suchfunktion über alle Skripte die ich noch nicht gefunden habe?
Ich sage mal Danke für alle Ideen und Anregungen :-)
LG
Mario
-
Hallo Mario,
ich nutze dazu die Virtual Devices von pman:
http://forum.iobroker.net/viewtopic.php?f=21&t=8192
Dazu habe ich für jeden Gerätetyp ein Skript zum Erstellen der virtuellen Geräte.
Falls bei mir Mal ein Gerät ersetzt wird muss es nur an dieser einen Stelle angepasst.
Das funktioniert wunderbar und bietet noch viele zusätzliche Möglichkeiten.
-
Hi und Danke für den Tipp.
@nisio:ich nutze dazu die Virtual Devices von pman:
viewtopic.php?f=21&t=8192 `
Aber bringt das nicht zu viel Last wenn jedes Gerät praktisch ja 2x Erfasst / geändert wird bevor es überhaupt in weiteren Triggern verarbeitet wird?
Aber grundsätzlich hast du da recht - ist natürlich Blöd, dass ich da nicht eher dran gedacht habe. Jetzt müsst ich alles noch einmal umbauen…. nu ja, man ist ja Leid gewöhnt :lol:
Andere Ideen gibt es nicht? Hat denn noch nie einer größeren Umgebung eine Komponente getauscht? Habe schon überlegt, ob man nicht über den Export aller Scripte und dann suchen in Dateien auch da ran kommt - also zumindest das man weis, wo die Komponente noch überall drin steckt ;)
LG
Mario
-
Andere Ideen gibt es nicht? `
Geräte und deren Namen spielen in meinen Skripten keine Rolle, sondern nur Datenpunkte. Jeder Datenpunkt hat einen <u>eindeutigen</u> Namen erhalten. Die Datenpunkt-ID ermittle ich im Skript mittels getIdByName(name). Nach einem Gerätetausch werden den Datenpunkten des neuen Gerätes wieder die gleichen Namen vergeben, die sie vor dem Tausch hatten. -
Ich nutze einen Raspberry 3 und so etwa 30 zwave Geräte und bisher keinerlei Performance Probleme.
@paul: kannst du die Funktion getIdByName(name) auch im vis benutzen als ObjectIds?
-
Was wäre denn damit?
==> http://forum.iobroker.net/viewtopic.php?f=36&t=7118
Habe momentan aber keine Ahnung, wie weit der Adapter ist / ob er noch weiterentwickelt wird.
Gruß,
Eric
Von unterwegs getippert
-
Was wäre denn damit? `
Jepp, genau so wäre das richtig wenn ich den von Anfang an verwendet hätte. Werde ihn mir mal zwischen den Jahren anschauen. Wobei ich dann schon mit dem Suchen anfangen kann, wenn ich darauf umstellen will :oops:
-
Geräte und deren Namen spielen in meinen Skripten keine Rolle, sondern nur Datenpunkte. Jeder Datenpunkt hat einen <u>eindeutigen</u> Namen erhalten. Die Datenpunkt-ID ermittle ich im Skript mittels getIdByName(name). Nach einem Gerätetausch werden den Datenpunkten des neuen Gerätes wieder die gleichen Namen vergeben, die sie vor dem Tausch hatten. `
@paul Noch eine weiter Frage zu deiner Lösung. Hast du einen History Adapter im Einsatz, funnktioniert die getIdByName(name) Variante dort?
-
@nisio:Hast du einen History Adapter im Einsatz, funnktioniert die getIdByName(name) Variante dort? `
Nein, getIdByName(name) funktioniert nur im JS-Adapter. Die Aktivierung der History-Funktion für einen Datenpunkt muss im Reiter "Objekte" erfolgen und ist somit ID bezogen.Man könnte die History-Aktivierung allerdings per Javascript vornehmen und dort getIdByName(name) zur Ermittling der ID verwenden.
var idMyDp = getIdByName(nameMyDp); var obj = getObject(idMyDp); obj.common.custom = { "history.0": { "enabled": true, "changesOnly": true, "debounce": 10000, "maxLength": 300, "retention": 1209600, // 2 Wochen "changesRelogInterval": 0, "changesMinDelta": 0 } }; setObject(idMyDp, obj); -
Habe schon überlegt, ob man nicht über den Export aller Scripte und dann suchen in Dateien auch da ran kommt - also zumindest das man weis, wo die Komponente noch überall drin steckt ;)
LG
Mario `
Hallo Mario,das musst du nicht händisch machen. Schau dir mal den js2fs-Adapter an.
Pix
-
Habe schon überlegt, ob man nicht über den Export aller Scripte und dann suchen in Dateien auch da ran kommt - also zumindest das man weis, wo die Komponente noch überall drin steckt ;)
LG
Mario `
Hallo Mario,das musst du nicht händisch machen. Schau dir mal den js2fs-Adapter an.
Pix
Hallo,
stehe jetzt genau vor dem gleichen Problem, habe ein Gerät gewechselt und weiß jetzt nicht wo ich überall die Datenpunkte in welchen Scripten drin habe und da ich auch so viele Scripte habe, würde es jetzt ewig dauern alle Scripte durchzuschauen.
In der Homematic kann man genau sehen welche Geräte in welchen Programmen drin sind, gibts sowas ähnliches nicht für den Iobroker? -
Hallo,
stehe jetzt genau vor dem gleichen Problem, habe ein Gerät gewechselt und weiß jetzt nicht wo ich überall die Datenpunkte in welchen Scripten drin habe und da ich auch so viele Scripte habe, würde es jetzt ewig dauern alle Scripte durchzuschauen.
In der Homematic kann man genau sehen welche Geräte in welchen Programmen drin sind, gibts sowas ähnliches nicht für den Iobroker? -
@fastfoot sagte in Geräte in Skripten finden - wie macht ihr das oder gibt es eine Funktion?:
@nik82 Im Tab Skripte gibt es eine Suchfunktion

Klasse! Genau das hab ich gesucht, noch gar nicht drauf geachtet das es da eine Lupe gibt!
Vielen, vielen Dank!
EDIT
Cool, wenn man oben in der Suche die Geräte ID eingibt, dann kommen genau alle Scripte wo dieses Gerät drin ist.
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