NEWS
Test lovelace 4.x
-
@swisslizard
Hier muss ich nochmal nachfragen, was du genau mit "browser_mod2" meinst. Ich hab heute nochmal recherchiert und das Repository, wo du auch hingelinkt hast, redet (seit einiger Zeit) von "browser_mod 2". Ist das damit gemeint?Hast du das Problem denn? Weil der iobroker-lovelace Adapter eigentlich schon länger browser_mod
2.3.0
mitbringt. Ich update mal auf2.3.1
(die micht sogar erwähnt, yay )... aber eine andere Version 2 hab ich bisher nicht gesehen.Ich mein, wenn du einen fork maintainen willst, können wir gerne darüber reden. Ich hab aber schon nen lovelace fork, den ich maintaine. g
-
Ich muss gestehen, dass ich die browser mode Geschichte nicht in allen Details recherchiert habe. Hatte das erwähnte Problem mit den überlangen Popups auf Mobile Devices. Bei der Suche nach einer Lösung bin ich auf den weiter oben mal verlinkten Pullrequest gestossen und habe die Ansatz erfolgreich ausprobiert. Da ich noch eine Reihe weiterer Issues und Pull Requests aus der gleich Zeit gesehen habe, die mit dem Kommentar, dass keine Übernahme gemacht wird weil wegen Browser Mod 2 eine neue Codebasis da ist, habe ich ganz naiv angenommen, dass auch dieser Pullrequest in dieses Kapitel gehört.
Wie auch immer, für mich ist das Problem gelöst und die Popups erscheinen in der richtigen Grösse.
An dieser Stelle ein grosse Dankeschön für das Maintainen des Adapters. Einen eigenen Fork zu Maintainen war und ist eigentlich nicht mein Plan , aber wenn ich Code in die Finger kriege, dann dauert es meist nicht lange bis ich dran rumbastelte und eigene Anpassungen mache. Mit dem Fork ist es am einfachsten die Changes aus Deiner Implementierung zu übernehmen.
By the way, ich müsste wohl noch etwas aufräumen um Dinge die nur für mich relevant sind von anderem in separate Branches abzutrennen, aber ich bin bei Interesse gerne bereit meine Changes als PR zur Verfügung zu stellen. Am ehsten Interesant sind allenfalls die Ergänzungen bei den Settings (nehme an der Screenshot ist selbsterklärend) und ev. die Changes/Fixes beim Cover Converter (ist allerdings kaum getestet und darum eher WIP, da ich im Moment keine Cover Entities benutze).
-
Hallo zusammen,
ich bekomme den Adapter auf Teufel komm raus nicht so wirklich zum laufen, um über die Cloud zuzugreifen.
Im heimischen Netzwerk funktioniert alles, über iobroker.pro leider nicht.Aktuell habe ich die Version 4.1.11 installiert. Ich habe aber auch andere getestet:
Im Cloud-Adapter dürfte die Einstellung auch passen:
Die Einstellungen der lovelace-Instanz sehen so (unverändert) aus:
Ich hab diverse Beiträge und Versuche durch.
Wenn ich über "iobroker.pro/lovelace/" gehe, lädt er unendlich:
Den Cache habe ich bereits gelöscht, Sicherheitseinstellungen im Browser angepasst und diverse Browser ausprobiert.
Habt ihr eine Idee, wie ich ich den Adapter zum Laufen bekomme?
Unter iobroker.pro bekomme ich LOVELACE 2x angezeigt, muss das so?
-
-
Lovelace stürzt wiederholt ab mit Mushroom Light Card
Ich nutze seit kurzem auf einem Panel die Mushroom Light Card und andere Karten. Seitdem erlebe ich regelmäßige Abstürze von Lovelace, wenn ich versuche, im Dashboard Farbänderungen oder Helligkeitsänderungen vorzunehmen. Die Mushroom-Cards haben v4.2.0, Lovelace ist v4.1.11.
Folgend mal zwei Fehlermeldungen aus dem Log.
Vielleicht hat jemand eine Idee, ob das eine Versionsinkompatibilität ist, ein Bug in der iobroker-Implementierung von Lovelace, in den Mushroom-Cards oder Lovelace selbst?
Viele Grüße!
2024-12-05 06:40:27.372 - error: lovelace.0 (274948) TypeError: Cannot set properties of null (setting '0') at rgbGetParser (/opt/iobroker/node_modules/iobroker.lovelace/lib/converters/light.js:324:47) at /opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:826:38 at Array.forEach () at WebServer.onStateChange (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:802:22) at Object.stateChange (/opt/iobroker/node_modules/iobroker.lovelace/main.js:54:35) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:5827:31) at Immediate. (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/build/esm/lib/states/statesInRedisClient.js:291:37) at process.processImmediate (node:internal/timers:483:21) 2024-12-05 06:40:27.372 - error: lovelace.0 (274948) Cannot set properties of null (setting '0') 2024-12-05 06:40:27.373 - error: lovelace.0 (274948) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2024-12-05 06:40:27.373 - error: lovelace.0 (274948) unhandled promise rejection: Cannot set properties of null (setting '1') 2024-12-05 06:40:27.373 - error: lovelace.0 (274948) TypeError: Cannot set properties of null (setting '1') at rgbGetParser (/opt/iobroker/node_modules/iobroker.lovelace/lib/converters/light.js:324:47) at /opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:826:38 at Array.forEach () at WebServer.onStateChange (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:802:22) at Object.stateChange (/opt/iobroker/node_modules/iobroker.lovelace/main.js:54:35) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:5827:31) at Immediate. (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/build/esm/lib/states/statesInRedisClient.js:291:37) at process.processImmediate (node:internal/timers:483:21) 2024-12-05 06:40:27.373 - error: lovelace.0 (274948) Cannot set properties of null (setting '1') 2024-12-05 06:40:27.378 - info: lovelace.0 (274948) cleaned everything up... 2024-12-05 06:40:27.380 - info: lovelace.0 (274948) terminating 2024-12-05 06:40:27.380 - warn: lovelace.0 (274948) Terminated (UNCAUGHT_EXCEPTION): Without reason 2024-12-05 06:40:27.881 - info: lovelace.0 (274948) terminating 2024-12-05 06:40:28.138 - error: host.iobroker instance system.adapter.lovelace.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
-
Hallo Zusammen,
ich bin seit ein paar Tagen begeistert dabei mir eine Lovelace-Visu für mein IOBroker zu klöppeln.
Ich habe hier schon den Thread hoch und runter gelesen und auch den "ultimate Guide" durchgearbeitet.
Vieles klappt danach schon Super.
Wo es bei mir nun hapert sind Lampen mit Farbsteuerung (Farbtemperatur oder auch RGB Lampen)
Ich habe die wie hier ja mehrfach Empfohlen über die Geräte in IOBroker angelegt.
Leider tauchen Sie bei mir gar nicht als Entitäten auf.
Woran kann das liegen?Hier meine Config unter "Geräte:
von den gezeigten Geräten tauchen nur die Einhornlichterkette und die Testlampe "Kind 1 LED" vom Typ Dimmer unter entitäten auf.
und das Ergebnis unter Objekte-Alias:
Für einen Schubs in die richtige Richtung wäre ich sehr dankbar!
Gruß, Jan
-
Ich habe leider noch einen Fehler gefunden, diesmal auch ohne die Mushroom Cards. Auch hier stürzt Lovelace ab mit Verweis auf rgbGetParsers.
lovelace.0 2024-12-06 20:39:00.913 info terminating lovelace.0 2024-12-06 20:39:00.411 warn Terminated (UNCAUGHT_EXCEPTION): Without reason lovelace.0 2024-12-06 20:39:00.411 info terminating lovelace.0 2024-12-06 20:39:00.410 info cleaned everything up... lovelace.0 2024-12-06 20:39:00.402 error Cannot set properties of null (setting '0') lovelace.0 2024-12-06 20:39:00.402 error TypeError: Cannot set properties of null (setting '0') at rgbGetParser (/opt/iobroker/node_modules/iobroker.lovelace/lib/converters/light.js:324:47) at /opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:826:38 at Array.forEach (<anonymous>) at WebServer.onStateChange (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:802:22) at Object.stateChange (/opt/iobroker/node_modules/iobroker.lovelace/main.js:54:35) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:7312:31) at Immediate.<anonymous> (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/build/esm/lib/states/statesInRedisClient.js:291:37) at process.processImmediate (node:internal/timers:483:21) lovelace.0 2024-12-06 20:39:00.399 error unhandled promise rejection: Cannot set properties of null (setting '0') lovelace.0 2024-12-06 20:39:00.398 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
-
@garfonso Hallo, leider komme ich an einer Stelle nicht weiter und bitte um Hilfe:
- ich benutze shelly plus2pm zur Rolladensteuerung, habe diesen auch brav per device Adapter Aliases zugeordnet:
- wie man auf dem nächsten Bild sieht, sind die Buttons für auf bzw. zu nicht aktiv, wenn diese auf 0% oder 100% stehen (siehe Hobby). Wenn ich irgendwo zwischen 0 und 100% stehe (siehe Büro) , werden die Buttons aktiv.
Ich hätte die Buttons gerne immer aktiv. Was mache ich falsch?
PS: Nutze die Mushroom Cover Card
-
Nur aus Interesse....
Warum möchtest du weiter hoch fahren, wenn die Rollläden schon ganz oben sind? -
Zunächst einmal vielen Dank für den tollen Adapter, der aus meiner Sicht sehr intuitiv bedienbar ist und auch im ersten Schritt keine Probleme bereitete.
Da hier alle sehr zufrieden sind überlege ich aktuell, ob das Phänomen nur bei mir auftaucht. Ich habe zum Testen u.a. mein Büro konfiguriert
Sieht alles sehr ordentlich aus und funktioniert ebenfalls in allen Entitäten.
Allerdings nur bis zum Neustart des Adapters bzw. Reboot des Rechners... Danach fehlen die automatisch generierten Entitäten und die manuell zugewiesenen Entitäten funktionieren nach wie vor.
Dieser Zustand ändert sich dann auch nicht mehr (auch nicht Stunden später), es sei denn ich entferne dir Funktion oder den Raum aus dem Device und setze alles neu...
Auch sind dann die Entitäten aus dem Adapter nicht mehr zu sehen:
vor dem Neustart des Adapters:
nach dem Neustart des Adapters:
Sobald man wider die Funktion oder den Raum je Device neu setzt, legt sich die Entität wieder an und wird auch sofort korrekt visualisiert.
Gibt es hier Probleme mit dem Type-Detector?
Vielleicht hat ja jemand eine Lösung für das Problem, bevor ich hierzu einen FR im github erstelle.
Folgende Systeminfo:
OS: Ubuntu 24.04.1
Node.js: v20.18.1
NPM: 10.8.2
lovelace Adapter: v4.1.11Ich hatte gesehen, dass es unter github einen Eintrag (Bluefox) gab, dass es bereits eine v4.1.11 gibt. Da das Problem bereits bei der Installation mit v4.1.10 auftrat, dachte ich mir, ggfs. wäre das Problem damit schon obsolet. Der Fehler ist nach wie vor vorhanden...
Zumindest nimmt mir aktuell eine permanente Neuzuordnung (Raum/Funktion) für die automatische Erkennung der Entitäten ein wenig den Spaß am Adapter...
Evtl gibt es ja bereits eine Lösung
EDIT:
Hat sich erledigt. Eine Gruppierung (Raum/Funktion) auf einem Media Alias hat einen Error erzeugt... Im alexa.0...player Verzeichnis funktioniert es und die automatische Suche der Entitäten somit auch... -
@erstam said in Test lovelace 4.x:
ein Bug in der iobroker-Implementierung von Lovelace
Also das sicher. Aberstürzen darf der Adapter nicht, egal, mit was ihn das Frontend traktiert.
Ich muss nochmal tiefer reingucken... es sieht tatsächlich aus, wie ein Fehler im Adapter-Code... bin gerade unsicher, wie das passieren kann (aber das ist am Anfang normal ).Allerdings sehe ich gerade keinen Zusammenhang mit der Karte. Sicher, dass es an der Karte an sich liegt (oder nur daran, dass du den entity sonst nicht in der Konfiguration hast, weshalb er nicht weiter beachtet wird?).
-
@jpakusch
Das Problem ist vermutlich, dass du ON nicht befüllt hast (dafür aber ON_ACTUAL). Da kann der Adapter nur bei Dimmern mit umgehen...Erklärung:
ON = Schater, also damit steuert der Adapter das Licht, ob es an oder aus sein soll. Wenn das fehlt, weiß er nicht, wie er es aus oder an machen soll und ignoriert es (könnte man auch nochmal drüber nachdenken, ob das vernünftig ist)ON_ACTUAL = Status-Rückmeldung des Lichts. Meistens ist der ioBroker Weg, dass die ebenfalls in "ON" ankommt und da mit dem Flag
ack
auftrue
gesetzt (der Zustand wird dann in admin grün). Aber gibt es auch einzeln (da du KNX nutzt, solltest du das Konzept ja kennen, oder? )Also, trag mal was in ON ein (von den Namen, die ich sehen kann her, würde ich sagen, das was du in ON_ACTUAL hast, ist eher ON).
Und ja, das wird nirgendwo so richtig erklärt, leider... (gerne Ideen dafür Vorschlagen... hätte gerne, dass man das irgendwie beim anlegen des Alias-Geräts mitbekommt, aber gibt bisher keinen Weg das vernünftig zu pflegen)
-
@manrum1 said in Test lovelace 4.x:
Ich hätte die Buttons gerne immer aktiv. Was mache ich falsch?
Nichts. Das soll so. Bzw. wenn überhaupt musst du gucken, ob / wie man das in lovelace / HomeAssistant anpassen kann....
Ein "hack" wäre dafür zu sorgen, dass die Rolladen halt "offiziell" nie ganz offen/zu sind. Aber mehr kann ich aus dem ioBroker raus da nicht machen.
Die Frage von David ist da auch relevant, was ist dein Use Case? Vielleicht kann man das anders lösen.
-
@armilar said in Test lovelace 4.x:
Sobald man wider die Funktion oder den Raum je Device neu setzt, legt sich die Entität wieder an und wird auch sofort korrekt visualisiert.
Puh...
Spontane Idee dazu:
irgendwas ist in deinen Objekten, was den type-detector oder adapter bei der automatischen Erkennung aller Geräte beim start aussteigen lässt. Da bitte mal ins log gucken! Gerne ein debug log von einem Adapterstart mir zukommen lassen (wenn es geht Version 4.1.11). Da muss ich vermutlich was reparieren.Wenn du an Objekten was änderst (z.B. raum & funktion, aber auch der Name oder was anderes), dann bekommt der Adapter das mit und legt ausschließlich für die veränderten Objekte neue Entities an (falls notwendig). Daher funktioniert es bei dir trotzdem noch auf dem Weg. Aber das ist natürlich nicht so gedacht.
@armilar said in Test lovelace 4.x:
Hat sich erledigt. Eine Gruppierung (Raum/Funktion) auf einem Media Alias hat einen Error erzeugt... Im alexa.0...player Verzeichnis funktioniert es und die automatische Suche der Entitäten somit auch...
Zeig mir doch bitte trotzdem mal ein Log von dem Fehler.
-
Hast du eine Idee dazu, wie der entity aussieht bzw. die ioBroker Objekte? Irgendwas ist da merkwürdig...
bei mir scheint es auch zu funktionieren.
-
Bin heute zeitlich etwas sehr gebunden. Werde das heute Abend mal alles (LOG's/Retest) zusammenbringen.
-
-
@garfonso Erstmal Danke für die Antwort!
ON_Actuual hatte ich befüllt, irgendwie wurde das aber immer wieder entfernt.
Ich musste dann auch manuell noch die Rolle auf light.Switch setzen, das hat der "Assistent" bei der GEräteerstellung irgendwie nicht gemacht. als mir das aufgefallen war klappte auch alles.(da du KNX nutzt, solltest du das Konzept ja kennen, oder? 😉 )
...Kenn' ick!
-
Danke erstmal für deine Mühe! Ich weiß es echt zu schätzen, dass du dir immer wieder die Zeit nimmst, selbst die absurdesten Fehler zu prüfen. Es handelt sich dabei um eine neue Lampe, die ich über den govee-local-Adapter ansteuere und die über alias gemappt ist. Ich habe aktuell den folgenden Fix (die beiden Initialisierungsblöcke in der rgbGetParser-Funktion unten) in den Converter eingebaut, der die Abstürze bisher zuverlässig verhindert. Wenn ich jetzt noch rausgefunden hätte, wie ich Push-Requests bei Github erstelle, hätte ich das gleich dort eingestellt.
Hier erstmal der Ausschnitt der rgbGetParser-Funktion aus /lib/converters/light.json. Unten auch die Objektstruktur.
const rgbGetParser = (index, entity, attr, state) => { let targetAttributes = entity.attributes; if (entity.state !== 'on') { targetAttributes = entity.context.STATE.storedValues; } // Fix Erstam - Ensure rgb_color is initialized targetAttributes.rgb_color = targetAttributes.rgb_color || [0, 0, 0]; // Fix Erstam - Ensure rgbw_color is initialized if white state is present if (states.white) { targetAttributes.rgbw_color = targetAttributes.rgbw_color || [0, 0, 0, 0]; } let val = state ? state.val || 0 : 0; val = val / attr.max * 255; targetAttributes.rgb_color[index] = val; // ... // }
[ { "_id": "alias.0.RoomX.Licht.Decke", "type": "device", "common": { "name": "RoomX Licht Decke" }, "native": {}, "user": "system.user.admin", "ts": 1610277952286, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.javascript.0" }, { "common": { "name": "RoomX Licht Decke", "type": "boolean", "role": "switch.light", "read": true, "write": true, "custom": {}, "alias": { "id": "govee-local.0.11:F4:D0:C9:07:68:77:38.devStatus.onOff", "name": "RoomX Licht Decke" } }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1733225567992, "_id": "alias.0.RoomX.Licht.Decke.Switch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, { "common": { "name": "RoomX Licht Decke", "role": "level.brightness", "type": "number", "unit": "%", "read": true, "write": true, "alias": { "id": "govee-local.0.11:F4:D0:C9:07:68:77:38.devStatus.brightness" }, "custom": {} }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1733225567992, "_id": "alias.0.RoomX.Licht.Decke.brightness", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, { "common": { "name": "RoomX Licht Decke", "type": "string", "role": "level.color.rgb", "read": true, "write": true, "custom": {}, "alias": { "id": "govee-local.0.11:F4:D0:C9:07:68:77:38.devStatus.color", "name": "RoomX Licht Decke" } }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1733225567992, "_id": "alias.0.RoomX.Licht.Decke.color", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, { "common": { "name": "RoomX Licht Decke", "type": "number", "role": "level.color.temperature", "read": true, "write": true, "unit": "K", "alias": { "id": "govee-local.0.11:F4:D0:C9:07:68:77:38.devStatus.colorTemInKelvin", "name": "RoomX Licht Decke", "read": "(val < 2200) ? 2200 : val", "write": "val" }, "min": 2200, "max": 7000 }, "native": {}, "type": "state", "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1733225567993, "_id": "alias.0.RoomX.Licht.Decke.colortemp", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, { "type": "state", "common": { "name": "RoomX Licht Decke", "role": "boolean", "type": "boolean", "read": true, "write": true, "alias": { "id": "govee-app.0.11:F4:D0:C9:07:68:77:38.snapshots.1887829" } }, "_id": "alias.0.RoomX.Licht.Decke.scene_bright", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1733585675075 }, { "type": "state", "common": { "name": "RoomX Licht Decke", "role": "boolean", "type": "boolean", "read": true, "write": true, "alias": { "id": "govee-app.0.11:F4:D0:C9:07:68:77:38.snapshots.1887825" }, "custom": { "lovelace.0": { "enabled": true, "attr_has_time": false, "attr_has_date": true, "entity": "scene", "name": "RoomX_Licht_Decke_scene_evening" } } }, "_id": "alias.0.RoomX.Licht.Decke.scene_evening", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1733242474201 }, { "type": "state", "common": { "name": "RoomX Licht Decke", "role": "boolean", "type": "boolean", "read": true, "write": true, "alias": { "id": "govee-app.0.11:F4:D0:C9:07:68:77:38.snapshots.1876469" }, "custom": { "lovelace.0": { "enabled": true, "attr_has_time": false, "attr_has_date": true, "entity": "scene", "name": "RoomX_Licht_Decke_scene_night" } } }, "_id": "alias.0.RoomX.Licht.Decke.scene_night", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1733242461619 } ]
-
@manrum1 said in Test lovelace 4.x:
Ich würde das Verhalten halt gerne verstehen. Liegt es an Lovelace oder an der Implementierung der Karte
Das Verhalten liegt daran, dass in HomeAssistant mit der Karte
cover
entities gesteuert werden. Die haben einenstate
, der kann seinopen
,closed
,opening
,closing
,unknown
. Danach entscheidet die Karte, welche Knöpfe sie anzeigt.
Nun haben wir in ioBroker diesen state nicht. Der Adapter mapped daher das level (wenn vorhanden) auf offen/zu und setzt den State entsprechend. Ein möglicher "Hack" wäre da immerunknown
anzugeben. Da weiß ich ehrlich gesagt nicht, wie sich die Karte dann verhält.@manrum1 said in Test lovelace 4.x:
Grundsätzlich würde ich gerne selbst entscheiden, wie es sein soll.
Um ehrlich zu sein: Dann ist lovelace vielleicht nicht die richtige Visualisierung für dich (und HomeAssistant als Plattform auch nicht, falls dir das mal jemand sagen sollte ). Da ist vieles festgegeben und da kommt man relativ schwer drum herum. Wenn du eine feste Vorstellung hast und die basteln möchtest, guck lieber eine der vielen anderen Möglichkeiten (z.B. vis2, was langsam aus der beta kommt oder so) an.
In dem konkreten Fall besteht natürlich die Möglichkeit eine Custom-Karte zu verwenden oder selbst das verhalten mit Knöpfen zusammen zu basteln oder so (indem du entsprechende Service_calls verwendest als tab-action). Aber wenn du da ständig auf Punkte stößt, die du umschiffen musst, macht es irgendwann auch keinen Spaß mehr (besonders wenn ein update des frontends das dann alles zerschießen sollte). Auch wenn ich natürlich froh bin für jeden User von lovelace.Persönlich hab ich hier eh hauptsächlich für alle Räume Knöpfe gebaut mit "offen", "zu" und "schatten" (also so fahren, dass der Rolladen unten ist, aber die Ritzen noch auf sind). Da mit slidern rumfummeln will ich nicht.
Aber da ist ja jeder anders.