Skip to content

Latest commit

 

History

History
217 lines (151 loc) · 14.5 KB

README.md

File metadata and controls

217 lines (151 loc) · 14.5 KB

ioBroker linkeddevices adapter

Mit diesem Adapter ist es möglich eigene Objekte (Datenpunkte) von Geräten in einer selbst definierten Struktur zu erstellen. Durch die zentralisierte Darstellung an einem Ort können die Objekte einfach z.B. in Vis oder Skripten verwendet werden. Weiterhin müssen z.B. bei einem Hardwareaustausch nur die Verlinkungen neu erstellt werden, alle VIS Views und Skripte funktionieren sofort wieder.

Außerdem können mit dem Adapter Objekte in andere Typen konvertiert werden.

Strukture

Dieser Adapter ist inspiriert durch das Virtual Devices Skript von Pman.



Adapterkonfiguration

Adapterkonfiguration

Skript mit Variablen aller verlinkten Objekte erzeugen

In der Adapterkonfiguration kann ein globales Skript erzeugt werden, dass für alle verlinkten Objekte Variablen anlegt.

Für diese Funktion wird der Adapter Javascript Script Engine benötigt

Adapterkonfiguration

Eingabefeld Beschreibung
Skriptname Name unter dem das erzeugte Skript abgespeichert wird
Name der Variable Name der Variable über die alle verlinkten Objekte in einem Skript angesteuert werden kann
alle Objekte der Instanz mit einbeziehen Es werden auch Variablen für andere Objekte die sich in der Instanz befinden generiert
setState für 'readonly' Objekte generieren setState Funktionf für readonly Objekte erzeugen

Das ganze sieht im Skript Editor dann so aus:

Adapterkonfiguration

Übersicht aller verlinkten Objekte

Übersicht

In der Adapterkonfiguration gibt es eine Übersicht über alle verlinkten Objekte bzw. auch Objekte die nicht mehr verlinkt sind. In der Tabelle kann sortiert und auch nach Begriffen gefiltert werden. Weiter können hier nicht mehr verlinkte Objekte wieder mit einem Objekt verlinkt werden, die Verlinkung zu einem Objekt gelöscht werden und direkt die Einstellung der Objekte, die verlinkt sind, geöffnet werden.


Objekt (Datenpunkt) verlinken

Ein Objekt (Datenpunkt) kann über den Button Einstellungen im Menü Objekt erstellt werden.

Strukture

Objekt (Datenpunkt) Einstellungen

Strukture

Die folgenden Grundeinstellungen müssen für das verlinkte Objekt vorgenommen werden:

Eingabefeld Beschreibung
Aktiviert die Verlinkung für das Objekt aktivieren
Präfix für ID des verlinkten Objektes Bezeichung die der ID des verlinkten Objektes vorangestellt werden soll
ID des verlinkten Objekts ID des verlinkten Objektes
Zusammengesetze ID des verlinkten Objektes Zeigt an wie die Id des verlinkten Objektes aussehen wird - Zusammensetzung von Präfix für ID des verlinkten Objektes & ID des verlinkten Objekts

Weiterhin sind noch folgende Einstellungen möglich:

Eingabefeld Beschreibung
Name des verlinkten Objekts Hier kann ein Name für das verlinkte Objekte festlegt werden
Experteneinstellungen für verlinktes Objekt vom Typ 'X' weitere Einstellungen die abhängig vom Objekttyp sind. (Zusätzliche Informationen hierzu weiter unten)

Beispiel: Die oben im Screenshot dargestellten Eingaben erzeugen das folgende verlinkte Objekt:

Strukture


Experteneinstellungen für verlinktes Objekt vom Typ X

Abhängig vom Typ (Zahl, Logikwert, Zeichenkette, etc.) des zu verlinkenden Objektes, können weitere Einstellungen, wie z.B. Umrechnungen oder Umwandlungen in einen anderen Typ für das verlinkte Objekt eingestellt werden. Für folgende Typen gibt es derzeit Umwandlungen:


Experteneinstellungen für verlinktes Objekt vom Typ 'Zahl (readonly)'

Strukture

Zahl (readonly): Konvertiere in Typ 'nicht umwandeln'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Ändere Einheit 'X' in Einheit für das verlinkte Objekt festlegen keine Beschränkung Objekt hat Einheit 'kWh', verlinktes Objekt hat Einheit 'Wh'
max. Anzahl der Nachkommastellen max. Anzahl der Nachkommastellen für das verlinkte Objekt festlegen Zahlen Wert des Objekts '100.561' ergibt für das verlinkte Objekt den Wert '101'
Ändere min 'X' in minimaler Wert der das verlinkte Objekt annehmen darf Zahlen -
Ändere max 'X' auf maximaler Wert der das verlinkte Objekt annehmen darf Zahlen -
Umrechnung für verlinktes 'read' Objekt mathematische Umrechnung des Wertes des Objektes + - / *,. () & Zahlen Wert des Objektes '279688.9' mit Umrechnung '/1000' zeigt beim verlinkten Objekt den Wert '280.6889' an

Zahl (readonly): Konvertiere in Typ 'Logikwert'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Bedingung 'true' für verlinktes Objekt Wert des Objektes, für den das verlinkte Objekt auf 'true' gesetzt werden soll = != > < >= <= + Zahlen Für Werte '>100' des Objekt ist das verlinkte Objekt 'true'

Zahl (readonly): Konvertiere in Typ 'Dauer'

Zur Info beim Typ 'Dauer' ist das verlinkte Objekt vom Typ 'Zeichenkette' Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Umrechnung in Sekunden Zur Berechnung der Dauer muss der Wert in Sekunden vorliegen. Liegt der Wert z.B. in Millisekunden vor, so müsst ihr '/1000' eintragen. Wenn er z.B. in Stunden vorliegt, dann müsst ihr '/3600' eintragen / * & Zahlen -
Anzeigeformat der Dauer Hier könnt ihr die Formatierung für die Dauer festlegen siehe moment duration format library Doku 'y[J] d[T] hh[h] mm[m]' zeigt beim verlinkten Objekt den Wert '1J 11T 00h 24m' an, sofern ioBroker Sprache auf Deutsch eingestellt ist

Zahl (readonly): Konvertiere in Typ 'Datum / Uhrzeit'

Zur Info beim Typ 'Datum / Uhrzeit' ist das verlinkte Objekt vom Typ 'Zeichenkette' Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Umrechung in Unixzeit (Sekunden) Zur Berechnung von Datum und oder Uhrzeit muss der Wert in der Unixzeit vorliegen. Liegt der Wert z.B. in Millisekunden vor, so müsst ihr '/1000' eintragen. Wenn er z.B. in Stunden vorliegt, dann müsst ihr '/3600' eintragen / * & Zahlen -
Anzeigeformat der Datum / Uhrzeit Hier könnt ihr die Formatierung für das Datum und oder Uhrzeit festlegen siehe moment library Doku 'LLL' zeigt beim verlinkten Objekt den Wert '26. Juli 2019 22:01' an, sofern ioBroker Sprache auf Deutsch eingestellt ist



Experteneinstellungen für verlinktes Objekt vom Typ 'Zahl'

Zahl: Konvertiere in Typ 'nicht umwandeln'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Ändere Einheit 'X' in Einheit für das verlinkte Objekt festlegen keine Beschränkung Objekt hat keine Einheit, verlinktes Objekt hat Einheit '%'
max. Anzahl der Nachkommastellen max. Anzahl der Nachkommastellen für das verlinkte Objekt festlegen Zahlen Wert des Objekts '100.561' ergibt für das verlinkte Objekt den Wert '101'
Ändere min 'X' in minimaler Wert der das verlinkte Objekt annehmen darf Zahlen -
Ändere max 'X' auf maximaler Wert der das verlinkte Objekt annehmen darf Zahlen -
Umrechnung für verlinktes Objekt mathematische Umrechnung des Wertes des Objektes / *,. & Zahlen Wert des Objektes '180' mit Umrechnung '*100/255' zeigt beim verlinkten Objekt den Wert '71' an. Umgekehrt wird der Kehrwert bei der Berechnung gebildet, d.h. wenn das verlinkte Objekt den Wert '71' hat, hat das Objekt den Wert '180'. Das kann z.B. für Hue Lampen verwendet werden, um den Wertebereich von '0-255' in '0%-100%' umzuwandeln

Zahl: Konvertiere in Typ 'Logikwert'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Bedingung 'true' für verlinktes Objekt Wert des Objektes, für den das verlinkte Objekt auf 'true' gesetzt werden soll = != > < >= <= + Zahlen Für Werte '>30' des Objekt ist das verlinkte Objekt 'true'
Wert wenn verlinktes Objekt 'true' ist Wert des Objektes wenn das verlinkte Objekt 'true' ist Zahlen Wird das verlinkte Objekt auf 'true' gesetzt, wird der Wert des Objektes '30'
Wert wenn verlinktes Objekt 'false' ist Wert des Objektes wenn das verlinkte Objekt 'false' ist Zahlen Wird das verlinkte Objekt auf 'false' gesetzt, wird der Wert des Objektes '10'



Experteneinstellungen für verlinktes Objekt vom Typ 'Zeichenkette (readonly)'

Zeichenkette (readonly): Konvertiere in Typ 'Dauer'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Anzeigeformat der Dauer Umwandlung einer Dauer Zeichenkette nach ISO 8601 in eine benutzerdefinierte Dauer Zeichenkette siehe moment duration format library Doku Hat das Objekt den Wert 'P1W1DT12H14M', als Format ist 'dd[T] hh[h] mm[m]' eingestellt, dann hat das verlinkte Objekt den Wert '08T 12h 14m'

Zeichenkette (readonly): Konvertiere in Typ 'Datum / Uhrzeit'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Parser Format Hier musss das Format für das Objekt festgelegt werden, damit es geparst werden kann siehe moment duration format library Doku Hat das Objekt den Wert '3-12-2018 08-15', muss hier 'dd-mm-yyyy hh-mm' als parser format eingeben werden
Anzeigeformat der Datum / Uhrzeit Hier könnt ihr die Formatierung für das Datum und oder Uhrzeit festlegen siehe moment duration format library Doku Hat das Objekt den Wert '3-12-2018 08-15', als Format ist 'LLL' eingestellt, dann hat das verlinkte Objekt den Wert '2. September 2019 08:15'



Experteneinstellungen für verlinktes Objekt vom Typ 'Zeichenkette'

Strukture

Zeichenkette: Konvertiere in Typ 'nicht umwandeln'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
vorangestellte Zeichenfolge Ein Zeichefolge die beim verlinkten Objekt vor die Zeichfolge des Objektes gesetzt wird alles Hat das Objekt den Wert 'ich bin ein Zeichenkette', dann hat das verlinkte Objekt den Wert 'prefix_ich bin ein Zeichenkette'
nachgestellte Zeichenfolge Ein Zeichefolge die beim verlinkten Objekt hinter die Zeichfolge des Objektes gesetzt wird alles Hat das Objekt den Wert 'ich bin ein Zeichenkette', dann hat das verlinkte Objekt den Wert 'ich bin ein Zeichenkette_suffix'

Zeichenkette: Konvertiere in Typ 'Logikwert'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Zeichenkette für 'true' des verlinkten Objekts Zeichenkette für das das verlinkte Objekt 'true' wird. Diese wird auch umgekehrt verwendet - wenn das verlinkte Objekt 'true' wird, wird der Wert des Objektes die angebene Zeichenkette Zeichenkette Wenn das Objekt den Wert 'on' annimmt, dann ist das verlinkte Objekt 'true'. Umgekehrt - wenn das verlinkte Objekt den Wert 'true' annimmt, dann wird der Wert des Objektes 'on'
Zeichenkette für 'false' des verlinkten Objekts Zeichenkette für das das verlinkte Objekt 'false' wird. Für nicht angebene Zeichenketten ist das verlinkte Objekt immer 'false'. Umgekehrt wird das verlinkte Objekt 'false', wird der Wert des Objektes 'off' Zeichenkette Wenn das Objekt den Wert 'off' annimmt, dann ist das verlinkte Objekt 'true'. Umgekehrt - wenn das verlinkte Objekt den Wert 'false' annimmt, dann wird der Wert des Objektes 'off'



Experteneinstellungen für verlinktes Objekt vom Typ 'Logikwert'

Strukture

Logikwert: Konvertiere in Typ 'Zeichenkette'

Strukture

Eingabefeld Beschreibung erlaubte Eingabe Beispiel (siehe Bild)
Wert wenn Objekt 'true' ist Ein Zeichefolge für den Wert des verlinkten Objektes, wenn das Objekt 'true' ist alles Hat das Objekt den Wert 'true', dann hat das verlinkte Objekt den Wert 'an'. Achtung wenn das verlinkte Objekt einen Wert annimmt, der nicht in den Experteneinstellungen definiert ist, so wird der Wert des Objekts 'false'
Wert wenn Objekt 'false' ist Ein Zeichefolge für den Wert des verlinkten Objektes, wenn das Objekt 'false' ist alles Hat das Objekt den Wert 'false', dann hat das verlinkte Objekt den Wert 'aus'.