NEWS
Devices, Alias, Assistenten + Visualisierungen + die Zukunft
-
Was ist der genau Vorteil von aliases außer die Austauschbarkeit? Denn ich zb bin sehr faul und habe noch nie ein alias angelegt.
Würde es nicht reichen die device typ von Amazon/Google als Type für ein IoBroker device zu setzen ?
Denn das devicemapping unter commons ist ja implizit schon bei den meisten Adaptern enthalten die gut gepflegt roles haben. Man müsste nur den type fest definieren anstatt den device detector es raten zu lassen.
Natürlich könnte man die gut gepflegten devices Prominenter anzeigen aber das wird viele neue User verwirren die sich fragen wo ist denn mein schlecht gepflegtes device oder meine mqtt states.Vielleicht ist das auch zu kurz gedacht einfach ein device Type einzuführen der mandatory roles hat.
-
@tombox sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Was ist der genau Vorteil von aliases außer die Austauschbarkeit? Denn ich zb bin sehr faul und habe noch nie ein alias angelegt.
Naja am Ende siehe oben
Austauschbarkeit und die Möglichkeit "zusammengepuzzelt" ganz eigene Geräte bzw Objektstrukturen als Mischung aus verschiedenen Adaptern zusammenzubauen.Denn das devicemapping unter commons ist ja implizit schon bei den meisten Adaptern enthalten die gut gepflegt roles haben. Man müsste nur den type fest definieren anstatt den device detector es raten zu lassen.
Ich glaube das ist zu kurz gedacht (meiner Meinung nach). Vor allem zeigt die Erfahrung das sehr viel Raten und interpretieren nötig ist und wenn ich mir die 60 Gerätetypen von Amazon ansehe bin ich nicht sicher ob es reicht ... Du hast das alles für Google-Home gebaut und weisst an sich daher wie schwierig es ist das sicher zuzuordnen, oder ?!
eine Rolle value.temperature kann die aktuell gesetzte Temperatur sein, die Zieltemperatur sein und vllt min und max oder sonst was ... Rollen sind aus der aktuellen Erfahrung nicht eindeutig genug. Man kann das ggf nur lösen indem man die Rollen massiv erweitert, was es dann am Ende wieder auch nicht einfacher macht.
-
Ich finde das erstellen der Geräte eine super Sache, gerade der neue/unerfahrene Nutzer wird von der Menge an States erschalgen.
Muss aber auch sagen, dass ich bis lang mit dem "Geräte" Adapter noch nicht gearbeitet habe:
a: findet man ihn ganz schlecht in der Adapterliste
b: ist mir der Unterschied zwischen linkeddevices und devices nicht ganz klar, braucht man beide?
c : ist bei mir im Gerätetab alles zugespamt nach der Installation mit ca 100 Geräten die ich auch nicht löschen kann.Das ist auf jedenfall ein Mamutprojekt was viel Arbeit sein wird. Aber für die Übersichtlichkeit wird es ein großer Gewinn sein.
-
Ich habe mich gestern noch etwas mit dem Devices Adapter beschäftigt. Je länger ich damit gespielt habe, desto besser gefällt mir das Konzept. Meiner Meinung nach sollte das integraler Bestandteil von ioBroker sein und nicht ein separater Adapter, den man installieren kann (oder auch nicht).
Bei mir ist es im Grunde so, dass ich in der Visualisierung und in Alexa fast 1:1 die selben Geräte benötige. Momentan muss ich diese mehrfach konfigurieren. Wenn der Devices Adapter zwingend in ioBroker integriert ist, dann können andere Adapter diese Geräte nutzen und als Adapter Entwickler spart man sich einen großen Teil Arbeit für die Konfiguration und kann sich dadurch auf die wesentlichen Teile des Adapters konzentrieren.
Bzgl. der zu implementierenden Gerätetemplates muss es in jedem Fall die Möglichkeit geben ein Gerät komplett selber zu definieren, weil wir am Ende ziemlich sicher nicht alle Geräte implementieren können die die User so haben werden und evtl. steuern möchten. Ich denke da z.B. an die jetzige Implementierung eines Thermostats vs. HomeMatic Thermostat mit seinen unterschiedlichen Modi (Party Mode, etc.).
Rund wird die Sache, wenn der Devices Adapter andere Adapter erkennen könnte, die zusätzliche Konfigurationsmöglichkeiten bieten: z.B. zusätzliche Aliasnamen für Alexa ("Schlafzimmer Rolladen" und "Rolladen Darkroom" ) oder das Ausblenden von Geräten in einer Visualisierung. Alternativ (aber nicht so schön) könnte es auch anders herum sein indem zusätzliche Konfigurationsmöglichkeiten in die Geräte Objekte geschrieben werden.
Die Punkte von @Meistertr möchte ich noch ergänzen um
d: Was sind Info-Geräte und wofür braucht man die? -
@apollon77 ok verstehe ich aber ich würde soviel Verantwortung wie möglich in die Hand der Adapter Entwickler geben damit der Endnutzer nur noch alias benutzen muss wenn er basteln will. Das heißt jedes device und Channel muss ein smarthome Type haben. Jeder der Types hat mandatory roles die an states vergeben werden müssen. Wenn das nicht passiert gibt der Js Controller warnings aus.
-
Randbemerkung:
@apollon77 sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:Der mqtt Adapter könnte gar keine Rollen für die Zustände bereitstellen, weil er es selbst nicht weiss.
Da kann man sicher eingreifen und zumindest teilweise Rollen Automatisch durch raten vergeben genau so wie andere commons. Die Funktion um Objekte durch raten zu ergänzen könnte einfach in den js-controller integriert werden, dann würden alle Adapter davon Profitieren ohne daß jeder Entwickler sich darum kümmern muss.
Mein Ansatz dazu wäre die Auswertung der gelieferten Daten. Also Name des Objekts, Werte Typ, Kategorie des Adapters, und was man noch so finden kann an Informationen.
Beispiel: Objekt mit dem Namen (oder darin enthalten) Temperatur -> Rolle value.Temperatur -> übernehmen aller mandatory commons -> Unit: Standard der ioBroker InstallationEine weitere Idee: Die Objektdefinitionen sollten in einer Objekts.js(on) im Adapter abgelegt werden so daß es einheitlich ist und auch von nicht Entwicklern bei der Pflege geholfen werden kann. Aktuell ist es teilweise schwer bis unmöglich bei manchen Adaptern heraus zu finden wo und wie die Objekte aufgebaut werden. Was keinen Spaß macht wenn man eine Definition anpassen will.
Einige Adapter verfolgen diesen Ansatz mit der Zentralen Objektdefinition ja schon, bis jetzt gibt es da noch kein einheitlichen Standard. Ich würde mich freuen wenn das in Zukunft vereinheitlicht und zur Pflicht wird. Es ist klar das gleich wieder einige rufen werden daß geht nicht weil... Sehe ich nicht so, das es geht und Praktikabel ist sehe ich ja an meinen Adaptern.
Meiner Meinung nach sollte auf Adapter Ebene noch deutlich mehr Wert darauf gelegt werden daß die Definitionen da sind und eine Grundstruktur ein gehalten wird. Ganz klar das geht nicht immer, aber es wird noch lange nicht so gut genutzt wie möglich.
Zum Thema:
Ich bin kein Fan von davon so viel zu Überhauen und deswegen sollte das minimiert werden. Da wo es eben nicht geht sollte es so gestaltet werden daß User davon nur etwas sehen wenn es wirklich nötig ist. Und Adapter Entwickler sich damit nicht beschäftigen müssen, außer natürlich sie müssen damit direkt Arbeiten, was dann eine Ausnahme sein sollte.Das Konzept ist sonst in Ordnung, weil es wohl keine bessere Lösung gibt.
@braindead sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Meiner Meinung nach sollte das integraler Bestandteil von ioBroker sein
Dem Schließe ich mich an.
-
@Meistertr
a) Kann man ja verbessern
b) AM Ed eist es das gleiche, nur anders gemacht - einmal über adlias (Devices) oder über einen Adater (linkeddevices).
c) Das wäre ja genau eins der Themen. Das aktuelle wäre quasi der Posteingang -
@tombox Hm ... ich bin nicht ganz sicher ob es auf Dauer funktioniert das bei den Entwicklern zu sehen ... unser stark verteilter Ansatz macht das extrem schwierig - wie wir inzwischen Wissen ...
-
Ich bin gerade vom Zigbee Stick auf das Board umgestiegen und hatte exakt das Problem. Viele Skripte funktionieren nicht mehr, Alexa findet meine Geräte nicht. Ich finde den Ansatz super, besonders mit dem Fokus auf Alexa und Google.
Programmieren kann ich leider nicht, aber helfen würde ich sehr gerne!
Wie wäre es die 60 Gerätetypen von Alexa in einer Google Tabelle (o.Ä.) zu erfassen?Der Geräte Adapter ist für mich aktuell noch nicht ganz klar: z.B. bei einem LED RGB Lightstrip. Muss ich Licht, RGB-Licht, Farbtemperatur oder RGB-Licht single nehmen? Die darauf folgenden Typen sind mir auch nicht ganz verständlich.
-
Hallo zusammen
@apollon77Ich finde die Idee des Adapters wunderbar, aber ich kann ihn leider nicht testen / nutzen.
Wenn ich ein Gerät hinzufügen möchte, ist die Liste quasi nicht sichtbar. Zoomen im Browser hilft nicht... Leider
Hier ein paar Screens dazu
Systeminfo
Debian Betriebssystem linux Betriebssystem linux Architektur x64 CPUs 4 Geschwindigkeit 2096 MHz Modell AMD Opteron 22xx (Gen 2 Class Opteron) RAM 17.64 GB System Betriebszeit 4 T. 04:35:55 Node.js v12.18.2 NPM 6.14.5 Festplatte Größe 80.21 GB Festplatte frei 66.92 GB Anzahl der Adapter 355 Betriebszeit 00:14:46 Aktive Instanzen 33 Hostname Debian
Kann mir da jemand helfen bitte?
Dankesehr!!!
-
@lemonbiter Das Problem liegt wahrscheinlich an dem Darkmode Deines Browsers. Der ioBroker scheint damit nicht richtig umzugehen. Probier mal, ob es funktioniert, wenn Du den Darkmode deaktivierst.
P.S.: Ich freu mich schon auf die Zeit nach Corona, wenn wir uns wieder bei Dir zum HomeMatic Stammtisch treffen können.
-
@ Braindead
Hat sich erledigt, sehe gerade, dass Du mir dieselbe Auskunft gibst, auf die ich eben auch kam ... Dennoch Danke Dir!
Ist tatsächlich ein Darstellungsfehler: Wenn man den Script Adapter auf "Dunkler Stil" stehen hat, dann kommt es zu diesem Darstellungsproblem im Devices Adapter.
Habe nun im Scripte Adapter die Darstellung wieder auf "Heller Stil" stehen und nun ist die Anzeige hier auch korrekt.
Viele Grüße
Lem -
@adsfa said in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Der Geräte Adapter ist für mich aktuell noch nicht ganz klar: z.B. bei einem LED RGB Lightstrip. Muss ich Licht, RGB-Licht, Farbtemperatur oder RGB-Licht single nehmen? Die darauf folgenden Typen sind mir auch nicht ganz verständlich.
Ja, da fehlt leider noch eine Beschreibung der Geräte und auch der States, finde ich... aktuell muss man viel raten.
Was du in deinem Fall nehmen musst ist RGB-Licht oder RGB-Licht Single, das hängt davon ab, ob du einzelne States für r/g/b hast oder einen in den RGB als Hex-String eingetragen wird. Farbtemperatur enthalten beide als optionalen Zusatz. -
@apollon77 said in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Schritt 1: Gerätetypen und "Objekt-Templates"
Wie oben schon erwähnt, definiert Amazon für die Alexa Welt aktuell über 60 Gerätetypen, die alle unterschiedliche Werte als nötige bzw. optionale Felder haben. Bei Google gibt es ähnliches. Viele davon sind auch für Visualisierungen interessant, weil man am "Typ" eines Geräts sehr gut entscheiden kann wie man es anzeigen und bedienen sollte - und das viel besser als zu raten
Daher ist die Idee das wir, angefangen mit den Amazon- und Google Objekttypen den Devices Adapter um diese erweitern und in diesem Zuge für ioBroker Standardisieren - Standard bezüglich Pflicht und Standard-optionalen States(z.B. SET, ACTIUAL, COLOR, STATE ...). Gern kann man überlegen dazu weitere States "nutzerdefiniert" hinzufügen zu lassen, die aber dann von den ganzen nutzenden Adaptern ignoriert werden!
Das ganze wird dann als alias angelegt. Zusätzlich speichern wir im "device"-Objekt die Information zum genutzten Template. Dann muss man das danach nicht nochmals raussuchen.
Das bringt uns schon mal einen großen Schritt weiter: In Adaptern wählt man das "Device" Objekt aus und alle Informationen sind bekannt und ebenso welcher State-Name in dem Device Objekt was bedeutet. So muss kein Adapter mehr raten. Dem Type-Detector können wir auch so beibringen alles viel besser zu erkennen. Der grosse Vorteil ist aber das Adapter wie z.B. iot das ganze dann auch sehr gut zu den relevanten Amazon bzw Google-typen zuordnen können.
Die "Magie" liegt nur darin die Templates sinnvoll zu defineren. (Und natürlich muss iot irgendwie noch Rückwärts-Kompatibel bleiben damit alles noch so funktioniert wie aktuell - aber hier könnte man durchaus einmalig mit einer neuen Version automatisch aus allen zugeordneten Smart-Devices einmalig kompatible ALias Objekte anlegen, sodass iot danach direkt damit arbeiten kann).
Weiterhin sind so angelegte Aliasse unabhängig von den originalen Objekten und ein solches Alias-Gerät kann bei einem Gerätewechsel einfach mit einem neuen Objekt-Mapping versehen werden und schon ist das Gerät getauscht - ohne das sich die Objekt-IDs des Alias-Geräts ändern.
Auch könnte man in den Templates (oder auch so generell) Objekte die im Admin nicht für "jedermann" angezeigt werden sollen über "common.expert=true" verstecken. Ein Objekt mit dieser Information wird seit Admin 3.4.8 nur noch im Expertenmodus angezeigt.Also ich habe noch nicht wirklich verstanden, wo die "Objekt Templates" sich von den "Types" unterscheiden, die wir aktuell im type-detector haben (außer, dass es viel mehr sind, wenn man Google/Alexa als Grundlage nimmt). Oder gibt es da gar keinen fundamentalen Unterschied?
Wäre dann das Neue dann "einfach" viel mehr Types zu haben und den Typ statisch im Device zu speichern? grübel
Beim aktuellen System muss man ja darauf achten, dass es keine Mehrdeutigkeiten gibt bzw. wenn es die gibt, dass die Erkennung in der richtigen Reihenfolge passiert. Das erscheint mir, wenn man das deutlich erweitert, als üble Fehlerquelle. Die wird entschärft durch den fixen Typ, der dann durch Devices-Adapter oder, wenn Schritt 2 kommt, vom original Adapter definiert wird. Gibt es dann keine automatisierte Erkennung mehr?
Grundsätzlich gefällt mir das Konzept von alias & type-detector ganz gut. Das fix im Device zu speichern finde ich sehr sinnvoll. Das sollte man ganz sicher weiter entwickeln und eine Geräteansicht als zentralen Bestandteil für die User platzieren.
-
@apollon77 Ich wollte eben einen Eintrag mit dem Typ Instanz erstellen, seit dem kann ich kein Gerät mehr hinzufügen weil ich nur noch eine weiße Seite bekomme - Reboot brachte auch nichts und im Log steht auch nichts
-
@Stephan-Schleich Typ Instanz??? Was wolltest Du damit ... ds ist reserviert für Adapter Instanzen!
Brower Konsole irgendein Fehler?
ggf an der Kommandozeile das Objekt wieder löschen -
@apollon77 hab mich verklickt, es wurde kein Objekt angelegt zumindest seh ich keins.
Wenn ich den Adapter lösch sind alle aliase weg, kann ich die davor sichern? -
@Stephan-Schleich Aliasse sind nicht weg wenn DU Devices löschst. Wie kommst Du darauf?
-
@apollon77 in den Objekten verschwindet doch immer alles was mit dem Adapter zu tun hatte, den man deinstalliert.
Edit: Das Problem lag am Browser, Chache gelöscht und jetzt gehts wieder, so sah es aus
-
@Stephan-Schleich Nur states die unter den Instanzobjekten des Adaters abgelegt sind. deviecs hat da nichts. Was sagt die Browser Konsole?