NEWS
Test Adapter lovelace v1.2.x
-
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"?
-
Hallo zusammen,
Ich versuche mich aktuell in Lovelace einzuarbeiten, stehe allerdings gerade auf dem Schlauch. Vielleicht könnt Ihr mir ja die Richtung weisen Ich würde gerne Logitech Harmony Activities schalten und anzeigen lassen welche davon gerade aktiv ist. Das Activity Objekt im Harmony Adapter hat 4 Status:
"0" -> aus
"1" -> anschalten
"2" -> ist aktiv
"3" -> startet geradeIch würde nun gerne einen Button erstellen der die Status "1" für anschalten und "0" für ausschalten sendet wenn man darauf klickt (toggle). Wenn der status "2" ist soll es als angeschaltet angezeigt werden.
Könnte mir jemand einen Beispielcode dafür zeigen ?
Ich hatte versucht es mit input_select und "states" zu lösen, bekomme es aber nicht hin:
"states": { "0": "off", "1": "on" }, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "DG_HARMONY_SHIELD" } }
-
Hi zusammen,
yet another noob
Ich hab mir einen Conbee 2 Stick zugelegt und ihn in meine Iobroker docker install welche auf einem Unraid system läuft eingebunden. Läuft soweit so gut. Bin gerade dabei den ersten Sensor einzubinden, und in Lovelace zu visualisieren und hier Verzweifle ich bereits. Der Sensor wird in Phoscon und im Deconz Adapter erkannt:
Weiterhin ist er auch unten den Objekten zu sehen:
Ich habe die Zuordnung des Raumes und der Funktion, sowie der Rolle entsprechend durchgeführt.
Zur Kontrolle hab ich auch den Device Adapter installiert:
Auch das scheint zu passen.
Aber nun zum Problem: bei den Entitäten in Lovelace taucht nur die Temperatur auf. Die Luftfeuchtigkeit krieg ich nicht angezeigt (versuche mich bereits seit ein paar Stunden und habe auch den Thread sowie ein paar andere durchsucht)
Könnte ihr mir bitte helfen, denn das erscheint mir eigentlich echt simple und ich zweifle hier gerade echt an meiner IntelligenzLovelace 1.0.16
Vielen Dank im voraus!
-
@arni_h said in Test Adapter lovelace v1.2.x:
Ist es eigentlich möglich, den Titel im IObroker zu ändern? Das icon kann geändert werden, aber beim Titel steht immer "Übersicht - iobroker"?
Ich meine das hatten wir schonmal... kann mich aber nicht dran erinnern, wie die Lösung war... ich glaube das geht nicht so ohne weiteres (hab beim gucken gerade noch nicht verstanden wer jetzt wo den Tittel überhaupt konfiguriert grübel)
-
@a13xde said in Test Adapter lovelace v1.2.x:
Hallo zusammen,
Ich versuche mich aktuell in Lovelace einzuarbeiten, stehe allerdings gerade auf dem Schlauch. Vielleicht könnt Ihr mir ja die Richtung weisen Ich würde gerne Logitech Harmony Activities schalten und anzeigen lassen welche davon gerade aktiv ist. Das Activity Objekt im Harmony Adapter hat 4 Status:
"0" -> aus
"1" -> anschalten
"2" -> ist aktiv
"3" -> startet geradeIch würde nun gerne einen Button erstellen der die Status "1" für anschalten und "0" für ausschalten sendet wenn man darauf klickt (toggle). Wenn der status "2" ist soll es als angeschaltet angezeigt werden.
Könnte mir jemand einen Beispielcode dafür zeigen ?
Ich hatte versucht es mit input_select und "states" zu lösen, bekomme es aber nicht hin:
"states": { "0": "off", "1": "on" }, "custom": { "lovelace.0": { "enabled": true, "entity": "input_select", "name": "DG_HARMONY_SHIELD" } }
Also der Ansatz mit input_select würde zu einem Dropdown führen. Allerdings muss das "states"-Objekt im "common"-Teil des Objekts sein. Und es wäre natürlich noch gut die anderen states hinzuzufügen, sonst werden die zu "unknown" führen...
Knöpfe gehen damit dann auch, wenn du einen service call nutzt, so ca. (statt toggle):
action: service: input_select.select_option target: entity_id: input_select.DG_HARMONY_SHIELD data: option: "on"
ob du bei "option" irgendwie dynamische "on" / "off" rein kriegst für an / aus, weiß ich nicht... könnte aber sein. (was bei option rein kommt, muss halt wie die rechte Seite im states-Objekt heißen).
Da musst du auch selber nochmal forschen oder jemand anders guckt. Bei mir ist es nen dropdown, finde ich auch nicht so verkehrt. (wobei ich mir das mit einem skript gebastelt hab, dass ich zwischen allen Aktivitäten aussuchen kann und da halt auch "PowerOff" mit dabei ist).