NEWS
Wo Pseudo-States bzw. Datenpunkte anlegen?
-
Hallo,
ich habe mal eine etwas kosmetische Frage:
für bestimmte Aktionen brauche ich Pseudo States. Also Datenpunkte, die von keinem Adapter wie hm-rega oder hm-rpc bereitgestellt werden, sondern welche, die ich selbst anlege und von unterschiedlichen Quellen aus steuere (simple API, Telegram etc.).
Ich reagiere da meist mit einem Trigger in Javascript drauf und mache meine Aktionen damit.
Wo legt man diese Pseudo-DPs am besten an?
Ich habe angefangen einige im Javascript-Adapter (z.B. javascript.0.Variablen) anzulegen. Aber so richtig gefällt mir das nicht. Lösche ich den Adapter aus irgendwelchen Gründen mal sind die DPs auch weg.
Am Besten finde ich es in einem eigenen Bereich anzulegen. Z.b. var.0.Meine_Variable1. Mit Trick bekommt man sowas ja hin (raw-Reiter im Objekt).
Aber ist das der richtige Weg? Bleiben diese DP dauerhaft erhalten oder muss ich befürchten, dass die beim Neustart oder Update mal verschwinden. var.0 ist ja kein Adapter.
Wie sind eure Erfahrungen/Vorgehensweisen so?
-
Hallo daniel_2k
ich beschäftige mich seit einigen Tagen mit ioBroker für meine Hausautomation.
Beim erstellen der ersten Scripte kam mir der selbe Gedanke wie du Ihn beschrieben haste.
Antworten gab es ja leider keine. Wie hast du es denn nun gelöst?
Hast du evtl. Information zum strukturellen und sinnvollen Aufbau eines ioBroker-System gefunden?
Gruß
ioAli
-
Die Frage ist wohl an mir vorbeigegangen.
Solche Datenpunkte kann man direkt mit js anlegen und werden dann automatisch im js-Ordner angezeigt, bei node-red im node-red ordner usw.
ich strebe aber auch nach einer Struktur außerhalb, um diesen Ordner als ganzes bei Umzug auf eine andere Installation so mitnehmen zu können:

Gruß
Rainer
-
Also ich habe mir jetzt auch außerhalb des js-Zweigs eine neue Struktur angelegt. Für alle Pseudo-Steuer-Datenpunkte (für Skripte) habe ich mir jetzt unter anderem eine Struktur "control.0" angelegt.
Man beachte, dass man den Namen frei vergeben kann. Es muss aber immer in der Form <name>.# sein, also immer mit einem Punkt gefolgt einer Zahl abschließen (eben wie ein Adaptername).</name>
2323_000055.jpg -
Also ich habe mir jetzt auch außerhalb des js-Zweigs eine neue Struktur angelegt. Für alle Pseudo-Steuer-Datenpunkte (für Skripte) habe ich mir jetzt unter anderem eine Struktur "control.0" angelegt.
Man beachte, dass man den Namen frei vergeben kann. Es muss aber immer in der Form <name>.# sein, also immer mit einem Punkt gefolgt einer Zahl abschließen (eben wie ein Adaptername).</name> `
Das sieht ja schon richtig gut aus.
Kannst du einen Code-Schnipsle Posten mit dem du die Datenpunkte so angelegt hast?
VG
Pedrr
-
Also ich habe mir jetzt auch außerhalb des js-Zweigs eine neue Struktur angelegt. Für alle Pseudo-Steuer-Datenpunkte (für Skripte) habe ich mir jetzt unter anderem eine Struktur "control.0" angelegt.
Man beachte, dass man den Namen frei vergeben kann. Es muss aber immer in der Form <name>.# sein, also immer mit einem Punkt gefolgt einer Zahl abschließen (eben wie ein Adaptername).</name> `
Die Wette geht so lange auf bis jemand einen "Control"-Adapter schreibt und damit den "control"-Namespace für einen Adapter braucht den DU auch haben willst.
Man sollte sich, wenn man das tut, wirklich die Namen gut überlegen weil sobald ein Adater kommt der den Namespace "beansprucht" ists blöd. Daher … javascript..0 ist immer noch das beste und einfachste
-
Ich muss hier nochmal nachfragen.
Wie kann ich so eine Ordnerstruktur anlegen?
Wenn ich auf das "+" drücke, kann ich nur neue Datenpunkte unter einer ausgewählten Instanz hinzufügen z.B. unter admin.0 oder sonoff.0. Ich bekomme es aber nicht hin selber eine Ordnerstruktur anzulegen.
-
Ich bekomme es aber nicht hin selber eine Ordnerstruktur anzulegen. `
Ich empfehle dir hier die best praktise und alles unter Javascript.0 an zu legen.
-
kann ich nur neue Datenpunkte unter einer ausgewählten Instanz hinzufügen z.B. unter admin.0 oder sonoff.0. `
Eigene Datenpunkte möglichst nur unter javascript.0 anlegen, da die Adapter ihre Objekte verwalten (auch löschen).
@el_malto:Ich bekomme es aber nicht hin selber eine Ordnerstruktur anzulegen. `
Ordnerstrukturen erzeugt man mit Punkten in der ID. Der Name "Ordner.Unterordner.meinDP" unter javascript.0 erzeugt die ID"javascript.0.Ordner.Unterordner.meinDP". Den eigentlchen Namen (common.name) kann man anschließend ändern.