NEWS
Test Adapter lovelace v1.2.x
-
@garfonso Also ich habe die layout-card.js in die Übersicht "Eigene Karten" gezogen und den Adapter neu gestartet. Allerdings, wenn ich mir das Repository auf Github so ansehen, dann vermute ich, dass da noch mehr Dateien integriert werden müssen. Denke der src Ordner enthält noch so einiges Relevantes. Wenn ich mir in Lovelace dann mal die EInstellungen für ein Tab aufrufe, dann finde ich dort zwar Hinweise auf layout-card, aber das war es dann auch. Die Konfigurationspunkte fehlen:
Oder lassen sich im ioBroker Lovelace gar keine eigenen Karten mit mehr, als der js-Datei installieren. Die button-card funktioniert bei mir z.B. einwandfrei.
LG Jo
-
@johannes1702
Ne, die layout-card.js ist schon alles, was du brauchst. Ich würde aber empfehlen, falls nicht geschehen, die aus einem Release zu nehmen. Das letzte wäre https://github.com/thomasloven/lovelace-layout-card/releases/tag/2.4.2Bei kurzem Überfliegen der Release notes wäre es vielleicht sinnvoll mal ein früheres Release auszuprobieren -> die release & latest Version sind noch mit dem Frontend von Dezember 2021 unterwegs (202112XX.X) -> daher vielleicht mal 2.3.1 ausprobieren (also vor 2.4.0 mit fixes für 202203XX.X -> müsstest du dann selber im Blick haben, ein frontend release wird "bald" (tm) kommen, vermutlich aber als breaking release).
-
-
@johannes1702 said in Test Adapter lovelace v1.2.x:
Das mit dem Frontend verstehe ich nicht ganz.... Willst Du sagen, dass die aktuellsten Versionen von layout-card eine neuere Version von Lovelace voraussetzen, als derzeit in ioBroker implementiert ist?
ja, genau.
Die Version, die implementiert ist, steht im Readme hier: https://github.com/ioBroker/ioBroker.lovelace#version (vorausgesetzt, ich verschlafe nicht, das zu aktualisieren hust - bzw. aktuell stimmts auch nicht, weil ich schon an einer neueren Version arbeite) bzw. auch im Changelog (-> seit 2.1.0 sind wir auf Version
20211229.0
). -
@garfonso Ah cool, da bin ich mal gespannt und freue mich über die Weiterentwicklung
-
Kurze Frage, ich steh noch am Anfang, komme aber recht gut voran, aber kennt einer den Grund, warum ich bei Eingabe der Enitäten keine Auswahl im Pulldown machen kann mit der Maus? Scrollen geht ebenfalls nicht. Einzig mit den Pfeiltasten kann ich durch die Liste gehen. Browser habe ich chrome und edge ausprobiert, STRG+F5 auch ein paar mal gemacht.
Andere Frage, für die Slider, kann ich da min und max mit übergeben? Wollte nicht, dass Frau die WP mal auf 100° setzt :-).
Laut dem hier sollte es eigentlich gehen, aber leider ohne Erfolg.
https://www.home-assistant.io/integrations/input_number{ "_id": "modbus.0.holdingRegisters.Brauchwasser.normal_WW_Start", "type": "state", "common": { "name": "", "role": "value.temperature", "type": "number", "read": true, "write": true, "def": 0, "unit": "°C", "custom": { "lovelace.0": { "enabled": true, "entity": "input_number", "name": "holdingRegisters_Brauchwasser_normal_WW_Start", "attr_mode": "slider" } } }, "native": { "regType": "holdingRegs", "address": 59, "deviceId": 1, "type": "uint16be", "len": 1, "offset": 0, "factor": 0.1, "poll": true }, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1662375970090 }
-
Mit der Auswahl habe ich aicu manchmal zu kämpfen.
Tippe meistens direkt die Namen ein.Ist der Datenpunkt vom Slider manuell angelegt oder von einem Adapter?
Ich Lose das bei mir (eigene Datenpunkte), indem ich im Datenpunkt selber min und max definiere. -
@david-g
der kommt vom Modbusadapter, da gibt es soweit keine Möglichkeit den zu begrenzen.
Hatte auch mehr darauf gehofft, dass es aus Lovelace geht.
Hast du denn ein Slider mit min und max mal defeniert, sodas man den nicht übersteuern kann?
ich bin ja gerade noch wie verrückt am testen, daher habe ich erst mal eine Lösung über custom Card mit der
sieht dann so aus.Also ich muss schon sagen, bin schon echt begeistert was man mal eben so herzaubern kann, aber irgendwie stoße ich da schon immer mal wieder auf Sachen, da weiß ich nicht, ob es an mir liegt oder an Lovelace.
hier noch ein Beispiel, kann aber auch an mir liegen.
Klicke ich auf die Card, öffnet sich ein Popup, nur dort werden die States nicht mit dem Namen überschrieben, wie in der Card, sondern da steht da halt Modbus.0.xxxxxx
Das ist aber nur bei den Custom Cards so.Ich geh mal davon aus, das Lovelace im Core abgewandelt wurde, damit das nativ im iobroker läuft.
gibt es vielleicht auch eine Möglichkeit die States aus dem iobroker irgendwie direkt an eine HAS Instanz zu senden? Platz für ne VM hätte ich noch genug, dann würde doch deren eigenen App auch laufen, oder? -
@ple said in Test Adapter lovelace v1.2.x:
der kommt vom Modbusadapter, da gibt es soweit keine Möglichkeit den zu begrenzen.
Naja, das Objekt kannst du ja trotzdem bearbeiten (in admin -> objekte hinten bei dem entsprechenden Objekt den Stift und dann da wo
"write": true,
usw. steht noch"max": 50
und"min": 30
eintragen -> Werte natürlich anpassen, wie du es brauchst -> dann hast du das überall in ioBroker, wo du es brauchst, z.B. warnt der dann, auch wenn Skripte sich nicht dran halten usw.).Ich kann nicht empfehlen, sowas in lovelace zu basteln.
@ple said in Test Adapter lovelace v1.2.x:
Klicke ich auf die Card, öffnet sich ein Popup, nur dort werden die States nicht mit dem Namen überschrieben, wie in der Card, sondern da steht da halt Modbus.0.xxxxxx
Ja, weil das "popup" die Informationen vom Entity sind und nicht von der Karte. Auch hier empfehle ich die Namen der Objekte direkt (an der gleichen Stelle, wie oben beschrieben) anzupassen, wie sie dir gefallen (wobei das die entity ids ändern kann, zumindest bei automatisch erkannten entities -> empfiehlt sich also frühzeitig anzugehen ).
Alternativ kann man auch (hab ich zu fast allem gemacht) mit alias arbeiten. Das ist viel Arbeit am Anfang, aber wenn sich mal was ändert, muss man Skripte und UI nicht anpassen, sondern nur die Aliase. Hat sich bei mir schon bewährt (z.B. beim wechsel von knx adapter auf openknx oder als mal ein Gerät ausgefallen ist und die ID halt in der Objekt-ID mit war).
-
@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.