NEWS
Test Adapter lovelace v1.2.x
-
@garfonso
Moin Moin,
ich glaube, ich muss echt mal anfangen mit Alias zu arbeiten so nach 7 Jahren iobroker.
Ich hatte es letzte Woche mal probiert, bin aber irgendwie dran gescheitert, vielleicht kannst du da eben kurz ein wenig Input geben, woran es denn gelegen hat.
Z. B. wollte ich den kompletten Objektbaum des Modbus, welche die Informationen der Nibe Wärmepumpe abruft als Alias erstellen.
Ist meine Annahme richtig, dass z.B. für jeden Messwert jeweils ein Channel und darunter der State erzeugt wird?
Alias erzeugt unter dem Tab "Geräte"
Im Alias Manager würde es gehen, dann sieht es so aus.
Also bei all meine Geräten, dass kann dauern, vor allem, wenn ich doch noch was an der Struktur ändern möchte im nachhinein.
Hast du vielleicht noch hilfreiche Tips zu Strukturen oder andere Fehler, in die ich hineinstolpern könnte?
Danach könnte ich dann richtig mit der Vis anfangen, Lovelace ist echt ne geile Sache mit den Custom Cards von Home Assistant.
Vielen Dank für deine Bemühungen, Unterstützung, und vor allem deinen Adapter. -
Es gibt gute und schlechte Neuigkeiten... die nächste Version wird noch etwas dauern, weil wohl die browser_mod Card komplett überarbeitet wurde. Da muss ich reingucken, was ich da am Adapter ändern muss. Ihr solltet nicht browser_mod 2.0 installieren, wird vermutlich nicht gehen
Dafür hab ich entschieden, dass der Adapter die browser_mod Karte jetzt einfach immer mitbringt (und damit die Objekte in instances immer was tun). Eine manuell installierte browser_mod Karte "überschreibt" dabei die mitgebrachte (bei meinen ersten Tests zumindest), die dann in neueren Versionen besser entfernen. Dafür teste ich browser_mod dann mit.
Die nächste Version des Adapters wird damit definitiv 3.x sein. Ich muss mal irgendwo aufschreiben, was man alles aktualisiern muss. flöt Aber eigentlich will ich auch das frontend nochmal aktualisieren.
-
@ple said in Test Adapter lovelace v1.2.x:
Ist meine Annahme richtig, dass z.B. für jeden Messwert jeweils ein Channel und darunter der State erzeugt wird?
Hi,
also mit dem alias-manager hab ich selber noch nicht gearbeitet.Bei mir sieht die Struktur in alias so aus, dass ich in der obersten Ebene "Ordner" (type
folder
) für die Gewerke habe (also z.B.alias.0.light
,alias.0.openstates
,alias.0.blinds
usw.). Darin hab ich dann für jedes dazu passende Gerät ein Objekt (typedevice
) und darin sind dann die alias-Objekte auf die Ziel Objekte.So funktioniert die Erkennung recht gut. Deine Struktur wird vermutlich auch funktionieren, das ist alles Geschmacksache. Das kannst du am besten immer im Geräte-Tab vom Admin prüfen (falls der nicht da ist, musst du ihn noch aktivieren und ggf. den devices adapter installieren). Da werden alle Sachen, die in alias.0 sind aufgelistet und es steht dran, als was die erkannt werden. Das gleiche Verfahren nutzt lovelace auch -> wenn es da klappt, wird es mit lovelace auch gehen. (und umgekehrt)
Du kannst dir auch den devices tab angucken um Geräte zusammen zu klicken. Die gefallen mir immer nicht so gut, weil die states in Großbuchstaben sind und so... aber das ist ein Weg um an die notwendigen Rollen & typen zu kommen, damit die Detektion funktioniert. Ansonsten, hier in der Entwikler-Doku nachschlagen, da steht in der SpalteRole
das wichtigste, die Rolle an der Datenpunkte von Geräten (und damit Geräte) erkannt werden.Ich habe mir hier, aber da gab es die ganzen Tools für aliase noch nicht, JSON-Dateien und Skripte gebastelt um die aliase zu bauen. Das ist allerdings alles etwas unübersichtlich geworden. hust
Ich glaube aber, das wichtigste, ist, dass man für ein "Geräte", was ioBroker/lovelace erkennen soll alle States in einem "Ordner" hat (ob das nun Device oder Channel ist, ist vermutlich Geschmackssache).
Achja, ein Tipp noch, der Name (also
common.name
) vom Gerät wird hinterher die entity_id (um Sonderzeichen erleichtert) und auch der "friendly name" (also was im UI auftaucht). Also in dem Fall deines Screenshots z.B. sensor.unten -> da würde ich noch Verbesserungspotential sehen.
(Alternativ einen englischen und deutschen Namen einbauen, dann wird der englische für die id genutzt und der deutsche bzw. der zur eingestellten Sprache passende für den friendly name).@ple said in Test Adapter lovelace v1.2.x:
Vielen Dank für deine Bemühungen, Unterstützung, und vor allem deinen Adapter.
Danke. (auch wenn es nicht nur mein Adapter ist, viel Arbeit von Bluefox steckt da drinnen)
-
@garfonso
Oh ha, sorry wenn ich den Thread für die Alias missbrauche.
Du machst deine Struktur anscheinend wie dein KNX, also nach Gewerke. Meine ist nach Räume, sollte damit also auch wohl irgendwie gehen. Ich versuche gerade einen Leitfaden zu finden, damit ich nicht nachher alles neu machen muss, das kenne ich schon mit den GA´s von KNX, das ist ne Menge Arbeit.
Der Openknx Adapter erzeugt ja bereits selber die Alias für lesen und schreiben, das klappt auch soweit.Den Gerätetab kenne ich, hatte mich nur gefragt, warum der alles groß schreibt und warum man nicht seine eigenen ID Namen vergeben kann. Denke ich werde die Geräte/Channel/Datenpunkte einzeln über Objekte anlegen und dazu den Verweis zu den originalen Datenpunkt. Blöd ist gerade nur, ich kann den ID Namen nicht nachträglich ändern, nur die Bezeichnung in der Spalte Namen. Mh, auch irgendwie umständlich.
Kannst du mir mal ein Screenshot schicken, wie es bei dir so aussieht im Baum und wie würdest du z.B. die Heizung bei mir anlegen wollen?
Für Brauchwasser der Heizung hätte ich folgende Datenpunkte.
-
@Garfonso
so, ich muss leider noch mal richtig nerven.
Das mit den Alias klappt soweit, ich baue mir einfach die Struktur nach wie bei meiner KNX Geschichte.
so langsam steige ich auch dahinter, wie die Enitäten auch automatisch gefunden werden.
Das macht auch soweit Sinn, weil man die Arbeit ja nur ein mal haben möchte.
Nun komm ich aber zum nächsten Problem, das mapping zum passenden Enität passiert ja aus dem Parameter "role" heraus.
"value.temperature" sowie auch "switch" wird passend gefunden, wenn der Raum sowie Funktion noch mit angegeben ist.
Nur wie sieht es bei Energie in kWh aus oder anderen? Was muss angegeben werden?Ich kann mich vor Jahren dran erinnern, dass die Problematik welche Rule angewendet wird von Adapter zu Adapter unterschiedlich ist, weil es kein Standard gibt. Ich kann das verstehen, ich ja auch stark gewachsen der iobroker.
Aber ich stelle mir die Frage, kann man jetzt nicht anfangen in den Ordner Alias sowie userdata die Role auf die zu beschränken, die angedacht sind, damit nicht jeder sein eigenes Süppchen kocht?
Bei den Adaptern ist es schwierig, man bekommt nicht alle an einem Tisch, aber bei Alias sowie userdata?
Wenn ich mir schon die Arbeit mache für alles benötigte Alias zu erstellen, dann kann man auch die passenden Rule setzen.
Somit könnten die Automatischen Mappingfunktionen in Zukunft auch die passenden Role finden und dazu gleich das icon, Button oder die Enitäten bei Lovelace hinzufügen. Also ähnlich wie es bei Lovelace bereits der Fall ist.
Wenns es eine Vorgabe gibt, dann können die Entwickler sich daran entlanghangeln und iobroker lässt nur die zu, die auch vorgesehen sind, ebenso die Einheiten. Man könnte sich an die wichtigsten aus dem KNX herauspicken.Ich habe das Problem gerade selber, da ich Daten aus dem Huawei WR auslese, da muss ich auch noch einiges anpassen, damit die Rule und Einheiten Stimmen.
Automatisch findet Lovelace es nicht, im Code habe ich leider dazu auch nichts gefunden, wo das mapping stattfindet außer der Temperatursensor, Feuchte usw. das scheint wohl in der sensor.js gemappt zu werden.
Aber wie kann sowas gemappt werden?{ "common": { "read": true, "write": false, "desc": "Created by Node-Red", "role": "energy", "name": "Energy_self_consumed", "type": "number", "unit": "kWh", "custom": { "influxdb.0": { "enabled": true, "storageType": "", "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": 0, "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "enableDebugLogs": false, "debounce": 1000 }, "lovelace.0": { "enabled": true, "entity": "sensor", "name": "Huawei_Meter_Energy_self_consumed", "attr_unit_of_measurement": "kWh", "attr_device_class": "energy" } } }, "native": {}, "type": "state", "_id": "0_userdata.0.Huawei.Meter.Energy_self_consumed", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1662630535121 }
Sorry wenn es nicht ganz hier reinpasst.
Gruß und Danke
-
Das finde ich auch nach wie vor noch was "schwierig".
Hab die Woche auch probiert einfach einen Datenpunkt mit dem Typ "Number" in Lovelace zu bekommen.
Ohne ihn als Heizung etc auszugeben. Hab ich bisher nicht geschafft. -
Meine Frage zu dem Thema wäre, geht bei jemanden die Rolladenaktoren von HM-IP (HmIP-FROLL) ? (Die Taster (Switch) macht er aber nicht den Behang in %)
-
@david-g
Das habe ich gerade mal getestet und das scheint zu funktionieren.
{ "common": { "name": "Sollwert", "desc": "Manuell erzeugt", "role": "temperature", "type": "number", "read": true, "write": true, "def": 0, "min": 19, "max": 23, "step": 1, "unit": "°C", "alias": { "id": "modbus.0.holdingRegisters.Brauchwasser.niedrig_WW_Stop" } }, "type": "state", "native": {}, "_id": "alias.0.EG.Wohnzimmer.Temp.Sollwert", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1662700928809 }
als rule geht wohl temperatur sowie auch value.temperature
Grundsätzlich ist das mit Alias echt ne super Sache. Das man Geräte tauschen kann ist nice to have, den größten Vorteil sehe ich eher darin, das man seine Struktur anpassen kann wie man es braucht und jeden Datenpunkt mit allen Metadaten füllen kann, die dann auch später für die Visualisierung genutzt werden können. Somit bleibt die Arbeit beim User, das finde ich auch in Ordnung, aber man müsste die rules vorgeben.
Mir bringt es nichts, wenn der Forecast adapter mit die rules befüllt, die eigentlich dort keinen Sinn machen.
Ich frag mal im alten Thread nach, der scheinbar dafür gedacht ist.
https://forum.iobroker.net/topic/35020/devices-alias-assistenten-visualisierungen-die-zukunft/57 -
@ple sagte in Test Adapter lovelace v1.2.x:
Das habe ich gerade mal getestet und das scheint zu funktionieren.
Genau, so (in der Art) bekomme ich es auch hin.
Ist aber keine Temperatur.
Schön wäre es, Zahlen auch "neutral" erkennen zu können.
Das will er irgendwie nicht. Hab es jetzt einfach in den Datenpunkteinstellubgen gemacht ^^. -
@ple said in Test Adapter lovelace v1.2.x:
Ich kann mich vor Jahren dran erinnern, dass die Problematik welche Rule angewendet wird von Adapter zu Adapter unterschiedlich ist, weil es kein Standard gibt. Ich kann das verstehen, ich ja auch stark gewachsen der iobroker.
Es gibt einen Standard. Zum einen gibt es die erlaubten Rollen. Alles, was nicht darin steht, sollte es nicht geben (das wird aber aktuell nicht erzwungen).
@ple said in Test Adapter lovelace v1.2.x:
Nur wie sieht es bei Energie in kWh aus oder anderen? Was muss angegeben werden?
Hier sind wir an einer Grenze, des ioBroker. Dazu gibt es noch kein eigenes Gerät (es gibt Leistungsmessungen optional bei Steckdosen, weil das ja recht häufig zusammen kommt, die unterstützt der Lovelace adapter noch nicht ). Da würde ich eine passende Rolle vergeben (z.B.
value.power.consumption
für kWh, also Stromverbrauch) und dann manuell für Lovelace eine sensor-Entitär konifgurieren. Da kannst du mit der Geräteklasse dann einstellen, was es genauer sein soll.Aber im Grunde fehlt da im ioBroker noch das Gerät (also z.B. im Geräte Adapter). Ich bin bisher noch nicht so richtig dazu gekommen, da passende "Sensoren" hinzuzufügen... und alle anderen Entwickler auch nicht.
@ple said in Test Adapter lovelace v1.2.x:
Wenns es eine Vorgabe gibt, dann können die Entwickler sich daran entlanghangeln und iobroker lässt nur die zu, die auch vorgesehen sind, ebenso die Einheiten.
Du kannst gerne bei den Adaptern gucken, ob sie Rollen verwenden, die es laut der oben verlinkten Dokumentation nicht geben dürfte oder die falsch verwendet werden (was noch viel schlimmer ist, z.B.
value.brightness
für einen Dimmer stattlevel.brightness
) und bei den Adaptern Github Issues anlegen.
Das ioBroker das erzwingt, da sind wir noch weit von weg, fürchte ich...@ple said in Test Adapter lovelace v1.2.x:
im Code habe ich leider dazu auch nichts gefunden
Weil das Mapping nicht im lovelace code stattfindet, sondern im type-detector: Aus dem Hash die Typen kannst du im Lovelace code finden. Die werden da den entity typen zugeordnet und die States mit Attributen verknüpft und fall nötig umgerechnet. Die automatische Erkennung der Geräte macht aber der type-detector.
@ple said in Test Adapter lovelace v1.2.x:
Aber wie kann sowas gemappt werden?
Geht aktuell nur manuell. Da fehlt, wie oben beschrieben, der passende Gerätetyp im type-detector. Das ist im Grunde eine Fleißarbeit sowas hinzuzufügen.
-
@xbit said in Test Adapter lovelace v1.2.x:
Meine Frage zu dem Thema wäre, geht bei jemanden die Rolladenaktoren von HM-IP (HmIP-FROLL) ? (Die Taster (Switch) macht er aber nicht den Behang in %)
Dann guck dir mal an, ob die Rolle und der Typ von dem state passen. Und/Oder wie das Gerät im Geräte-Tab dazu aussieht. Da sieht man eigentlich meist schon, wenn was fehlt oder nicht passt. Die richtige Rolle wäre
level.blind
zum steuern bzw.value.blind
zum Auslesen (was ja HM oft einzeln hat). Wenn die Rollen nicht passen, bitte beim HM Adapter ein issue erstellen. -
@garfonso
Kurz und knapp, Ok.
Ich werde mal die Alias weiter so aufziehen wie gedacht und mich an der Liste halten, was sich iobroker so vorstellt. Das kWh passt sehr gut für die rule value.power.consumption
Ich werde es dann erst mal weiter händisch anlegen sowie die Entitäten für Lovelace.
Mal schauen was da noch so kommt in Zukunft.Gruß und Danke, ich melde mich bestimmt noch mal
Und echt toller Adapter, freue mich schon auf neues -
Danke für die Info.
Hier mal die Objektdaten vom HmIP-FROLL:
Sollte ich da die rolle einfach anpassen (.blind hinzufügen) oder ein issue erstellen?
-
@xbit said in Test Adapter lovelace v1.2.x:
Sollte ich da die rolle einfach anpassen (.blind hinzufügen) oder ein issue erstellen?
Meine Empfehlung wäre "beides" Die Rolle anpassen ist für dich der Quick-Fix und das issue wäre dann für alle der langfristige Fix.
Vielleicht vorher nochmal den Adapter den state neu erstellen lassen, wenn das einfach geht. (Allerdings könnte das die history löschen aber mindestens die Settings musst du nochmal neu machen kopfkratz. Hintergrund: Die meisten Adapter ändern die Objekte nur, wenn sie nicht da sind -> wenn es also in einer neueren Version schon gefixt ist, müssen die Objekte erstmal gelöscht werden und dann neu erstellt werden, was dann meist beim Neustart des Adapters passiert).
-
Hallo zusammen,
ich nutze jetzt seit einer Weile den Lovelace Adapter und bin absolut begeistert davon.
Vielen Dank für die Entwicklung!Da ich doch auf inzwischen viele Custom Cards und eigene Bilder / Icons zurück greife ist die Übersicht in den Instanzen Einstellungen unübersichtlich geworden.
Daher habe ich einen Ordner für Bilder / Icons angelegt im Datei Browser, wenn nun allerdings ein Ordern hier angelegt ist werden keine Dateien mehr in den Instanzen Einstellungen angezeigt.
Vielleicht wäre es möglich dies mit einzubauen?
Ich kann mir vorstellen das das ein wenig komplex ist das mit einzubauen da vor allem Custom Cards hier im ''Root'' Verzeichnis vom Adapter liegen sollten.Danke für den genialen Adapter
Grüße
-
@zeptran
Ja, kann ich bestätigen. Da stolpert das UI über den Ordner... ich kann kurz fixen, dass es das nicht mehr tut... und der Löschen Knopf wird da vermutlich auch nicht tun, was man will... hm.Da vollen support für einbauen ist besonders im UI ein großer Aufwand... puh.
//Edit:
Also das UI is jetzt gefixt. Ordner werden in der Liste als "Ordner" angezeigt, ohne Lösch-Button. Also man kann damit nichts machen, aber die anderen Dateien werden wieder angezeigt und können editiert werden. -> kannst du, wenn du magst, von github testen (da ist allerdings auch ein neues lovelace-Frontend mit dabei, wo das theme und ggf. ein paar Karten aktualisiert werden müssen) -
Hallo zusammen,
ich versuche derzeit die Custom Card "Lovelace - graph-chartjs-card" einzubinden.
https://github.com/zibous/lovelace-graph-chart-card
Ich bin dabei wie folgt vorgegangen: Ich hab die Zip Datei unter Releases runtergeldaen, entpackt und daraus die chart-card.js bei den Eigenen Karten in der Insatz hochgeladen. Danach gespeichert und den Adapter neu gestartet.
Ich bekomme aber aber wenn ich diese Karte verwenden möchte folgende Fehlermeldung:
"Custom element not found: chart-card"Hab ich da was falsch gemacht, oder geht diese Karte in unserem Lovelace nicht
-
Was ähnliches hatte ich gestern auch.
Musste warum auch immer den Adapter nochmal neu starten und den Browser neu öffnen.
Was von beidem das ausschlaggebende war, weiß ich nicht.Auf git steht, dass man alle .js Dateien in den Ordner kopieren soll. Evtl liegt es daran.
-
@david-g Das hab ich auch schon probiert, leider ohne Erfolg.
Hab zwischenzeitlich auch alle anderen js.Dateien hochgeladen. Hat nichts gebracht
-
@banis
ja... da sind hard coded pfade drin in den Javascript Dateien. Das wird ohne Änderungen am adapter nicht gehen.Mein aktueller Ansatz ist, das grundsätzlich auf /cards/ umzubiegen und wenn darunter dann die "richtige" Ordnerstruktur ist (also so wie im Zip), dann sollte es gehen.
Ich werde also doch einen Support für Ordner einbauen müssen... ich verzweifle schon am UI. hust Mal sehen, ob ich das halbwegs nutzbar und ansehnlich hinbekomme...
Wenn du die Ordnerstruktur selber hinbekommst, dann kannst du es schonmal mit der github version testen. Da fehlt halt noch das UI, aber wenn die Dateien da liegen, müsste das laden zumindest gehen.