NEWS
Wie organisiert/sortiert ihr euch in Alias.0.
-
@Troya also ich hatte das mal so angefangen:
Sortiert nach Art des Devices. Im Namen habe ich auch ein System:
TH_EG_Wohnzimmer_Uhr
WAS_WO_RAUM_(ggf)ZUSATZso fahre ich zurzeit ganz gut.
-
Sitze grad am selben Problem. Also prinzipiell will ich mit den Aliases 2 Probleme erschlagen.
- (und Wichtigstes) Aktoren sollen leicht austauschbar sein, ohne alle Skripe etc. zu finden und zu ändern.
Das bedeutet:
- tatsächlicher Autor soll sich leicht in alias.0 finden lassen
Eine ausgeklügelte Baumstruktur ist da sicher hilfreich. Der Vorschlag von Lenny.CB sieht da fast perfekt aus.
Allerdings kann die Zuordnung Raum/Funktion über die State-Attribute gemacht werden, was sicher flexibler ist, da sich Räume/Funktionen einfacher ändern lassen.
- Aktoren sollen sich einheitlich und einfach in Skrite verwenden lassen
Das bedeutet:
- Aktor State muss möglichst universell gemappt sein und zwar der Name UND der Wert.
z.B. Verschlussaktoren
HM -> .STATE, zigbee -> .opened/.isopen usb
können einfach nach alias.0.xxx.opened gemappt werden
Da eine Fehlentscheidung spezielle in der Baumstruktur im Nachhinein immer recht aufwändig zu korrigieren ist, lohnt es sich, hier etwas intensiver abzuwägen.
Eigentlich gefällt mit der Vorschlag von Lenny.CB schon sehr gut.
Allerdings bin ich mir nicht sicher, ob es es wirklich eine gute Idee ist, den Raum in den Path zu bringen. -
@rewenode sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
Allerdings bin ich mir nicht sicher, ob es es wirklich eine gute Idee ist, den Raum in den Path zu bringen.
Die Nomenklatur hatte ich mir zu einer Zeit überlegt, in der ich noch nicht mit "Rolle", "Raum" und "Funktion" gearbeitet hatte.
Andererseits sind die Sensoren/Aktoren zumeist in den Räumen fest verbaut, sodass hier ein "Raumwechsel" so gut wie ausgeschlossen ist. -
@rewenode sagte:
da sich Räume/Funktionen einfacher ändern lassen.
Wenn sich der Raum oder das Gewerk eines Aktors / Sensors ändert, ändert sich auch die Bedeutung in Vis und Skripten. Für die Bedeutung eines Datenpunktes ist nicht das physische Gerät wichtig, sondern seine Verwendung. Deshalb sieht bei mir die Struktur so aus:
alias.0.Lokalität.Gewerk.Funktion
Lokalität: Raum, Haus, Garage, AussenBeispiel (anhand @Lenny-CB):
Der Sensor alias.0.TH.TH_EG_Bad hätte bei mir die Datenpunkte-IDs- alias.0.EG_Bad.Klima.Temperatur
- alias.0.EG_Bad.Klima.rel_Feuchte
- alias.0.EG_Bad.Klima.Batterie
-
@paul53 sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
@rewenode sagte:
da sich Räume/Funktionen einfacher ändern lassen.
Wenn sich der Raum oder das Gewerk eines Aktors / Sensors ändert, ändert sich auch die Bedutung in Vis und Skripten. Für die Bedeutung eines Datenpunktes ist nicht das physische Gerät wichtig, sondern seine Verwendung. Deshalb sieht bei mir die Struktur so aus:
alias.0.Lokalität.Gewerk.Funktion
Lokalität: Raum, Haus, Garage, AussenBeispiel (anhand @Lenny-CB):
Der Sensor alias.0.TH.TH_EG_Bad hätte bei mir die Datenpunkte-IDs- alias.0.EG_Bad.Klima.Temperatur
- alias.0.EG_Bad.Klima.rel_Feuchte
- alias.0.EG_Bad.Klima.Batterie
macht Sinn!
-
@rewenode sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
- Aktor State muss möglichst universell gemappt sein und zwar der Name UND der Wert.
z.B. Verschlussaktoren
HM -> .STATE, zigbee -> .opened/.isopen usb
können einfach nach alias.0.xxx.opened gemappt werden
kannst Du ja machen wie Du denkst.
Beispiel: HM-Festerkonakt (CLOSED(0); OPEN(1)) kannst mappen auf false/true; close/open; 0/1; geschlossen/offen
Dir bleiben da viele Möglichkeiten offen. - Aktor State muss möglichst universell gemappt sein und zwar der Name UND der Wert.
-
@Lenny-CB sagte:
CLOSED(0); OPEN(1)) kannst mappen auf false/true; close/open; 0/1; geschlossen/offen
Ein Datenpunkt, der nur 2 Werte annehmen kann, sollte immer auf "boolean" gemappt werden.
-
@paul53 sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
@Lenny-CB sagte:
CLOSED(0); OPEN(1)) kannst mappen auf false/true; close/open; 0/1; geschlossen/offen
Ein Datenpunkt, der nur 2 Werte annehmen kann, sollte immer auf "boolean" gemappt werden.
ich wollte damit ehr aufzeigen, dass aus einem 0/1 org.DP auch ein 'geschlossen'/'offen' aliasDP werden kann. Ob das sinnvoll ist oder nicht, sei mal dahingestellt.
-
@paul53 sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
@Lenny-CB sagte:
CLOSED(0); OPEN(1)) kannst mappen auf false/true; close/open; 0/1; geschlossen/offen
Ein Datenpunkt, der nur 2 Werte annehmen kann, sollte immer auf "boolean" gemappt werden.
Das ist klar. opened/isOpen/STATE sind die realen State-Namen verschiedener Verschluss/Aktoren im Beispiel von zigbee/HM.
Und die sollen auf einen einheitlichen Namen gemappt werde (im Beispiel opened). false/true etc. währe dann der value, der natürlich auch einheitlich sein soll.@Lenny-CB sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
ich wollte damit ehr aufzeigen, dass aus einem 0/1 org.DP auch ein 'geschlossen'/'offen' aliasDP werden kann. Ob das sinnvoll ist oder nicht, sei mal dahingestellt.
Wie, ist da erstmal zweitrangig, Hauptsache gleich. Dank der genialen direkten Umrechnungsmöglichkeit ist es ja kein Problem value/value-type anzupassen.
@paul53 sagte in Wie organisiert/sortiert ihr euch in Alias.0.:
Wenn sich der Raum oder das Gewerk eines Aktors / Sensors ändert, ändert sich auch die Bedutung in Vis und Skripten.
Das stimmt sicher für die allermeisten Anwendungen
Nachtrag:
Bei geschalteten Steckdosen fällt mir das nicht mehr ganz so leicht. -
Danke für eure Anregungen, z.B. die "Aufzählungen" kannte ich noch gar nicht.
Dort kann man ja sehr schön die Räume anlegen bzw. ausgliedern und die Funktion z.B. für alle möglichen Gewerke nutzen.Dort könnte man wohl auch noch weitere Aufzählungen erstellen wie z.B. Hersteller (Xiaomi, Philips, Fibaro)
Das habe ich allerdings ausprobiert und unter "Objekte" wird kein weiterer Reiter hinzugefügt. Somit kann man danach nicht suchen/filtern oder übersehe ich was?
Nimmt man wohl mehr zum Scripten!?Dann finde ich die Aussage von @paul53 wichtig:
"Für die Bedeutung eines Datenpunktes ist nicht das physische Gerät wichtig, sondern seine Verwendung."
Also habe ich im Schaltschrank einen Fibaro-Zwave-Unterputz-Aktor der ein Downlight im Flur schaltet, dann benenne ich Ihn(die ID!, der Name kann ja anders sein) eher in Richtung
alias.0.EG_Flur.Licht.Downlight
als
alias.0.EG_HWR.Schalter.Downlight.Flurschmeiße ich irgendwann den Aktor aus dem Schaltschrank raus und baue eine Funk-Glühbirne ein, dann kann der Alias gleich bleiben. Darauf kommt es schließlich an.
Also muss man sich die Frage stellen "Egal was mit dem Teil passiert, bleibt die Alias-ID immer logisch?"wie @rewenode schon meinte wird es dann evtl. schwierig mit WLAN-Steckdosen, und sonstigen Batteriebetriebenen Geräten wie Bewegungsmelder, Arlo-Kameras, Fernbedienungen,etc.
So habe ich z.B. derzeit 2 Bewegungsmelder im HWR um zu schauen welcher besser schaltet. Vielleicht wandert einer von denen auch mal wo anders hin...
Für diese Art Geräte könnte man z.B. ein "alias.0.mobil..." einführen. -
-
Hab mich jetzt dazu entschlossen:
- Ort (Carport, EG_HWR, OG_Schlafzimmer,...)
Das Geschoss habe ich mitzusammen mit dem Raum hinzugefügt, damit
A) man einmal weniger klickt als wenn man nochmal unterteilt: alias.0.EG.HWR.Sensor...
B) Die Räume so nach Geschoss einigermaßen gut sortiert werden. (Bad--Carport--Garten--HWR...igitt ne! - Gewerk (Aktor,Sensor, Batterie)
Denke das ist ein guter Mittelweg um nochmal zu gruppieren. - Individueller Name (Deckenlampe, Bewegungsmelder, SteckdoseFenster, FensterOffen)
Man könnte wohl auch auf 2 verzichten und direkt 3 in 1 organisieren. Aber glaube das könnte vielleicht etwas unübersichtlich werden. Wenn man nachher 20,30 Objekte in einem Ordner hat. Man könnte aber auch 2 und 3 mit _ Verbinden und so noch einen Klick sparen und behält trotzdem die Übersicht...
Dadurch ergibt sich dann z.B.
alias.0.EG_Kueche.Batterie.FensterGrossOffen
alias.0.EG_Kueche.Sensor.FensterGrossOffen
Ist auf den ersten Blick gewöhnungsbedürftig und man hätte 2 und 3 auch umdrehen können...
Mir geht es jedoch häufig so, dass ich weiß: ich suche einen Sensor im Hwr als dass ich mir erst alle Individuelle Namen durchlese um dann zu wissen "ah, da im Ordner finde ich den Sensor-Wert"Zusätzlich habe ich jedes Objekt nochmal den "Aufzählungen" zugewiesen, Also Räume und Gewerk.
Das einfach deshalb, weil man damit noch globaler nach einem Raum filtern kann durch die Extra Spalte die IoBroker uns hier gibt.
Ich weise jetzt auch nach und nach Objekte außerhalb des Alias den Aufzählungen zu, wie z.B. Scripten, GoogeHomes, Netatmo und kann so alles zu einem Raum filtern.
Als Name habe ich das Script von @paul53 verwendet.
Es benennt die Objekte (vorerst, bis mir was besseres dazu einfällt) indem es 1,2 und 3 zusammensetzt. Also z.B.
EG_Bad Batterie FensterOffen NODE22
Dadurch kann man z.B. in Vis schnell sehen welche Objekt man angewählt hat.
Als Beispiel habe ich hier NODE22 ergänzt um den Gegenpart zum Alias schnell zu wissen.
Ansonsten müsste ich jedes mal in den RAW-Teil des Alias gucken.
In dem Zuge fällt mir noch eine Idee für den Entwickler ein (@bluefox oder?):
Wäre es vielleicht ganz nett, wenn man einen Link hätte der bei jedem alias.0. Objekt liegt, welcher einem direkt zu dem alias führt?
Vielleicht links neben diese kleine Kopier-Funktion im Bereich "ID" im selben Stil ? - Ort (Carport, EG_HWR, OG_Schlafzimmer,...)
-
@Troya finde die Idee mit dem direkten Link zum Quellobjekt gut.
Ich werde mir bald auch eine Struktur aus Basis der Alias anlegen.
Sieht bei mir dann aus wie bei dir, nur dass ich noch schaue ob ich wirklich die Etage (EG etc) noch davor mache -
Sorry wenn ich ganz blöd fragen muß, aber wie lege ich die Aliase überhaupt an ?
Bei mir gibt es den Ordner Alias.0 gar nicht obwohl ich auf den neuesten js-controller upgedatet habe.
-
@martinschm
Das einfachste ist sich das Script von @paul53 anzuschauen und nachzuvollziehen.
Vor dem ersten Alias ist alias.0 kein Ordner sondern ein Datenpunkt. Geb in der Objektliste oben im Titel von der Spalte ID mal Alias ein, dann solltest du ihn sehen. Bzw sollte er nach allen "Ordnern" einsortiert sein -
@Troya sagte:
ist alias.0 kein Ordner sondern ein Datenpunkt
Kein Datenpunkt, sondern ein Objekt vom Typ "meta".
-
@paul53
Ahso, danke, dachte gibt nur Ordner und Datenpunkte.
Sehen für mich gleich aus, bin da aber auch unbelesen -
Hallo zusammen
Ich habe unter linkeddevices angefangen mir die Struktur so aufzubauen:
POWER.Gerätename.Funktion alle Stromwerte wie aktueller Verbrauch, Tagesverbrauch, aus Geräten, die solche Werte liefern (Homematic, Tasmota)
POWER.Gefrierschrank.Power_Actual -> aktueller Stromverbrauch Gefrierschrank im Keller. Der Raum kann über die Spalte Räume gefiltert werden.ENVIR.Getätename.Funktion alle Werte wie Temperatur, Luftfeuchtigkeit, Helligkeit von Geräten, die solche Werte liefern. Bei mir wemos-Teile mit espeasy oder Tasmota.
Weitere Gruppen für Heizung und Türkontakte sollen folgen.
Viele Grüsse
Stefan -
@Troya said in Wie organisiert/sortiert ihr euch in Alias.0.:
@martinschm
Das einfachste ist sich das Script von @paul53 anzuschauen und nachzuvollziehen.
Vor dem ersten Alias ist alias.0 kein Ordner sondern ein Datenpunkt. Geb in der Objektliste oben im Titel von der Spalte ID mal Alias ein, dann solltest du ihn sehen. Bzw sollte er nach allen "Ordnern" einsortiert seinDanke, gefunden.