NEWS
Devices, Alias, Assistenten + Visualisierungen + die Zukunft
-
Devices, Aliasses, Assistenten und Visualisierungen und die Zukunft
Die Einführung von Aliasses in den js-controller und die ersten Versionen des "Devices"-Adapters waren nur der Anfang. WIr haben einiges damit vor.
Dieser Beitrag soll einige der Ideen und Gründe darstellen und zur Diskussion einladen. Noch ist nichts in Stein gemeisselt und das alles umzusetzen wird auch nicht wenig Aufwand, aber gemeinsam können wir in diese Richtung arbeiten.
Aktuelle Realität und die Probleme ...
Ein grosser Vorteil von ioBroker ist seine Flexibilität. Jeder Adapter kann seine Objekte und Zustände frei strukturieren. Das wird auch fleissig angewendet :)
Die Große Herausforderung ist allerdings, das Visualisierungs-Adapter und auch die Assistenzsystem-Adapter - iot vor allem für Amazon Alexa und Google/Next Home, aber auch yahka für Homekit - Informationen brauchen was einzelne Zustände darstellen und ob/wie mehrere Zustände zusammengehören. Ziel ist ja, dass diese Adapter mit wenig zusätzlichem Aufwand für den User Ihr Arbeit verrichten und die Geräte bedienbar machen.
Über Objekttypen wie "device" und "channel" oder im Notfall "folder" kann ein Adapter Zustände gruppieren und do dem User und auch anderen Adaptern mehr Informationen zu den Zuständen geben. Die Idee von "device" und "channel" kommt aus der Homematic Ecke und funktioniert dort recht gut. Ob ein Adapter das nutzen kann hängt aber stark von den Geräten und Kommunikationsprotokollen ab. Auch Adapter wo eine Instanz nur ein Gerät anbindet hat üblicherweise dann kein "device" Objekt.
Die Rollenangabe bei den Zuständen sind ein weiterer Weg Informationen darüber bereitzustellen was ein Zustand darstellt und bedeutet. Wir ersuchen bei allen Adaptern darauf zu achten das die Rollen Sinn machen. Ob aber eine Rolleninformation zur Verfügung steht ist auch eine Frage des Kommunikationsprotokolls. Der mqtt Adapter könnte gar keine Rollen für die Zustände bereitstellen, weil er es selbst nicht weiss.
Die aktuellen Visualisierungs- bzw. Assistenten-Adapter benötigen daher aktuell entweder umfangreiche Konfiguration oder können immer nur einen einzelnen State steuern oder müssen "Zusammenhänge erraten". Material als Beispiel nutz eine sog. "type detector" Library die versucht anhang von Rollen UND Device/Channel Strukturen zu erkennen was zusammen gehört und wie man es sinnvoll darstellen kann. Damit das aber immer funktioniert müssen die Zustände auch eine entsprechenden Aufbau haben - im Zweifel müssen also Adapter aufwändig angepasst werden.
Bei Amazon Alexa gibt es inzwischen für die Smart-Home-Skills die Version 3 (ioBroker nutzt noch Version 2) - hier sind es anstelle der ca. 10 Gerätetypen von v2 plötzlich ca. 60! Das ganze auf die gleiche Weise zu Mappen wir aktuell ist unmöglich. Daher müsste man die ganze Arbeit auf den user abwälzen.Weiterhin war es bisher auch beim Tausch von Geräten (z.B. wegen Defekten) immer schwierig in Bezug auf eigene Skripte oder z.B. Szenen. Meist ändert sich mit der Seriennummer des Geräts auch die Objekt-ID - oder Sie ändert sich beim Wechsel des Protokolls ganz. Dann muss man alle Skripte und auch die Visualisierungen bzw. andere betoffenen Adapter raussuchen und anpassen. Das ist recht aufwändig.
Erste Schritte: Aliasses und der Basis-Devices Adapter
Bei der Einführung der Aliasse haben wir bisher primär den einfachen Gerätetausch und weniger nötige Anpassungen an Skripten oder Visualisierungs-Adaptern propagiert. Und ja, diese Themen können damit bereits umgangen werden.
Unter dem reservierten Namensbereich alias.0 können Objekte angelegt werden, die auf ein anderes Objekt vom Type "state" verweisen. Dabei kann das neue Objekt auch einen anderen Datentyp o.ä. anbieten und auch Werte in beide Richtungen umrechnen. Der Zustand dieses Alias-Objekts hängt immer an dem Zustand des entsprechenden Quell-Objekts.
So weit so gut.
Um das wenigstens rudimentär zu bearbeiten wurde der Devices-Adapter programmiert, der versucht Geräte im System zu finden. Er beachtet dabei "device" Objekte und unterstützt auch Quasi-Aliasse vom "linkeddevices"-Adapter. Das ganze wirkt etwas Chaotisch und da muss garantiert noch viel dran getan werden.Beim Anlegen eines neuen Geräts wird dieses in alias.0 angelegt und man kann den Gerätetyp wählen. Passed zu diesem werden dann eine Liste von "Standard"-Objekten/Zuständen angezeigt die man mit den verlinkten IDs füllt. Diese Standard-Objekte haben das Ziel das am Ende alle über Devices angelegten "Schalter" bzw. "Lampen" o.ä. identisch aussehen, die korrekten Rollen und Datentypen haben. Somit kann man auch ein Licht welches zB per mqtt angebunden ist eine Definition verpassen, sodass Visualisierungs- bzw. Assistenz-Adapter wissen was es ist und wie es dann angezeigt werden muss.
Aktuell ist die Anzahl der Gerätetypen noch eher überschaubar, aber es ist ja auch nur der Anfang. Es gibt auch Helfer-Skripte im Forum die in alias.0 einfach Erlauben verknüpfte Objekte anzulegen.
Aber ja, so richtig gross ist der Mehrwert aktuell noch nicht, das ist uns bewusst.... aber die Zukunft wird besser
In den nächsten Abschnitten möchte ich Euch so ein bisschen über die Pläne und Ideen erzählen die wir auf dieser Basis angehen wollen.
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.
Schritt 2: Geräte-Guidance durch Adapter
Wenn das alles mal implementiert ist kann man Adapter-Entwicklen anbieten Ihre "device"/"channel"-Objekte um Meta-Daten zu erweitern. So könnte man zB seinen Geräten mitgeben was Sie für ein Gerätetype sind und wie die eigenen States zugeordnet sind zu den States die das Geräte-Template bietet. Das ist natürlich optional, aber bietet die Möglichkeit bei der Zuordnung direkt ein sinnvoll passende vorausgefüllte Maske anzubieten.
Zum Beispiel im "common" Bereich des Objekts sowas (am Beispiel einer Daikin-Adapter Objekts, State angaben relativ zum Device-Objekt):
"deviceMapping": { "template": "thermostat", "fields": { "SET": "control.targetTemperature", "ACTUAL": "sensorInfo.indoorTemperature", "HUMIDITY": "sensorInfo.indoorHumidity", "BOOST": "control.specialPowerful", "POWER": "control.power" } }Mit so einer Definition könnte müsste ein User sogar nicht einmal Alias-Geräte nutzen, weil auch hier alle Informationen für Visualisierungs- oder Assistenten-Adapter vorhanden wären. Dann könne auch das State direkt genutzt werden.
Schritt 3: Der "Geräte-Posteingang"
Aktuell haben wir 40k ioBroker Installationen, die alle noch keine solchen Gerätedefinitionen und Aliasse haben. Ebenso neue User kenne sich mit der Idee noch nicht so aus.
Die Idee wäre also hier, dass der Geräte Adapter mittelfristig standardmäßig mit installiert wird. Und wir ändern die UI: Die Standard-Ansicht zeigt nur Aliasse an und alles was keine Aliasse sind landet in einer zweiten Ansicht ... einer Liste wie ein Posteingang. Alle neuen "Device Objekte" von Adaptern werden dort aufgelistet und können zu einem Alias-Gerät gemacht werden. Am Ende ist das natürlich kein "muss" sondern ein Kann ... vllt finden wir auch einen neutraleren Namen als "Posteingang" ;-) Aber alles was hier drin ist kann man auf Klick und mit Wahn eines Gerätetyps und dann zuordnen von States in ein neues Alias-Gerät überführen. Ja die UI wird etwas Tricky das das sinnvoll bedienbar wird, da muss etwas Gehirnschmalz rein. Für einen neuen User kann man das in den Standardprozess mit einbauen: Adapter findet neues Gerät, gehe zu "Geräte" und ordne es zu (wenn er will). :-)
Schlussworte
So, das wäre die große Idee. Jetzt kommt Ihr? Macht das sinn? Ist das eine sinnvolle Richtung?
Bevor wir jetzt aber beginnen über Namen von States o.ä. zu diskutieren, lasst mal mit dem generellen Konzept beginnen. :-) Also bitte diskutiert (noch) nicht zu "Kleinteilig" ...
Nächste Schritte
Sinnvolle nächste Schritte wären genau das erste Set von Gerätetypen und deren States, Pflicht oder Optional und Bezeichnungen zu diskutieren. In meinen Augen sollten wir hier, auch in Richtung des grossen Amazon-v3-Skill-Vorhabens, mit den Geräte-Definitionen von Amazon und Google starten. Im Devices Adapter können wir ein Projekt anlegen. Pro Gerätetype ein Issue und dort einzeln finalisieren. Danach kann man die Implementieren.
Danach würde man die nächsten Schritte finalisieren.
So, jetzt... viel Spass beim (konstruktiven) Feedback geben und mitdiskutieren!
Ingo
@apollon77
Hallo, ich habe Anfang Dezember 2020 mit ioBroker begonnen und seit dem einiges getestet. Den Ansatz mit den Alias finde ich sehr gut, ähnlich einer Variablentabelle, allerdings habe ich noch einige Lücken im Verständnis der Philisophie des Adapters. :confused:
Soweit ich es bisher Verstanden habe erstellt man unter "Geräte" ein Alias Gerät (Geräte denen ich vorher schon Raum und Funktion zugeordnet hatte erscheinen automatisch in der Liste - allerdings nicht als Alias - was hat es damit auf sich wie sieht der Use case aus ?) hierbei kann man sich einen vorgefertigen Typ aussuchen.

Wenn man das neue Alias Gerät editiert sieht man, dass es eine vorgefertigte Struktur hat - welche sicherlich von dem zuvor gewaehlten Typ kommt.

Leider kann man in diesem Fenster nur die Quellen zu den einzelnen Tags/Members editieren, die Struktur selbst lässt sich hier nicht ändern genauso wie andere Parameter wie z.B. eine Konvertierung des Wertes.
Anpassungen der Struktur (Member hinzufügen) konnte ich nur unter Objekte durchführen und dort auch nur mit manuellen Anpassungen z.B. um diesen Fehler beim Anlagen eines neuen Datenpunkt unter dem Gerät zu lösen

erst wenn man den alias Parameter einfügt wird der Datenpunkt erkannt.

Legt man nun auf diese Weise mehrere Datenpunkte an funktionieren Sie in Objekte unter alias.0 auch wunderbar. Wenn man aber jetzt ein Geräte das entsprechende Gerät editiert sind die neuen Member zwar in dargestellt aber alle sind "scheinbar" mit der gleichen Quelle verbunden --> Darstellungsproblem ?

wie gesagt die Datenpunkte funktionieren.Ok jetzt zu meinem Problem bzw. Verbesserungsvorschlag.
Die Vorgegebenen Typen finde ich gut jedoch sehe ich hier den generischen Ansatz als problematisch. Z.B. passt der Typ Jalousie von der Struktur her nicht zu meinen HomePilot20 RademacherGeräten. So wie ich das bis jetzt verstanden habe werden diese Typen Entwicklerseitig zur Verfügung gestellt ? Was im Grunde sehr gut ist da so eine gewisse Standardisierung rein kommt.-
Vorschlag:
Der Adapterhersteller z.B. hier Homepilot20 liefert den GeräteTyp mit - er weiss am besten wie dieser auszusehen hat. -
Vorschlag:
Der User sollte seine eigenen Typen erstellen können evtl. in einem Editor. In dem Editor können auch die Systemseitig gelieferten Typen dargestellt und verwaltet werden. Ich denke da an ein Typ --> Instanz Konzept. Das Gerät arbeitet nur mit der Instanz somit haben ich die Möglichkeit zentral den Typ zu editieren (single point of change)
Die Verknüpfung der Quellen mit den einzelnen Member des Gerätes muss mit jedem neuen Gerät (für jeden Member) auch neu durchgeführt werden. Man kann es etwas schneller gestalten indem man das Gerät unter Objekte als JSON exportiert und nach Anpassung wieder importiert, ist aber alles nicht sehr effektiv.
Beispiel: Ich habe 10 Rollos vom gleichen Hersteller somit haben alle die selbe Struktur

und ein möglicher Typ "Rademacher_Rollo" hat die Parameter des Gerät ("Position"; "Action"; etc ) schon vorverbunden da diese ja bekannt sind, Somit muss ich nach anlegen eines neuen Gerätes nur noch den richtigen Pfad auswählen.
- Vorschlag: Zweistufige Projektierung
Stufe Eins:
Zuordnen eines GeräteTyp (oder User Defined Datatyp UDT) zu dem neu erstellten Alias Gerät.
Stufe Zwei:
Verschalten des Alias Gerät mit dem Pfad des realen Geräts.
Vorteil ist ich muss nur noch eine Verbindung herstellen und nicht jeden einzelnen Member einzeln verbinden. Diese spart sehr viel Zeit und ist weniger Fehleranfällig.
Ich hoffe ich habe es einigermaßen nachvollziehbar ausgedrückt sonst bitte einfach nachfragen. Gerne kann ich das auch in Github eintragen, möchte aber erst mal ein gemeinsames Verständnis und Wording finden.
Gruß Bungee
-
-
@apollon77
Hallo, ich habe Anfang Dezember 2020 mit ioBroker begonnen und seit dem einiges getestet. Den Ansatz mit den Alias finde ich sehr gut, ähnlich einer Variablentabelle, allerdings habe ich noch einige Lücken im Verständnis der Philisophie des Adapters. :confused:
Soweit ich es bisher Verstanden habe erstellt man unter "Geräte" ein Alias Gerät (Geräte denen ich vorher schon Raum und Funktion zugeordnet hatte erscheinen automatisch in der Liste - allerdings nicht als Alias - was hat es damit auf sich wie sieht der Use case aus ?) hierbei kann man sich einen vorgefertigen Typ aussuchen.

Wenn man das neue Alias Gerät editiert sieht man, dass es eine vorgefertigte Struktur hat - welche sicherlich von dem zuvor gewaehlten Typ kommt.

Leider kann man in diesem Fenster nur die Quellen zu den einzelnen Tags/Members editieren, die Struktur selbst lässt sich hier nicht ändern genauso wie andere Parameter wie z.B. eine Konvertierung des Wertes.
Anpassungen der Struktur (Member hinzufügen) konnte ich nur unter Objekte durchführen und dort auch nur mit manuellen Anpassungen z.B. um diesen Fehler beim Anlagen eines neuen Datenpunkt unter dem Gerät zu lösen

erst wenn man den alias Parameter einfügt wird der Datenpunkt erkannt.

Legt man nun auf diese Weise mehrere Datenpunkte an funktionieren Sie in Objekte unter alias.0 auch wunderbar. Wenn man aber jetzt ein Geräte das entsprechende Gerät editiert sind die neuen Member zwar in dargestellt aber alle sind "scheinbar" mit der gleichen Quelle verbunden --> Darstellungsproblem ?

wie gesagt die Datenpunkte funktionieren.Ok jetzt zu meinem Problem bzw. Verbesserungsvorschlag.
Die Vorgegebenen Typen finde ich gut jedoch sehe ich hier den generischen Ansatz als problematisch. Z.B. passt der Typ Jalousie von der Struktur her nicht zu meinen HomePilot20 RademacherGeräten. So wie ich das bis jetzt verstanden habe werden diese Typen Entwicklerseitig zur Verfügung gestellt ? Was im Grunde sehr gut ist da so eine gewisse Standardisierung rein kommt.-
Vorschlag:
Der Adapterhersteller z.B. hier Homepilot20 liefert den GeräteTyp mit - er weiss am besten wie dieser auszusehen hat. -
Vorschlag:
Der User sollte seine eigenen Typen erstellen können evtl. in einem Editor. In dem Editor können auch die Systemseitig gelieferten Typen dargestellt und verwaltet werden. Ich denke da an ein Typ --> Instanz Konzept. Das Gerät arbeitet nur mit der Instanz somit haben ich die Möglichkeit zentral den Typ zu editieren (single point of change)
Die Verknüpfung der Quellen mit den einzelnen Member des Gerätes muss mit jedem neuen Gerät (für jeden Member) auch neu durchgeführt werden. Man kann es etwas schneller gestalten indem man das Gerät unter Objekte als JSON exportiert und nach Anpassung wieder importiert, ist aber alles nicht sehr effektiv.
Beispiel: Ich habe 10 Rollos vom gleichen Hersteller somit haben alle die selbe Struktur

und ein möglicher Typ "Rademacher_Rollo" hat die Parameter des Gerät ("Position"; "Action"; etc ) schon vorverbunden da diese ja bekannt sind, Somit muss ich nach anlegen eines neuen Gerätes nur noch den richtigen Pfad auswählen.
- Vorschlag: Zweistufige Projektierung
Stufe Eins:
Zuordnen eines GeräteTyp (oder User Defined Datatyp UDT) zu dem neu erstellten Alias Gerät.
Stufe Zwei:
Verschalten des Alias Gerät mit dem Pfad des realen Geräts.
Vorteil ist ich muss nur noch eine Verbindung herstellen und nicht jeden einzelnen Member einzeln verbinden. Diese spart sehr viel Zeit und ist weniger Fehleranfällig.
Ich hoffe ich habe es einigermaßen nachvollziehbar ausgedrückt sonst bitte einfach nachfragen. Gerne kann ich das auch in Github eintragen, möchte aber erst mal ein gemeinsames Verständnis und Wording finden.
Gruß Bungee
Einfach mal über den Tellerrand geschaut:
Habt Ihr mittlerweile eine Roadmap zu diesem Thema oder zumindest eine allgemeine Roadmap 2021 für uns ?Gefühlt wurde in letzter Zeit viel am "Haus" gestrichen und auch das Dach mit einer Solaranlage ausgestattet ("Alexa Custom Skill") und sogar eine neue Dachterrasse geplant ("Text Kommandos für Alexa" ,... ) .
Aber gefühlt ist erstmal die Sanierung des Kellers notwendig, sonst bricht in den nächsten Jahren das Haus zusammen.Neue Anforderungen/UserStorys bzgl. Alexa-Unterstützung machen zurzeit keinen Sinn (wg. ausstehendem Update auf V3-AlexaApi).
Selbst für simple Grundfunktionen fehlt anscheinend das Grundgerüst (Temperatur_Steuerung/_Sensor über Alexa-App, Rolladensteuerung, usw. ).Das Basement bzgl. V3-AlexaApi sollte man schnellstens mit hoher Priorität angehen.
-
-
Einfach mal über den Tellerrand geschaut:
Habt Ihr mittlerweile eine Roadmap zu diesem Thema oder zumindest eine allgemeine Roadmap 2021 für uns ?Gefühlt wurde in letzter Zeit viel am "Haus" gestrichen und auch das Dach mit einer Solaranlage ausgestattet ("Alexa Custom Skill") und sogar eine neue Dachterrasse geplant ("Text Kommandos für Alexa" ,... ) .
Aber gefühlt ist erstmal die Sanierung des Kellers notwendig, sonst bricht in den nächsten Jahren das Haus zusammen.Neue Anforderungen/UserStorys bzgl. Alexa-Unterstützung machen zurzeit keinen Sinn (wg. ausstehendem Update auf V3-AlexaApi).
Selbst für simple Grundfunktionen fehlt anscheinend das Grundgerüst (Temperatur_Steuerung/_Sensor über Alexa-App, Rolladensteuerung, usw. ).Das Basement bzgl. V3-AlexaApi sollte man schnellstens mit hoher Priorität angehen.
@messiahs Hi, das Thema steht immer noch auf der Roadmap. Dein Vergleich mischt ein bissl ziemlich verschiedene Dinge. Der Custom SKill existiert seid über 2 Jahren quasi "ungeändert" und textCommands in Alexa2 ist ein Adapter Feature.
Aber ja, dieses Thema steht recht weit oben auf der Todo Liste ... so wie Zeit ist
-
@messiahs Hi, das Thema steht immer noch auf der Roadmap. Dein Vergleich mischt ein bissl ziemlich verschiedene Dinge. Der Custom SKill existiert seid über 2 Jahren quasi "ungeändert" und textCommands in Alexa2 ist ein Adapter Feature.
Aber ja, dieses Thema steht recht weit oben auf der Todo Liste ... so wie Zeit ist
@apollon77 Besteht den die Chance das dieses Jahr Zeit dafür ist?
Ohne Unterstützung der V3-Api fehlt einfach ein essenzieller Bestandteil bei Alexa. -
@apollon77 Besteht den die Chance das dieses Jahr Zeit dafür ist?
Ohne Unterstützung der V3-Api fehlt einfach ein essenzieller Bestandteil bei Alexa. -
I added an Issue as a Feature Request for the Devices Adapter regarding enhancements in the GUI. It relates to this topic as well. I hope that the GUI for Devices, in the long run, will be as great as the rest of ioBroker. You guys are doing an amazing job with js 3.2.x and the maturity of the core features! :)
Are the suggestions useful?
-
Hallo,
ich habe mal wieder ein Frage.
Nachdem es hier ja in letzter Zeit so einige Fortschritte gab und man nun auch beim anlegen eines Devices sehen kann ob Alexa unterstützt wird habe ich das mal versucht und es klappt auch alles soweit.
Nur in der Alexa App erscheint immer noch nicht z.B. bei einem Dimmer der Slider zum Einstellen der Helligkeit.
Mache ich hier etwas Falsch oder wird aktuell die Alexa v3 API noch nicht unterstützt?Auf alle Fälle sieht das ganze jetzt schon deutlich besser aus, weiter so :+1:
-
Hallo,
ich habe mal wieder ein Frage.
Nachdem es hier ja in letzter Zeit so einige Fortschritte gab und man nun auch beim anlegen eines Devices sehen kann ob Alexa unterstützt wird habe ich das mal versucht und es klappt auch alles soweit.
Nur in der Alexa App erscheint immer noch nicht z.B. bei einem Dimmer der Slider zum Einstellen der Helligkeit.
Mache ich hier etwas Falsch oder wird aktuell die Alexa v3 API noch nicht unterstützt?Auf alle Fälle sieht das ganze jetzt schon deutlich besser aus, weiter so :+1:
@mlengen sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Mache ich hier etwas Falsch oder wird aktuell die Alexa v3 API noch nicht unterstützt?
Ne dazu kamen wir noch nicht. Die neue Version des Devices Adapters ist eine vorarbeit dazu
-
Moin Moin zusammen.
So nach 8 Jahren fange ich auch mal mit Alias an, die Sanierung ist fast fertig und das KNX geraffel läuft soweit.
Nun sollte auch mal eine Vis her. Meine alte aus Material Design Widget sollte nun abgelöst werden.
Also habe ich mal geschaut, was sich so getan hat in den letzten Jahren.
Zwischenzeitlich habe ich mal Homeassistant ausprobiert, Vis und App sind Top, der Rest ist viel Aufwand.
Gira X1 dümpelt hier auch noch rum, aber naja.
Lovelace hat mich bisher komplett überzeugt, eigene Cards können einfach importiert werden und sieht schick aus. Entitäten können auch automatisch gefunden werden, und da komm ich nun zum Problem.Da ich all meine Datenpunkte, die ich brauche als Alias ausführen möchte, kann ich diese auch jetzt mit allen Daten füllen. Rule, Datentyp, Einheiten, Read, Write usw.
Auch das Verrechnen des Alias ist ne geniale Sache.Ein kleiner Vorschlag, falls der überhaupt umsetzbar ist.
In den Ordner Alias und Userdata,
kann es für die "rule" eine fest vorgegeben Liste geben? Der Vorteil wäre dann, dass man für die Vis Adapter ein mapping machen kann und nicht gleich jeder sein eigenes Süppchen kocht. Somit würden die entitäten beim Lovelace auch autmatisch gemappt werden können, aktuell ist unklar, welche rule man da haben muss.
Das man nicht alle Adapterentwickler dahinbekommt ist mir schon klar und das die Arbeit beim User ist finde ich auch in Ordnung.Oder ist mein Ansatz total über und der Post kann gelöscht werden :-)
Gruß und Danke
-
Moin Moin zusammen.
So nach 8 Jahren fange ich auch mal mit Alias an, die Sanierung ist fast fertig und das KNX geraffel läuft soweit.
Nun sollte auch mal eine Vis her. Meine alte aus Material Design Widget sollte nun abgelöst werden.
Also habe ich mal geschaut, was sich so getan hat in den letzten Jahren.
Zwischenzeitlich habe ich mal Homeassistant ausprobiert, Vis und App sind Top, der Rest ist viel Aufwand.
Gira X1 dümpelt hier auch noch rum, aber naja.
Lovelace hat mich bisher komplett überzeugt, eigene Cards können einfach importiert werden und sieht schick aus. Entitäten können auch automatisch gefunden werden, und da komm ich nun zum Problem.Da ich all meine Datenpunkte, die ich brauche als Alias ausführen möchte, kann ich diese auch jetzt mit allen Daten füllen. Rule, Datentyp, Einheiten, Read, Write usw.
Auch das Verrechnen des Alias ist ne geniale Sache.Ein kleiner Vorschlag, falls der überhaupt umsetzbar ist.
In den Ordner Alias und Userdata,
kann es für die "rule" eine fest vorgegeben Liste geben? Der Vorteil wäre dann, dass man für die Vis Adapter ein mapping machen kann und nicht gleich jeder sein eigenes Süppchen kocht. Somit würden die entitäten beim Lovelace auch autmatisch gemappt werden können, aktuell ist unklar, welche rule man da haben muss.
Das man nicht alle Adapterentwickler dahinbekommt ist mir schon klar und das die Arbeit beim User ist finde ich auch in Ordnung.Oder ist mein Ansatz total über und der Post kann gelöscht werden :-)
Gruß und Danke
@ple sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
der Post kann gelöscht werden
warum? du schreibst von vis, homeassistant, lovelace...
kann es für die "rule" eine fest vorgegeben Liste geben?
wenn ich dich nicht komplett falsch verstehe, JSON sollte sein, was du magst...
-
Moin Moin zusammen.
So nach 8 Jahren fange ich auch mal mit Alias an, die Sanierung ist fast fertig und das KNX geraffel läuft soweit.
Nun sollte auch mal eine Vis her. Meine alte aus Material Design Widget sollte nun abgelöst werden.
Also habe ich mal geschaut, was sich so getan hat in den letzten Jahren.
Zwischenzeitlich habe ich mal Homeassistant ausprobiert, Vis und App sind Top, der Rest ist viel Aufwand.
Gira X1 dümpelt hier auch noch rum, aber naja.
Lovelace hat mich bisher komplett überzeugt, eigene Cards können einfach importiert werden und sieht schick aus. Entitäten können auch automatisch gefunden werden, und da komm ich nun zum Problem.Da ich all meine Datenpunkte, die ich brauche als Alias ausführen möchte, kann ich diese auch jetzt mit allen Daten füllen. Rule, Datentyp, Einheiten, Read, Write usw.
Auch das Verrechnen des Alias ist ne geniale Sache.Ein kleiner Vorschlag, falls der überhaupt umsetzbar ist.
In den Ordner Alias und Userdata,
kann es für die "rule" eine fest vorgegeben Liste geben? Der Vorteil wäre dann, dass man für die Vis Adapter ein mapping machen kann und nicht gleich jeder sein eigenes Süppchen kocht. Somit würden die entitäten beim Lovelace auch autmatisch gemappt werden können, aktuell ist unklar, welche rule man da haben muss.
Das man nicht alle Adapterentwickler dahinbekommt ist mir schon klar und das die Arbeit beim User ist finde ich auch in Ordnung.Oder ist mein Ansatz total über und der Post kann gelöscht werden :-)
Gruß und Danke
-
@apollon77 sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
legen der aliase dann erken
Moin Moin,
ja ich dachte auch, dass es recht einfach mit dem Geräte Adapter geht, um eine saubere Struktur zu haben und auch alle Vorteile nutzen zu können.
Anscheinend ist es aber so, dass die States nur groß geschrieben werden können und es nur eine feste Vorgabe gibt.
Das hätte ich anders erwarten. Ich denke, es wird wohl einen Grund haben, warum das genau so gemacht worden ist, aber wäre vielleicht auch ein anderer Weg gehbar oder für die Zukunft eventuell.Hier mal ein Beispiel.

Für die Visu ist doch eigentlich nur die Rolle (value.temperatur) + Raum + Datentyp (bool, integar ...) interessant. somit weiß die Visu zB. Lovelace, dass es eine Entität Sensor ist.
In meinen Beispiel könnte der Ordner WW das Device sein, somit wären alle drunterliegenden States, egal ob temp oder switch dem Device WW zugeordnet. Man könnte es auch dreistufig aufbauen.
Heizung = Device
WW =Channel
Kühlung = Channel
Heizen = Channel
und darunter dann die States jedlicher Art.Für Räume wäre dann
Wohnzimmer = Device
Beleuchtung = Channel
Verbraucher = Channel
Sensoren = Channel
und darunter dann die States jedlicher Art.damit irgendwelche Adapter die States mappen können und wissen was was ist ( type-detector ) bräuchte man doch nur Rolle, Typ, mappen.
Jetzt wäre es doch gut, wenn der Ordner Alias sowie Userdata nur die Rollen/Typen zulässt, die auch angedacht sind für iobroker, unabhängig welches Gerät verwendet wird. Aktuell ist es so, dass jeder da reinschreiben kann was er möchte.
Klar liegt die Arbeit bei User, aber das wärs mir Wert, damit nicht alles doppelt gemacht werden muss.
Gruß und Danke für die Infos.
-
@apollon77 sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
legen der aliase dann erken
Moin Moin,
ja ich dachte auch, dass es recht einfach mit dem Geräte Adapter geht, um eine saubere Struktur zu haben und auch alle Vorteile nutzen zu können.
Anscheinend ist es aber so, dass die States nur groß geschrieben werden können und es nur eine feste Vorgabe gibt.
Das hätte ich anders erwarten. Ich denke, es wird wohl einen Grund haben, warum das genau so gemacht worden ist, aber wäre vielleicht auch ein anderer Weg gehbar oder für die Zukunft eventuell.Hier mal ein Beispiel.

Für die Visu ist doch eigentlich nur die Rolle (value.temperatur) + Raum + Datentyp (bool, integar ...) interessant. somit weiß die Visu zB. Lovelace, dass es eine Entität Sensor ist.
In meinen Beispiel könnte der Ordner WW das Device sein, somit wären alle drunterliegenden States, egal ob temp oder switch dem Device WW zugeordnet. Man könnte es auch dreistufig aufbauen.
Heizung = Device
WW =Channel
Kühlung = Channel
Heizen = Channel
und darunter dann die States jedlicher Art.Für Räume wäre dann
Wohnzimmer = Device
Beleuchtung = Channel
Verbraucher = Channel
Sensoren = Channel
und darunter dann die States jedlicher Art.damit irgendwelche Adapter die States mappen können und wissen was was ist ( type-detector ) bräuchte man doch nur Rolle, Typ, mappen.
Jetzt wäre es doch gut, wenn der Ordner Alias sowie Userdata nur die Rollen/Typen zulässt, die auch angedacht sind für iobroker, unabhängig welches Gerät verwendet wird. Aktuell ist es so, dass jeder da reinschreiben kann was er möchte.
Klar liegt die Arbeit bei User, aber das wärs mir Wert, damit nicht alles doppelt gemacht werden muss.
Gruß und Danke für die Infos.
@ple type detector nutzt rollen und typen und auch die Strukturierung in Channeln beispielsweise (weil ja zb bei einer Farblampe mehrere States "zusammengehören"). Nur Rolle und Typ ist zu kurz gefasst. Die vorgegebenen "Standardnamen" für relevante States helfen weiter zu wissen was es ist, sind aber nicht sooo wichtig - war nur die Idee es einheitlich zu machen.
Ich würde auch keine Devices oder channels für Dinge "verschwenden" wo man enums nutzen kann . alles voran Räume oder Funktionen. Also wäre das für mich alles "folder".
-
@apollon77
Ja das denke ich mir auch.
Aber noch mal auf mein Problem zu kommen.
ich teste gerade wie verrückt den Lovelace adapter, parallel teste ich ebenfalls Homaassistant.
ich komme schon so weit, dass der Lovelace adapter einen Sensor automatisch erkennt.
Die Angabe von value.temperatur + Raum + Funktion

Dabei ist es egal, ob übergeordnet ein Folder oder Device ist.
Soweit so gut. Im Thread vom Lovelace habe ich dann nachgefragt, warum z.B. die PV Anlage mit Energieertrag nicht automatisch gefunden werden kann. Meine Idee war ja, ich lege für alles Alias an und somit wird in der Visu und alles automatisch erkannt, kann aber nur funktionieren, wenn es Vorgaben gibt, von denen man nicht abweichen kann.
Ich dachte also, wenn ich für den Ertrag der PV Anlage die Rolle value.power.consumption vergebe + Raum + Funktion, dann würde dieses automatisch erkannt werden, das scheint aber nicht so, weil im type-detector dieser Typ noch fehlt.

Ich weiß, wir sind hier nicht bei "wünsch dir was" und es gibt bestimmt ne menge andere Baustellen und ich kenne nicht alle zusammenhänge im iobroker, aber wenn ich mir die Arbeit mache und Alias anlege für alle Datenpunkte, wäre es cool, wenn die anhand der vorgegebenen Rolle, Typ, Einheit erkannt werden können. Somit würde doch auch das automatische finden von Entitäten funktionieren wie beim switch oder value.temperatur.
Könnte dann so aussehen.

Mit den Daten sollte doch alles abgefangen werden können, oder nicht.
role = bestimmt ob es ein bool ist, oder Zahl
Raum = EG Wohnzimmer
Beleuchtung = Funktion LichtFür den User ist nur wichtig, dass es nur bestimmte Rollen / Funktionen gibt, damit das Mapping funktioniert.
Da darf nicht von abgewichen werden.
Funktionen wären z.B.- Licht
- Beschattung
- Sensoren
- Verbraucher
- Energie
- usw
Bei Rollen wäre die Liste sicherlich länger und man müsste 3 mal überlegen welche alle gebraucht werden.
in diesem Link ist schon ne Menge.
https://github.com/ioBroker/ioBroker.type-detector/blob/master/index.js#L30Oder man orientiert sich an Homeassinstant. HA finde ich nicht schlecht, nur ist es ein riesen Aufwand.
-
@apollon77
Ja das denke ich mir auch.
Aber noch mal auf mein Problem zu kommen.
ich teste gerade wie verrückt den Lovelace adapter, parallel teste ich ebenfalls Homaassistant.
ich komme schon so weit, dass der Lovelace adapter einen Sensor automatisch erkennt.
Die Angabe von value.temperatur + Raum + Funktion

Dabei ist es egal, ob übergeordnet ein Folder oder Device ist.
Soweit so gut. Im Thread vom Lovelace habe ich dann nachgefragt, warum z.B. die PV Anlage mit Energieertrag nicht automatisch gefunden werden kann. Meine Idee war ja, ich lege für alles Alias an und somit wird in der Visu und alles automatisch erkannt, kann aber nur funktionieren, wenn es Vorgaben gibt, von denen man nicht abweichen kann.
Ich dachte also, wenn ich für den Ertrag der PV Anlage die Rolle value.power.consumption vergebe + Raum + Funktion, dann würde dieses automatisch erkannt werden, das scheint aber nicht so, weil im type-detector dieser Typ noch fehlt.

Ich weiß, wir sind hier nicht bei "wünsch dir was" und es gibt bestimmt ne menge andere Baustellen und ich kenne nicht alle zusammenhänge im iobroker, aber wenn ich mir die Arbeit mache und Alias anlege für alle Datenpunkte, wäre es cool, wenn die anhand der vorgegebenen Rolle, Typ, Einheit erkannt werden können. Somit würde doch auch das automatische finden von Entitäten funktionieren wie beim switch oder value.temperatur.
Könnte dann so aussehen.

Mit den Daten sollte doch alles abgefangen werden können, oder nicht.
role = bestimmt ob es ein bool ist, oder Zahl
Raum = EG Wohnzimmer
Beleuchtung = Funktion LichtFür den User ist nur wichtig, dass es nur bestimmte Rollen / Funktionen gibt, damit das Mapping funktioniert.
Da darf nicht von abgewichen werden.
Funktionen wären z.B.- Licht
- Beschattung
- Sensoren
- Verbraucher
- Energie
- usw
Bei Rollen wäre die Liste sicherlich länger und man müsste 3 mal überlegen welche alle gebraucht werden.
in diesem Link ist schon ne Menge.
https://github.com/ioBroker/ioBroker.type-detector/blob/master/index.js#L30Oder man orientiert sich an Homeassinstant. HA finde ich nicht schlecht, nur ist es ein riesen Aufwand.
@ple irgendwie versteh ich dein prob nicht. lovelace und homeassistant haben doch nichts mit alias direkt zu tun.
der alias adapter nimmt die DP wie sie sind. gibt halt dann einen alias namen, der bei kaputten geräten einfach ersetzt werden kann. keine änderungen in scripts und co. -
@ple irgendwie versteh ich dein prob nicht. lovelace und homeassistant haben doch nichts mit alias direkt zu tun.
der alias adapter nimmt die DP wie sie sind. gibt halt dann einen alias namen, der bei kaputten geräten einfach ersetzt werden kann. keine änderungen in scripts und co.@da_woody
Sorry, bin nicht gerade der beste Erklärbär.
Alias könnte nicht nur einen Gerätetausch vereinfachen, sondern, ich denke, noch viel mehr.
Oft ist es so, dass bei den Adaptern die States falsch oder gar nicht komplett mit Metadaten ausgestattet sind.
Bis dato hat es nicht gestört.
Jetzt habe ich KNX im Haus, eine Nibe Wärmepumpe, eine PV usw.
Also bin ich neu angefangen und wollte eine saubere Struktur und das z.B. Lovelace die Geräte automatisch erkennt. Daher der Weg über Alias und da ist es mir aufgefallen, dass die Datenpunkte nicht komplett gemappt werden können. -
@da_woody
Sorry, bin nicht gerade der beste Erklärbär.
Alias könnte nicht nur einen Gerätetausch vereinfachen, sondern, ich denke, noch viel mehr.
Oft ist es so, dass bei den Adaptern die States falsch oder gar nicht komplett mit Metadaten ausgestattet sind.
Bis dato hat es nicht gestört.
Jetzt habe ich KNX im Haus, eine Nibe Wärmepumpe, eine PV usw.
Also bin ich neu angefangen und wollte eine saubere Struktur und das z.B. Lovelace die Geräte automatisch erkennt. Daher der Weg über Alias und da ist es mir aufgefallen, dass die Datenpunkte nicht komplett gemappt werden können.@ple sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Sorry, bin nicht gerade der beste Erklärbär.
:joy: da sind wir 2! ;)
mir ist aber trotzdem noch nicht klar welches prob du hast.
du machst im alias adapter: automatisch erstellen. dann werden dir alle DP angeboten. klar, du musst dir deine struktur vorher mal überlegen.
ich kenn lovelace zu wenig, aber wenn du das gerät angibst mit dem alias, sollte das doch genau so übernommen werden.
ich befürchte, das das so wie mit homeassitant ist, einfach einlesen, aber keine alias daten, sondern direkt aus dem adapter. -
@ple sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
Sorry, bin nicht gerade der beste Erklärbär.
:joy: da sind wir 2! ;)
mir ist aber trotzdem noch nicht klar welches prob du hast.
du machst im alias adapter: automatisch erstellen. dann werden dir alle DP angeboten. klar, du musst dir deine struktur vorher mal überlegen.
ich kenn lovelace zu wenig, aber wenn du das gerät angibst mit dem alias, sollte das doch genau so übernommen werden.
ich befürchte, das das so wie mit homeassitant ist, einfach einlesen, aber keine alias daten, sondern direkt aus dem adapter.@da_woody
Ja, du nutzt den Alias Adapter. Den hatte ich mir auch schon angesehen. Klar, wenn die originalen Datenpunkte soweit schon bereits gut aufgearbeitet sind, dann werden die Rollen, Typen, Einheiten auch übernommen.Es gibt im iobroker aber noch mehr, iobroker versucht anhand der Metadaten zu mappen. zb. was ist eine Steckdose, was ein Licht usw.
und das versuche ich zu verstehen, warum einige gehen und andere nicht.
Für mich sind die Typen, Rollen, Funktionen eindeutig um zu bestimmen, ob es ein Licht mit Dimmer ist, oder Steckdose schaltbar mit Energiemessung.
Und genau das wollte ich mit Alias abdecken und hatte gehofft, Lovelace erkennt es anhand der Metadaten.Der Jarvis Adapter macht es ähnlich, aber dort müssen die Geräte erst mal händisch angelegt werden, dort wird auch angegeben was der Datenpunkt ist, Blind.Level usw.

Und genau die doppelte Arbeit wollte ich mir ersparen, wenn ich den Alias alle mitgeben kann.
Das mache ich ein mal fertig. -
@da_woody
Ja, du nutzt den Alias Adapter. Den hatte ich mir auch schon angesehen. Klar, wenn die originalen Datenpunkte soweit schon bereits gut aufgearbeitet sind, dann werden die Rollen, Typen, Einheiten auch übernommen.Es gibt im iobroker aber noch mehr, iobroker versucht anhand der Metadaten zu mappen. zb. was ist eine Steckdose, was ein Licht usw.
und das versuche ich zu verstehen, warum einige gehen und andere nicht.
Für mich sind die Typen, Rollen, Funktionen eindeutig um zu bestimmen, ob es ein Licht mit Dimmer ist, oder Steckdose schaltbar mit Energiemessung.
Und genau das wollte ich mit Alias abdecken und hatte gehofft, Lovelace erkennt es anhand der Metadaten.Der Jarvis Adapter macht es ähnlich, aber dort müssen die Geräte erst mal händisch angelegt werden, dort wird auch angegeben was der Datenpunkt ist, Blind.Level usw.

Und genau die doppelte Arbeit wollte ich mir ersparen, wenn ich den Alias alle mitgeben kann.
Das mache ich ein mal fertig.@ple sagte in Devices, Alias, Assistenten + Visualisierungen + die Zukunft:
das versuche ich zu verstehen, warum einige gehen und andere nicht
Das hab ich schon lange aufgegeben. Oft wirkt das alles sehr zufällig und selbst Objekte mit identischen Metadaten werden Unterschiedlich behandelt.
Für mich ist das keine Erleichterung eher ein Hindernis.