NEWS
Test Adapter lovelace v1.2.x
-
Das fände ich auch interessant zu wissen, auch wenn mir mal noch der Anwendunsfall fehlt.
Würde ihn aber schnell finden -
Hallo,
ich versuche mich gerade an Lovelace leider scheitere ich schon an einer Card "Bedingte Elemente".
Die Card hat folgenden Inhalt leider wird das Bild nicht angezeigt obwohl der Zustand richtig ist (wird auch im Editormodus angezeigt)type: conditional conditions: - entity: .Stephan state: 'true' card: type: picture image: /cards/m_anwesend.png hold_action: action: none
Stelle ich um auf state_not: 'true' wird das Bild immer angezeigt (egal ob true oder false) im Visuellen Editor wird aber immer die Änderung von true auf false angezeigt sonst passiert nichts.
könnte mir da jemand einen Tipp geben?
Lovelace Version 1.5.0
Beste Grüße -
Mich irritiert das was
- entity: .Stephan
Müsste vor dem ".Stephan" nicht noch was stehen?
EDIT:
Sorry, kann im Editor von lovelace Smartphone kein copy paste machen. Deshalb kein Code.Hab es grad so gemacht und es klapp.
Bekommst beim anlegen ja auch die aktuellen States angezeigt. Evtl ist da ja ein Fehler drin. -
Ich habe einen Datenpunkt 0_userdata.0.Lovelace.Anwesenheit.Stephan und habe dort über den Schraubenschlüssel eine Entität für Lovelace erstellt und habe es auf automatisch stehen lassen... dass ist dabei raus gekommen sollte da was geändert werden?
-
Würde es auf binary-sensor wie in meinem Beispiel stellen. Ein Sensor der nur ja und nein kann.
-
Danke muss ich mal schauen wie ich das mache da die Anwesenheit wo anders her kommt der Datenpunkt ist ja auch nur true und false ...
-
Das ist wirklich komisch.
Würde den Datenpunkt trotzdem anpassen in den Settings.
Wirkt sich ja niergens anders aus. -
Danke @david-g
habe über den Schraubenschlüssel den Entitätstyp auf Schalter umgestellt und arbeite mit On/Off nun geht es auch
Danke für die Hilfe -
Da gibt es offensichtlich bisher noch keinen Support für...
Bei den manuellen entities scheint einer mal einfach alle möglichen Domänen reingekippt zu haben ohne das groß zu testen. Da wird dann immer der State von ioBroker 1:1 (bis auf ein paar allgemeine Übersetzungen wie true/false zu on/off usw.) als state vom entity übernommen. Das klappt oft, aber nicht immer und in dem Fall offensichtlich auch nicht.Insbesondere werden die weiteren Attribute bei den manuellen Entities bisher so gut wie nicht unterstützt (bis auf wenige Ausnahmen). Ich guck mal, was sich da machen lässt.
//Edit:
Urgs... datetime sieht aber kompliziert aus.. das ist ja alles in extra attributen... seufz
Warum hast du da bei dir ein Objekt vom type "string" in ioBroker? Ist nicht normalerweise ein datetime eher "number" mit rolle "date" und halt dem timestamp drinnen?
Wobei... ach, ich knall einfach den ioBroker Wert in new Date() und alles was das supported geht und der Rest halt nicht. Klingt das gut? -
@xbit
true/false ist nicht richtig als Wert. Das wird immer in 'on'/'off' übersetzt. Versuch es mal mit den Werten. true/false gibt es im HASS Universum nicht.Ok, sehe du hast es später auch festgestellt. "switch" ist aber nicht wirklich dafür gedacht, sondern eher für was, was du auch schalten kannst. "binary_sensor" ist für Anwesenheitserkennung schon die richtige Wahl und sollte mit 'on'/'off' gehen.
-
@garfonso : Das klingt super! Ich experimentiere noch und habe auch mittlerweile rausgefunden, dass "number" und Rolle "date" besser ist. In der Auswertung im Markdown mache ich es genauso, dass ich den Wert einfach in ein new Date packe, dann kann ich damit spielen.
Vielen Dank! Wenn das klappt, lassen sich so elegant im Frontend Schedules setzen, jedenfalls ist das mein Plan.
-
@garfonso sagte in [Test Adapter lovelace v1.2.x]
Insbesondere werden die weiteren Attribute bei den manuellen Entities bisher so gut wie nicht unterstützt (bis auf wenige Ausnahmen). Ich guck mal, was sich da machen lässt.
Dazu mal eine generelle Frage: An was werden die Attribute ausgemacht - wo kommen die her - von der Role/Rolle?
Das was total super wäre, ist das manuelle setzen bei auto und manuellen Entitäten.
Oder habe ich etwas noch nicht verstanden... Denn bei selbst erstellten Datenpunkten z.B. von Mikrocontrollern über MQTT oder selbstdefinierten aus Skripten erhalte ich nie Attribute.
Beispiel: ESP-Easy liefert mir eine Temperatur, dazu aber noch den Load, IP, Uptime etc... Temperatur ist/soll Entität die anderen Werte Attribute - geht das?
Danke für Info
-
@erstam
Ich mag Zeit-Typen nicht... egal... wenn du magst, kannst du mal testen,Garfonso/iobroker.lovelace#dev
als URL bei "von beliebiger URL installieren" angeben. Hab's gerade fertig gemacht (und noch keine neue Version o.ä.).Achja, er nimmt has_date und has_time aus dem custom-Part des Objekts. has_date wird, bei fehlender Info als "true" angenommen, has_time als false.
-
@nukleuz said in Test Adapter lovelace v1.2.x:
@garfonso sagte in [Test Adapter lovelace v1.2.x]
Insbesondere werden die weiteren Attribute bei den manuellen Entities bisher so gut wie nicht unterstützt (bis auf wenige Ausnahmen). Ich guck mal, was sich da machen lässt.
Dazu mal eine generelle Frage: An was werden die Attribute ausgemacht - wo kommen die her - von der Role/Rolle?
Nein. Vom erkannten Gerätetyp. Der wiederum hängt mit Rollen von Datentypen zusammen usw...
Das was total super wäre, ist das manuelle setzen bei auto und manuellen Entitäten.
Oder habe ich etwas noch nicht verstanden... Denn bei selbst erstellten Datenpunkten z.B. von Mikrocontrollern über MQTT oder selbstdefinierten aus Skripten erhalte ich nie Attribute.
Beispiel: ESP-Easy liefert mir eine Temperatur, dazu aber noch den Load, IP, Uptime etc... Temperatur ist/soll Entität die anderen Werte Attribute - geht das?
Ähm... den Krempel unterstützt doch in Lovelace eh nix als Attribut? Willst du da trotzdem einfach drin stehen haben?
Aber Antwort ist: Nein, geht aktuell nicht. Das Problem ist ja: du stellst das manuelle entity ja nur für einen Datenpunkt ein. Wie willst du dem Adapter sagen, welche zusätzlichen Datenpunkte du noch gerne hättest und zu welchen Attributen die gehören sollen?
Ein entity mit mehreren ioBroker Datenpunkten geht aktuell eben nur über die automatische Erkennung -> der type-detector baut da ioBroker Geräte zusammen und die übersetzt der Adapter dann in entities.
Ich überlege zwar, wie man das manuell auch hinbekommt und hab da jetzt nochmal was angefangen... aber das geht nur sehr eingeschränkt.
Wenn das mit beliebigen Attributen nen Wunsch ist, könnte man das natürlich einbauen... wäre vermutlich kein großer Aufwand (außer, dass die Struktur dafür geschaffen werden müsste)... weiß aber nicht, ob das dann noch hübsch ist? grübel (bis auf das UI... das kann ich nicht so gut... wäre dann erstmal im custom-Part rumhacken, bis ich mal zum UI komme und da dann nicht verzweifel)
-
@garfonso : Erst mal vielen Dank für deine Mühen!
Nach dem Installieren der Dev-Version ist allerdings einiges im Argen:
- Meine Rollläden werden nicht mehr (automatisch) erkannt. Mit der vorherigen Version ging es problemlos.
- In manchen Entity-IDs von automatisch erstellten Entities habe ich offensichtlich Umlaute. Dies war bisher auch kein Problem, jetzt werden diese durch "_" ersetzt. Damit werden diese in der Config nicht mehr gefunden.
- Meine Echo-Devices schmeißen jetzt alle eine Fehlermeldung, wenn der Adapter startet:
2021-04-08 19:26:58.643 - error: lovelace.0 (14986) Invalid attribute name for {"friendly_name":"Audio/Musik Terrasse","entity_picture":"./adapter/alexa2/icons/echo_dot3.png","icon":"mdi:play-network","media_content_type":"unknown","supported_features":17460} = unknown
- Und den input_datetime bekomme ich leider auch nicht ans Laufen. Ich erhalte weiterhin die Meldung "Invalid Date", wenn ich die Entity in eine Entity List packe. Beim Time Picker erhalte ich "You must set an input_datetime entity that sets has_time: true". Ich habe verschiedene Kombinationen ausprobiert (type: number/string; has_time/has_date: true/false) und auch verschiedene Werte. Leider bisher erfolglos.
Ich habe jetzt wieder einen Downgrade auf die 1.5 gemacht, jetzt geht es wieder.
Sag Bescheid, wenn ich noch etwas testen kann.
-
@erstam said in Test Adapter lovelace v1.2.x:
@garfonso : Erst mal vielen Dank für deine Mühen!
Nach dem Installieren der Dev-Version ist allerdings einiges im Argen:
- Meine Rollläden werden nicht mehr (automatisch) erkannt. Mit der vorherigen Version ging es problemlos.
Eigentlich sollte sich daran nichts ändern. Kann es sein, dass der Adapter start noch nicht fertig war? (der dauert irgendwie in den neuen Versionen was länger, vermutlich bin ich etwas restriktiv mit dem nacheinander abarbeiten der Dinge, muss ich nochmal drüber).
Im Geräte-Tab werden die aber weiterhin gefunden?- In manchen Entity-IDs von automatisch erstellten Entities habe ich offensichtlich Umlaute. Dies war bisher auch kein Problem, jetzt werden diese durch "_" ersetzt. Damit werden diese in der Config nicht mehr gefunden.
Umlaute sind in Entity-IDs nicht erlaubt. Das war vorher ein Bug, dass das erlaubt war. Im friendly name ist ok, aber in der ID nicht. Das wirst du leider anpassen müssen...
- Meine Echo-Devices schmeißen jetzt alle eine Fehlermeldung, wenn der Adapter startet:
2021-04-08 19:26:58.643 - error: lovelace.0 (14986) Invalid attribute name for {"friendly_name":"Audio/Musik Terrasse","entity_picture":"./adapter/alexa2/icons/echo_dot3.png","icon":"mdi:play-network","media_content_type":"unknown","supported_features":17460} = unknown
Hö? grübel
Wie sehen die denn im Geräte-Tab aus, i.e. welche states sind da gefüllt? Bzw. in lovelace Instanzeinstellungen -> Entitäten, welche Attribute haben die entities? (also "zeige Attribute an" und dann da mal nen Screenshot von dem Entity, z.B.
Das hab ich noch nie gesehen...Irgendwie kommt mir aber auch "supported_featrues" sehr niedrig vor... hab gerade mal mit einem "nakten" Echo-Lautsprecher getestet und der hat "50229", meine alias Geräte haben 54333... irgendwie findet der type-detector bei dir da nicht so viele states. grübel
Sollte natürlich trotzdem klappen.- Und den input_datetime bekomme ich leider auch nicht ans Laufen. Ich erhalte weiterhin die Meldung "Invalid Date", wenn ich die Entity in eine Entity List packe. Beim Time Picker erhalte ich "You must set an input_datetime entity that sets has_time: true". Ich habe verschiedene Kombinationen ausprobiert (type: number/string; has_time/has_date: true/false) und auch verschiedene Werte. Leider bisher erfolglos.
Also ich war erfolgreich mit dem folgenden state:
{ "_id": "0_userdata.0.zeit", "type": "state", "common": { "name": "zeit", "role": "date", "type": "number", "read": true, "write": true, "desc": "Uhrzeit", "custom": { "lovelace.2": { "enabled": true, "entity": "input_datetime", "name": "zeit", "has_date": true, "has_time": true } } }, "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.2", "user": "system.user.admin", "ts": 1617888174438 }
type = string "sollte" auch gehen, da packt er dann einfach die Lovelace-Strings rein, hab ich aber noch nicht groß getestet.
Ich habe jetzt wieder einen Downgrade auf die 1.5 gemacht, jetzt geht es wieder.
ok, das wundert mich jetzt wirklich... zwischen 1.5 und der dev-version ist wirklich kein großer Unterschied.
Sag Bescheid, wenn ich noch etwas testen kann.
Erstmal brauche ich infos zum nachstellen der Probleme... grübel
-
@garfonso : Das ist mir jetzt peinlich! Ich habe den Dev-Adapter noch mal installiert, und auch mein Problem gefunden. Statt "Garfonso/iobroker.lovelace#dev" habe ich nämlich "https://github.com/Garfonso/iobroker.lovelace#dev" genommen. Nur installiert er dann den Adapter in Version 1.0.16 Ich konnte mir einfach nicht vorstellen, dass "Garfonso/iobroker.lovelace#dev" als URL irgendetwas bewirkt. OK, das Problem wäre gelöst...
Beim starten des neuen Adapters gab es gleich eine Fehlermeldung. Die lag daran, dass ich noch die alten input_datetime-Spielereien im Objektbaum hatte. Ich habe die Testobjekte gelöscht, jetzt startet Lovelace wieder. Zur Sicherheit hier die Fehlermeldung, da fehlt irgendwo eine Fehlerbehandlung.
2021-04-09 08:12:59.362 - info: host.LH2io Restart adapter system.adapter.lovelace.0 because enabled 2021-04-09 08:13:24.328 - info: host.LH2io instance system.adapter.lovelace.0 started with pid 18451 2021-04-09 08:13:26.699 - info: lovelace.0 (18451) starting. Version 1.5.0 in /opt/iobroker/node_modules/iobroker.lovelace, node: v12.22.0, js-controller: 3.2.16 2021-04-09 08:13:26.771 - info: lovelace.0 (18451) http server listening on port 8091 2021-04-09 08:13:30.622 - error: lovelace.0 (18451) 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(). 2021-04-09 08:13:30.623 - error: lovelace.0 (18451) unhandled promise rejection: Cannot read property 'warn' of undefined 2021-04-09 08:13:30.624 - error: lovelace.0 (18451) TypeError: Cannot read property 'warn' of undefined at Object.entity.context.STATE.getParser (/opt/iobroker/node_modules/iobroker.lovelace/lib/converters/input_datetime.js:53:26) at /opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:855:50 at Array.forEach () at WebServer.onStateChange (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:837:22) at WebServer._getAllStates (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:708:30) at async WebServer._readAllEntities (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:262:9) 2021-04-09 08:13:30.625 - error: lovelace.0 (18451) Cannot read property 'warn' of undefined 2021-04-09 08:13:30.648 - info: lovelace.0 (18451) cleaned everything up... 2021-04-09 08:13:30.651 - info: lovelace.0 (18451) terminating 2021-04-09 08:13:30.652 - warn: lovelace.0 (18451) Terminated (UNCAUGHT_EXCEPTION): Without reason 2021-04-09 08:13:32.154 - info: lovelace.0 (18451) terminating with timeout 2021-04-09 08:13:39.262 - warn: lovelace.0 (18451) get state error: Connection is closed. 2021-04-09 08:13:39.462 - error: lovelace.0 (18451) 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(). 2021-04-09 08:13:39.464 - error: lovelace.0 (18451) unhandled promise rejection: DB closed 2021-04-09 08:13:39.466 - error: lovelace.0 (18451) Error: DB closed at close (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:183:25) at Socket. (/opt/iobroker/node_modules/ioredis/built/redis/event_handler.js:150:20) at Object.onceWrapper (events.js:421:26) at Socket.emit (events.js:314:20) at TCP. (net.js:675:12) 2021-04-09 08:13:39.468 - error: lovelace.0 (18451) DB closed
Ich teste jetzt mal input_datetime und melde das separat.
-
Leider stürzt Lovelace jetzt sofort ab, wenn ich einen input_datetime anzulegen versuche. Hier der Datenpunkt, bevor ich versuche, diesen als "input_datetime" zu definieren:
{ "_id": "0_userdata.0.time", "type": "state", "common": { "name": "time", "role": "date", "type": "number", "read": true, "write": true, "desc": "Uhrzeit" }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1617949846826, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Sobald ich jetzt diesen als "input_datetime" definiere, passiert folgendes:
2021-04-09 08:37:01.007 - error: lovelace.0 (18681) 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(). 2021-04-09 08:37:01.008 - error: lovelace.0 (18681) unhandled promise rejection: Cannot read property 'warn' of undefined 2021-04-09 08:37:01.010 - error: lovelace.0 (18681) TypeError: Cannot read property 'warn' of undefined at Object.entity.context.STATE.getParser (/opt/iobroker/node_modules/iobroker.lovelace/lib/converters/input_datetime.js:53:26) at /opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:855:50 at Array.forEach () at WebServer.onStateChange (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:837:22) at WebServer._getAllStates (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:708:30) at async WebServer._readAllEntities (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:262:9) at async Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.lovelace/lib/server.js:2706:21) 2021-04-09 08:37:01.010 - error: lovelace.0 (18681) Cannot read property 'warn' of undefined 2021-04-09 08:37:01.027 - info: lovelace.0 (18681) cleaned everything up... 2021-04-09 08:37:01.029 - info: lovelace.0 (18681) terminating 2021-04-09 08:37:01.030 - warn: lovelace.0 (18681) Terminated (UNCAUGHT_EXCEPTION): Without reason 2021-04-09 08:37:01.661 - error: host.LH2io Caught by controller[0]: Unknown request: {"type":"config/area_registry/list","id":25} 2021-04-09 08:37:01.666 - error: host.LH2io Caught by controller[1]: Unknown request: {"type":"config/device_registry/list","id":26} 2021-04-09 08:37:01.666 - error: host.LH2io Caught by controller[1]: Unknown request: {"type":"config/entity_registry/list","id":27} 2021-04-09 08:37:01.667 - error: host.LH2io instance system.adapter.lovelace.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2021-04-09 08:37:01.668 - info: host.LH2io Restart adapter system.adapter.lovelace.0 because enabled
-
@erstam said in Test Adapter lovelace v1.2.x:
Das ist mir jetzt peinlich!
Das muss dir nicht peinlich sein, das ging mir am Anfang auch so.
Leider ist das bisher die einzige Form, die ich gefunden hab, mit der npm auch sicher immer die aktuellste Version aus dem Branch nimmt. Mit anderen URLs nimmt er irgendwie immer nur den master branch oder auch mal veraltete Versionen... ist etwas strange. Aber mit der URL geht es halt gut.Zu deinen Fehlern:
Die sind, weil ich mal wieder die Log-Funktionen falsch aufrufe... eigentlich wollte der Adapter dir ne Warnung ausgeben, dass er den Inhalt des Objekts nicht in ein Datum verwandeln konnte... vielleicht sollte ich die Warnung noch wegmachen? Was stand denn drinnen? Noch nichts? -> das sollte ich vielleicht dann einfach ignorieren.
Hab den Fehler jedenfalls gerade gefixt & gepusht. -
Ist es eigentlich möglich, den Titel im IObroker zu ändern? Das icon kann geändert werden, aber beim Titel steht immer "Übersicht - iobroker"?