Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter lovelace v1.2.x

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    250

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Test Adapter lovelace v1.2.x

Test Adapter lovelace v1.2.x

Scheduled Pinned Locked Moved Tester
lovelacevisualization
1.5k Posts 78 Posters 628.7k Views 72 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Banis

    @garfonso sagte in Test Adapter lovelace v1.2.x:

    @banis
    ja, da war noch eine Kleinigkeit kaputt.

    Hab gerade eine neue Version auf github hoch geladen, wo jetzt auch ein Folder-Support im UI ist. Hübscher wird es nicht mehr, fürchte ich 😉 (es wird immer nur ein Ordner angezeigt, man kann mit .. rauf gehen bzw. durch auf ordner klicken runter gehen. Achja, wenn man einen Ordner löscht ist, wie zu erwarten, alles was darin ist, weg).

    Damit hab ich es jetzt geschafft die Karte zumindest rudimentär zum laufen zu bekommen, die Datei chart-card-min.js in den "cards" Ordner (das muss vermutlich so kopfkratz), dann einen Ordner "chard-card" angelegt, darein die chard.js Datei. Dann wird es zumindest vollständig geladen und ich kann ein custom:chart-card anlegen, ohne geschimpfe. 😉
    Was von den anderen Sachen noch benötigt wird, weiß ich nicht, hab ich nicht weiter probiert (bei der Initialisierung hat es die jedenfalls versucht zu laden).

    Ob das mit "in den Ordner" kopieren ausreicht, weiß ich nicht. Theoretisch müssen die Dateien dem ioBroker bekannt gemacht werden (und können z.B. bei Object-Storade in redis auch gar nicht mehr im Dateisystem liegen). Probier mal rum. 😉

    //Edit: Ruhig bei sowas im Browser die Entwiklertools im Blick haben und gucken, ob es da Fehlermeldungen, insbesondere "xyz not found" gibt.

    @Garfonso: Vielen Dank für deine Unterstützung. Ich hab das jetzt so ausprobiert wie von dir Beschrieben, also bei den Karten über das UI die Datei chart-card-min.js abgelegt und einen Ordner Namens chart-card angelegt. In dem Ordner hab ich dann die chart.js abgelegt. Hab auch schon alle restlichen js Dateien der chart-card dort abgelegt. Leider alles ohne Erfolg. Ich bekomme immer noch die Meldung : Custom Element doesen't exist chart-card.

    Mach ich noch was falsch. Was meinst du mit es wurder bei dir vollständig geladen, bzw bei der Initialisierung???

    GarfonsoG Offline
    GarfonsoG Offline
    Garfonso
    Developer
    wrote on last edited by
    #1444

    @banis said in Test Adapter lovelace v1.2.x:

    In dem Ordner hab ich dann die chart.js abgelegt. Hab auch schon alle restlichen js Dateien der chart-card dort abgelegt.

    Hast du das auch über das UI gemacht? (von github installierte Version)

    @banis said in Test Adapter lovelace v1.2.x:

    Mach ich noch was falsch.

    In jedem Fall musst du den Adapter neu starten.
    Du kannst auch den debug modus aktivieren, da sagt er irgendwo, welche Karten er gefunden und geladen hat (allerdings auch ziemlich viel anderes 😉 )

    Du kannst in der Browser Konsole gucken, ob da Fehlermeldungen kommen bzw. wenn ja, welche.

    Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

    Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

    B 1 Reply Last reply
    0
    • nukleuzN nukleuz

      @garfonso

      Danke dafür - anbei der Export von LIDL LivarnoLux RGB (HG06106C).

      {
       "deconz.0.Lights.62": {
         "type": "device",
         "common": {
           "name": "Extended color light 62",
           "role": "light"
         },
         "native": {
           "etag": "74103373355d84191dc77c1c7e7f13e4",
           "hascolor": true,
           "id": "62",
           "manufacturername": "LIDL Livarno Lux",
           "modelid": "HG06106C",
           "swversion": null,
           "type": "Extended color light",
           "uniqueid": "58:8e:81:ff:fe:f1:c5:fe-01"
         },
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860406,
         "_id": "deconz.0.Lights.62",
         "acl": {
           "object": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.alert": {
         "type": "state",
         "common": {
           "name": "undefined alert",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "none": "none",
             "select": "select",
             "lselect": "lselect",
             "blink": "blink"
           },
           "def": "none"
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860411,
         "_id": "deconz.0.Lights.62.alert",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.bri": {
         "type": "state",
         "common": {
           "name": "undefined bri",
           "type": "number",
           "role": "level.brightness",
           "read": true,
           "write": true,
           "min": 0,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860706,
         "_id": "deconz.0.Lights.62.bri",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.colormode": {
         "type": "state",
         "common": {
           "name": "undefined colormode",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "hs": "hs",
             "xy": "xy",
             "ct": "ct"
           }
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860771,
         "_id": "deconz.0.Lights.62.colormode",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.colorspeed": {
         "type": "state",
         "common": {
           "name": "undefined colorspeed",
           "type": "number",
           "role": "state",
           "read": true,
           "write": true,
           "min": 1,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860930,
         "_id": "deconz.0.Lights.62.colorspeed",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.ct": {
         "type": "state",
         "common": {
           "name": "undefined ct",
           "type": "number",
           "role": "level.color.temperature",
           "read": true,
           "write": true,
           "min": 0,
           "max": 8000,
           "def": 8000
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860855,
         "_id": "deconz.0.Lights.62.ct",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.effect": {
         "type": "state",
         "common": {
           "name": "undefined effect",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "none": "none",
             "colorloop": "colorloop",
             "steady": "steady",
             "snow": "snow",
             "rainbow": "rainbow",
             "snake": "snake",
             "twinkle": "twinkle",
             "fireworks": "fireworks",
             "flag": "flag",
             "waves": "waves",
             "updown": "updown",
             "vintage": "vintage",
             "fading": "fading",
             "collide": "collide",
             "strobe": "strobe",
             "sparkles": "sparkles",
             "carnival": "carnival",
             "glow": "glow",
             "sunset": "sunset",
             "party": "party",
             "worklight": "worklight",
             "campfire": "campfire",
             "romance": "romance",
             "nightlight": "nightlight"
           }
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860958,
         "_id": "deconz.0.Lights.62.effect",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.hue": {
         "type": "state",
         "common": {
           "name": "undefined hue",
           "type": "number",
           "role": "level.color.hue",
           "read": true,
           "write": true,
           "unit": "°",
           "min": 0,
           "max": 360,
           "def": 360
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361861015,
         "_id": "deconz.0.Lights.62.hue",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.level": {
         "type": "state",
         "common": {
           "name": "undefined level",
           "type": "number",
           "role": "level.brightness",
           "read": true,
           "write": true,
           "unit": "%",
           "min": 0,
           "max": 100,
           "def": 100
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361860619,
         "_id": "deconz.0.Lights.62.level",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.on": {
         "type": "state",
         "common": {
           "name": "undefined on",
           "type": "boolean",
           "role": "switch",
           "read": true,
           "write": true
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361861087,
         "_id": "deconz.0.Lights.62.on",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.reachable": {
         "type": "state",
         "common": {
           "name": "undefined reachable",
           "type": "boolean",
           "role": "indicator.reachable",
           "read": true,
           "write": false
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361861139,
         "_id": "deconz.0.Lights.62.reachable",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.sat": {
         "type": "state",
         "common": {
           "name": "undefined sat",
           "type": "number",
           "role": "level.color.saturation",
           "read": true,
           "write": true,
           "min": 0,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361861323,
         "_id": "deconz.0.Lights.62.sat",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.62.xy": {
         "type": "state",
         "common": {
           "name": "undefined xy",
           "type": "array",
           "role": "color.CIE",
           "read": true,
           "write": true,
           "def": "[0.1,0.1]"
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1664361861459,
         "_id": "deconz.0.Lights.62.xy",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       }
      }
      

      IKEA Tradfri E27 RGB Bulb

      {
       "deconz.0.Lights.8": {
         "type": "device",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA)",
           "role": "light",
           "enums": [
             {
               "_id": "enum.functions.Licht",
               "common": {
                 "name": "Licht"
               },
               "native": {
                 "Name": "Licht",
                 "TypeName": "ENUM",
                 "EnumInfo": ""
               },
               "type": "enum"
             },
             {
               "_id": "enum.rooms.Garten",
               "common": {
                 "name": "Garten",
                 "desc": ""
               },
               "native": {
                 "Name": "Garten",
                 "TypeName": "ENUM",
                 "EnumInfo": ""
               },
               "type": "enum"
             }
           ]
         },
         "native": {
           "etag": "d6c708f892e1d441283280ca2e03f5f7",
           "hascolor": true,
           "id": "8",
           "manufacturername": "IKEA of Sweden",
           "modelid": null,
           "swversion": null,
           "type": "Color light",
           "uniqueid": "00:0d:6f:ff:fe:26:78:4b-01"
         },
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1627997699000,
         "_id": "deconz.0.Lights.8",
         "acl": {
           "object": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.action": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) action",
           "role": "argument",
           "type": "string",
           "read": false,
           "write": true
         },
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1628015290696,
         "_id": "deconz.0.Lights.8.action",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.alert": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) alert",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "none": "none",
             "select": "select",
             "lselect": "lselect",
             "blink": "blink"
           },
           "def": "none"
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460361037,
         "_id": "deconz.0.Lights.8.alert",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.bri": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) bri",
           "type": "number",
           "role": "level.brightness",
           "read": true,
           "write": true,
           "min": 0,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460361236,
         "_id": "deconz.0.Lights.8.bri",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.colormode": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) colormode",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "hs": "hs",
             "xy": "xy",
             "ct": "ct"
           }
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460361749,
         "_id": "deconz.0.Lights.8.colormode",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.colorspeed": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) colorspeed",
           "type": "number",
           "role": "state",
           "read": true,
           "write": true,
           "min": 1,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460361962,
         "_id": "deconz.0.Lights.8.colorspeed",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.dimdown": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) dimdown",
           "role": "button",
           "type": "boolean",
           "read": false,
           "write": true
         },
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1628015290695,
         "_id": "deconz.0.Lights.8.dimdown",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.dimspeed": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) dimspeed",
           "type": "number",
           "role": "level.dimspeed",
           "min": 0,
           "max": 254,
           "read": false,
           "write": true
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1628015290695,
         "_id": "deconz.0.Lights.8.dimspeed",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.dimup": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) dimup",
           "role": "button",
           "type": "boolean",
           "read": false,
           "write": true
         },
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1628015290695,
         "_id": "deconz.0.Lights.8.dimup",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.effect": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) effect",
           "type": "string",
           "role": "state",
           "read": true,
           "write": true,
           "states": {
             "none": "none",
             "colorloop": "colorloop",
             "steady": "steady",
             "snow": "snow",
             "rainbow": "rainbow",
             "snake": "snake",
             "twinkle": "twinkle",
             "fireworks": "fireworks",
             "flag": "flag",
             "waves": "waves",
             "updown": "updown",
             "vintage": "vintage",
             "fading": "fading",
             "collide": "collide",
             "strobe": "strobe",
             "sparkles": "sparkles",
             "carnival": "carnival",
             "glow": "glow",
             "sunset": "sunset",
             "party": "party",
             "worklight": "worklight",
             "campfire": "campfire",
             "romance": "romance",
             "nightlight": "nightlight"
           }
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460362179,
         "_id": "deconz.0.Lights.8.effect",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.hue": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) hue",
           "type": "number",
           "role": "level.color.hue",
           "read": true,
           "write": true,
           "unit": "°",
           "min": 0,
           "max": 360,
           "def": 360
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1648806483119,
         "_id": "deconz.0.Lights.8.hue",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.level": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) level",
           "type": "number",
           "role": "level.brightness",
           "read": true,
           "write": true,
           "unit": "%",
           "min": 0,
           "max": 100,
           "def": 100
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460361132,
         "_id": "deconz.0.Lights.8.level",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.on": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) on",
           "type": "boolean",
           "role": "switch",
           "read": true,
           "write": true
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460362524,
         "_id": "deconz.0.Lights.8.on",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.reachable": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) reachable",
           "type": "boolean",
           "role": "indicator.reachable",
           "read": true,
           "write": false
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460362619,
         "_id": "deconz.0.Lights.8.reachable",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.sat": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) sat",
           "type": "number",
           "role": "level.color.saturation",
           "read": true,
           "write": true,
           "min": 0,
           "max": 255,
           "def": 255
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1648806483275,
         "_id": "deconz.0.Lights.8.sat",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.transitiontime": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) transitiontime",
           "type": "number",
           "role": "state",
           "read": true,
           "write": true,
           "unit": "s",
           "def": 0
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1643815601682,
         "_id": "deconz.0.Lights.8.transitiontime",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       },
       "deconz.0.Lights.8.xy": {
         "type": "state",
         "common": {
           "name": "Kugellampe - Garten 01 (IKEA) xy",
           "type": "array",
           "role": "color.CIE",
           "read": true,
           "write": true,
           "def": [
             0.1,
             0.1
           ]
         },
         "native": {},
         "from": "system.adapter.deconz.0",
         "user": "system.user.admin",
         "ts": 1649460362707,
         "_id": "deconz.0.Lights.8.xy",
         "acl": {
           "object": 1636,
           "state": 1636,
           "owner": "system.user.admin",
           "ownerGroup": "system.group.administrator"
         }
       }
      }
      

      Solltest du weitere Lampen brauchen - mache ich gerne die Exporte fertig!?

      Danke!!!!

      GarfonsoG Offline
      GarfonsoG Offline
      Garfonso
      Developer
      wrote on last edited by
      #1445

      @nukleuz
      und die Lampen reagieren nicht, wenn man den colormode umstellt? (Wir haben das bestimmt schon diskutiert, oder? kopfkratz)

      Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

      Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

      nukleuzN 1 Reply Last reply
      0
      • GarfonsoG Garfonso

        @nukleuz
        und die Lampen reagieren nicht, wenn man den colormode umstellt? (Wir haben das bestimmt schon diskutiert, oder? kopfkratz)

        nukleuzN Offline
        nukleuzN Offline
        nukleuz
        wrote on last edited by nukleuz
        #1446

        @garfonso

        Das hatten wir bestimmt schon mal... 🙂

        Wenn man in der Phosconoberfläche die Weisswerte ändert, dann springt der colormode um auf ct.
        Ändert man die Farbe ändert sich auch der colormode in xy.

        Ändert man es über die Datenpunkte scheint das nicht zu funktionieren.

        Das was seit heute Nacht funktioniert ist folgendes:

        Man legt sich einen Alias (RGB Licht einzeln) an und konfiguriert es wie folgt:
        d42d2cf2-c119-4a72-955e-e4d0ec9135f9-image.png

        Wichtig ist, dass der Punkt RGB mit einem manuell erstellten Datenpunkt belegt wird.
        Denn Lovelace spuckt im im Colorpicker/Farbpalette einen HEX-Wert aus.
        Dieser wird dann in den neuen Datenpunkt geschrieben ohne Effekt/Auswirkungen.

        Nun gibt es diverse JavaScript Funktionen, die diesen Werte umrechnen.
        Bevor ich hier viel erzähle zeige ich dir/euch einfach mein Skript, was bisher sehr gut und vor allem für mich ausreichend gut funktioniert.

        
        //Hier muss der manuell erstellte -Datenpunkt angegeben werden -> wenn der sich ändert, wird umgerechnet und xy gesetzt
        on({id: '0_userdata.0.Lovelace.XY-CIE2RGB.hex', change: "any"}, function (obj) {
        
        
           let hex = getState('0_userdata.0.Lovelace.XY-CIE2RGB.hex').val;
           //console.log(hex);
        
           let rgb = hexToRgb(hex);
           //console.log(rgb.r);
           //console.log(rgb.g);
           //console.log(rgb.b);
           //console.log(typeof rgb2);
        
           let xy = rgb_to_cie(rgb.r, rgb.g, rgb.b);
           //console.log(xy);
           //console.log(Object.values(xy));
           setState('deconz.0.Lights.62.xy', (xy));
        
        });
        
        
        
        
        
        function hexToRgb(hex) {
         var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
         return result ? {
           r: parseInt(result[1], 16),
           g: parseInt(result[2], 16),
           b: parseInt(result[3], 16)
         } : null;
        }
        
        
        function hslToRgb (h, s, l) {
         // Achromatic
         if (s === 0) return [l, l, l]
         h /= 360
        
         var q = l < 0.5 ? l * (1 + s) : l + s - l * s
         var p = 2 * l - q
        
         return [
           Math.round(hueToRgb(p, q, h + 1/3) * 255),
           Math.round(hueToRgb(p, q, h) * 255),
           Math.round(hueToRgb(p, q, h - 1/3) * 255)
         ]
        }
        
        /**
        * Helpers
        */
        
        function hueToRgb (p, q, t) {
         if (t < 0) t += 1
         if (t > 1) t -= 1
         if (t < 1/6) return p + (q - p) * 6 * t
         if (t < 1/2) return q
         if (t < 2/3) return p + (q - p) * (2/3 - t) * 6
        
         return p
        }
        
        function hslToHex(h, s, l) {
           l /= 100;
           const a = s * Math.min(l, 1 - l) / 100;
           const f = n => {
               const k = (n + h / 30) % 12;
               const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
               return Math.round(255 * color).toString(16).padStart(2, '0');   // convert to Hex and prefix "0" if needed
           };
           return `#${f(0)}${f(8)}${f(4)}`;
        }
        
        /**
        *     Umwandeln der RGB-Werte in ein Farbwert des HSV-Farbraum
        *        RGB Werte:          0-255, 0-255, 0-255
        *        H Wert:                   0-360°
        *        Homematic H Wert: 0-199
        */
        function RGBtoHSV($R, $G, $B)    
        {                                
           let R = ($R / 255);
           let G = ($G / 255);
           let B = ($B / 255);
        
           let maxRGB = Math.max(R, G, B);
           let minRGB = Math.min(R, G, B);
           let chroma = maxRGB - minRGB;
           let h = 0;
           if (chroma == 0)
               return 0;
           if (R == minRGB){
               h = 3 - ((G - B) / chroma);
           }
           else if (B == minRGB){
               h = 1 - ((R - G) / chroma);
           }
           else{
               h = 5 - ((B - R) / chroma);
           }
        
           let Hue = (60 * h);
           let HomematicHue = (Hue/1.8);
            
           if (HomematicHue == 200){
               HomematicHue = 199;
           }
           return HomematicHue;
        }
        
        
        
        /**
        * Converts CIE color space to RGB color space
        * @param {Number} x
        * @param {Number} y
        * @param {Number} brightness - Ranges from 1 to 254
        * @return {Array} Array that contains the color values for red, green and blue
        */
        function cie_to_rgb(x, y, brightness)
        {
           //Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)
           if (brightness === undefined) {
           	brightness = 254;
           }
        
           var z = 1.0 - x - y;
           var Y = (brightness / 254).toFixed(2);
           var X = (Y / y) * x;
           var Z = (Y / y) * z;
        
           //Convert to RGB using Wide RGB D65 conversion
           var red 	=  X * 1.656492 - Y * 0.354851 - Z * 0.255038;
           var green 	= -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
           var blue 	=  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
        
           //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0
           if (red > blue && red > green && red > 1.0) {
        
           	green = green / red;
           	blue = blue / red;
           	red = 1.0;
           }
           else if (green > blue && green > red && green > 1.0) {
        
           	red = red / green;
           	blue = blue / green;
           	green = 1.0;
           }
           else if (blue > red && blue > green && blue > 1.0) {
        
           	red = red / blue;
           	green = green / blue;
           	blue = 1.0;
           }
        
           //Reverse gamma correction
           red 	= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;
           green 	= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;
           blue 	= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;
        
        
           //Convert normalized decimal to decimal
           red 	= Math.round(red * 255);
           green 	= Math.round(green * 255);
           blue 	= Math.round(blue * 255);
        
           if (isNaN(red))
           	red = 0;
        
           if (isNaN(green))
           	green = 0;
        
           if (isNaN(blue))
           	blue = 0;
        
        
           return [red, green, blue];
        }
        
        
        /**
        * Converts RGB color space to CIE color space
        * @param {Number} red
        * @param {Number} green
        * @param {Number} blue
        * @return {Array} Array that contains the CIE color values for x and y
        */
        function rgb_to_cie(red, green, blue)
        {
           //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
           var red 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
           var green 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
           var blue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
        
           //RGB values to XYZ using the Wide RGB D65 conversion formula
           var X 		= red * 0.664511 + green * 0.154324 + blue * 0.162028;
           var Y 		= red * 0.283881 + green * 0.668433 + blue * 0.047685;
           var Z 		= red * 0.000088 + green * 0.072310 + blue * 0.986039;
        
           //Calculate the xy values from the XYZ values
           let x 		= (X / (X + Y + Z)).toFixed(4);
           let y 		= (Y / (X + Y + Z)).toFixed(4);
        
        
        
           if (isNaN(x))
           	x = 0;
        
           if (isNaN(y))
           	y = 0;	 
        
           let x2 = parseFloat(x);
           let y2 = parseFloat(y);
        
           return [x2, y2];
        }
        
        

        Link zu der Seite mit den Funktionen

        Unterhalb des Triggers befinden sich einige Funktionen zum Umrechnen verschiedener Farbdefinitionen.
        Vielleicht kann damit jemand was anfangen...

        @garfonso: Eine native Unterstützung für xy wäre dennoch von Vorteil 🙂

        Danke

        Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

        GarfonsoG 1 Reply Last reply
        0
        • nukleuzN nukleuz

          @garfonso

          Das hatten wir bestimmt schon mal... 🙂

          Wenn man in der Phosconoberfläche die Weisswerte ändert, dann springt der colormode um auf ct.
          Ändert man die Farbe ändert sich auch der colormode in xy.

          Ändert man es über die Datenpunkte scheint das nicht zu funktionieren.

          Das was seit heute Nacht funktioniert ist folgendes:

          Man legt sich einen Alias (RGB Licht einzeln) an und konfiguriert es wie folgt:
          d42d2cf2-c119-4a72-955e-e4d0ec9135f9-image.png

          Wichtig ist, dass der Punkt RGB mit einem manuell erstellten Datenpunkt belegt wird.
          Denn Lovelace spuckt im im Colorpicker/Farbpalette einen HEX-Wert aus.
          Dieser wird dann in den neuen Datenpunkt geschrieben ohne Effekt/Auswirkungen.

          Nun gibt es diverse JavaScript Funktionen, die diesen Werte umrechnen.
          Bevor ich hier viel erzähle zeige ich dir/euch einfach mein Skript, was bisher sehr gut und vor allem für mich ausreichend gut funktioniert.

          
          //Hier muss der manuell erstellte -Datenpunkt angegeben werden -> wenn der sich ändert, wird umgerechnet und xy gesetzt
          on({id: '0_userdata.0.Lovelace.XY-CIE2RGB.hex', change: "any"}, function (obj) {
          
          
             let hex = getState('0_userdata.0.Lovelace.XY-CIE2RGB.hex').val;
             //console.log(hex);
          
             let rgb = hexToRgb(hex);
             //console.log(rgb.r);
             //console.log(rgb.g);
             //console.log(rgb.b);
             //console.log(typeof rgb2);
          
             let xy = rgb_to_cie(rgb.r, rgb.g, rgb.b);
             //console.log(xy);
             //console.log(Object.values(xy));
             setState('deconz.0.Lights.62.xy', (xy));
          
          });
          
          
          
          
          
          function hexToRgb(hex) {
           var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
           return result ? {
             r: parseInt(result[1], 16),
             g: parseInt(result[2], 16),
             b: parseInt(result[3], 16)
           } : null;
          }
          
          
          function hslToRgb (h, s, l) {
           // Achromatic
           if (s === 0) return [l, l, l]
           h /= 360
          
           var q = l < 0.5 ? l * (1 + s) : l + s - l * s
           var p = 2 * l - q
          
           return [
             Math.round(hueToRgb(p, q, h + 1/3) * 255),
             Math.round(hueToRgb(p, q, h) * 255),
             Math.round(hueToRgb(p, q, h - 1/3) * 255)
           ]
          }
          
          /**
          * Helpers
          */
          
          function hueToRgb (p, q, t) {
           if (t < 0) t += 1
           if (t > 1) t -= 1
           if (t < 1/6) return p + (q - p) * 6 * t
           if (t < 1/2) return q
           if (t < 2/3) return p + (q - p) * (2/3 - t) * 6
          
           return p
          }
          
          function hslToHex(h, s, l) {
             l /= 100;
             const a = s * Math.min(l, 1 - l) / 100;
             const f = n => {
                 const k = (n + h / 30) % 12;
                 const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
                 return Math.round(255 * color).toString(16).padStart(2, '0');   // convert to Hex and prefix "0" if needed
             };
             return `#${f(0)}${f(8)}${f(4)}`;
          }
          
          /**
          *     Umwandeln der RGB-Werte in ein Farbwert des HSV-Farbraum
          *        RGB Werte:          0-255, 0-255, 0-255
          *        H Wert:                   0-360°
          *        Homematic H Wert: 0-199
          */
          function RGBtoHSV($R, $G, $B)    
          {                                
             let R = ($R / 255);
             let G = ($G / 255);
             let B = ($B / 255);
          
             let maxRGB = Math.max(R, G, B);
             let minRGB = Math.min(R, G, B);
             let chroma = maxRGB - minRGB;
             let h = 0;
             if (chroma == 0)
                 return 0;
             if (R == minRGB){
                 h = 3 - ((G - B) / chroma);
             }
             else if (B == minRGB){
                 h = 1 - ((R - G) / chroma);
             }
             else{
                 h = 5 - ((B - R) / chroma);
             }
          
             let Hue = (60 * h);
             let HomematicHue = (Hue/1.8);
              
             if (HomematicHue == 200){
                 HomematicHue = 199;
             }
             return HomematicHue;
          }
          
          
          
          /**
          * Converts CIE color space to RGB color space
          * @param {Number} x
          * @param {Number} y
          * @param {Number} brightness - Ranges from 1 to 254
          * @return {Array} Array that contains the color values for red, green and blue
          */
          function cie_to_rgb(x, y, brightness)
          {
             //Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)
             if (brightness === undefined) {
             	brightness = 254;
             }
          
             var z = 1.0 - x - y;
             var Y = (brightness / 254).toFixed(2);
             var X = (Y / y) * x;
             var Z = (Y / y) * z;
          
             //Convert to RGB using Wide RGB D65 conversion
             var red 	=  X * 1.656492 - Y * 0.354851 - Z * 0.255038;
             var green 	= -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
             var blue 	=  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
          
             //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0
             if (red > blue && red > green && red > 1.0) {
          
             	green = green / red;
             	blue = blue / red;
             	red = 1.0;
             }
             else if (green > blue && green > red && green > 1.0) {
          
             	red = red / green;
             	blue = blue / green;
             	green = 1.0;
             }
             else if (blue > red && blue > green && blue > 1.0) {
          
             	red = red / blue;
             	green = green / blue;
             	blue = 1.0;
             }
          
             //Reverse gamma correction
             red 	= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;
             green 	= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;
             blue 	= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;
          
          
             //Convert normalized decimal to decimal
             red 	= Math.round(red * 255);
             green 	= Math.round(green * 255);
             blue 	= Math.round(blue * 255);
          
             if (isNaN(red))
             	red = 0;
          
             if (isNaN(green))
             	green = 0;
          
             if (isNaN(blue))
             	blue = 0;
          
          
             return [red, green, blue];
          }
          
          
          /**
          * Converts RGB color space to CIE color space
          * @param {Number} red
          * @param {Number} green
          * @param {Number} blue
          * @return {Array} Array that contains the CIE color values for x and y
          */
          function rgb_to_cie(red, green, blue)
          {
             //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
             var red 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
             var green 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
             var blue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
          
             //RGB values to XYZ using the Wide RGB D65 conversion formula
             var X 		= red * 0.664511 + green * 0.154324 + blue * 0.162028;
             var Y 		= red * 0.283881 + green * 0.668433 + blue * 0.047685;
             var Z 		= red * 0.000088 + green * 0.072310 + blue * 0.986039;
          
             //Calculate the xy values from the XYZ values
             let x 		= (X / (X + Y + Z)).toFixed(4);
             let y 		= (Y / (X + Y + Z)).toFixed(4);
          
          
          
             if (isNaN(x))
             	x = 0;
          
             if (isNaN(y))
             	y = 0;	 
          
             let x2 = parseFloat(x);
             let y2 = parseFloat(y);
          
             return [x2, y2];
          }
          
          

          Link zu der Seite mit den Funktionen

          Unterhalb des Triggers befinden sich einige Funktionen zum Umrechnen verschiedener Farbdefinitionen.
          Vielleicht kann damit jemand was anfangen...

          @garfonso: Eine native Unterstützung für xy wäre dennoch von Vorteil 🙂

          Danke

          GarfonsoG Offline
          GarfonsoG Offline
          Garfonso
          Developer
          wrote on last edited by
          #1447

          @nukleuz said in Test Adapter lovelace v1.2.x:

          @garfonso

          Das hatten wir bestimmt schon mal... 🙂

          Wenn man in der Phosconoberfläche die Weisswerte ändert, dann springt der colormode um auf ct.
          Ändert man die Farbe ändert sich auch der colormode in xy.

          Ändert man es über die Datenpunkte scheint das nicht zu funktionieren.

          Das was seit heute Nacht funktioniert ist folgendes:

          Man legt sich einen Alias (RGB Licht einzeln) an und konfiguriert es wie folgt:
          d42d2cf2-c119-4a72-955e-e4d0ec9135f9-image.png

          Ahrg. 😕 Da muss mal was in den devices Adapter. Wenn du nur einen ON state hast, reicht es nur den obersten Wert zu befüllen. Das zweite "ON" sollte gar nicht da sein und "ON_ACTUAL" (bzw. alle "ACTUAL") brauchst du nur, wenn der Status an einem anderen State rauskommt (Homematic und KNX z.B.). 🙂
          Aber sonst sieht das gut aus 😉

          Wichtig ist, dass der Punkt RGB mit einem manuell erstellten Datenpunkt belegt wird.
          Denn Lovelace spuckt im im Colorpicker/Farbpalette einen HEX-Wert aus.

          Lovelace kann auch hue und saturation steuern (ist im devices adapter ein anderes "Gerät", hue vermutlich), daher ja die Frage, ob du nicht mit hue (0-359) und saturation (0-255) die Farbe einstellen kannst, wenn du colormode auf hs stellst. (z.B. saturation auf 255 und hue mal auf 0 sollte rot ergeben).

          Dieser wird dann in den neuen Datenpunkt geschrieben ohne Effekt/Auswirkungen.

          Nun gibt es diverse JavaScript Funktionen, die diesen Werte umrechnen.
          Bevor ich hier viel erzähle zeige ich dir/euch einfach mein Skript, was bisher sehr gut und vor allem für mich ausreichend gut funktioniert.

          
          //Hier muss der manuell erstellte -Datenpunkt angegeben werden -> wenn der sich ändert, wird umgerechnet und xy gesetzt
          on({id: '0_userdata.0.Lovelace.XY-CIE2RGB.hex', change: "any"}, function (obj) {
          
          
             let hex = getState('0_userdata.0.Lovelace.XY-CIE2RGB.hex').val;
             //console.log(hex);
          
             let rgb = hexToRgb(hex);
             //console.log(rgb.r);
             //console.log(rgb.g);
             //console.log(rgb.b);
             //console.log(typeof rgb2);
          
             let xy = rgb_to_cie(rgb.r, rgb.g, rgb.b);
             //console.log(xy);
             //console.log(Object.values(xy));
             setState('deconz.0.Lights.62.xy', (xy));
          
          });
          
          
          
          
          
          function hexToRgb(hex) {
           var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
           return result ? {
             r: parseInt(result[1], 16),
             g: parseInt(result[2], 16),
             b: parseInt(result[3], 16)
           } : null;
          }
          
          
          function hslToRgb (h, s, l) {
           // Achromatic
           if (s === 0) return [l, l, l]
           h /= 360
          
           var q = l < 0.5 ? l * (1 + s) : l + s - l * s
           var p = 2 * l - q
          
           return [
             Math.round(hueToRgb(p, q, h + 1/3) * 255),
             Math.round(hueToRgb(p, q, h) * 255),
             Math.round(hueToRgb(p, q, h - 1/3) * 255)
           ]
          }
          
          /**
          * Helpers
          */
          
          function hueToRgb (p, q, t) {
           if (t < 0) t += 1
           if (t > 1) t -= 1
           if (t < 1/6) return p + (q - p) * 6 * t
           if (t < 1/2) return q
           if (t < 2/3) return p + (q - p) * (2/3 - t) * 6
          
           return p
          }
          
          function hslToHex(h, s, l) {
             l /= 100;
             const a = s * Math.min(l, 1 - l) / 100;
             const f = n => {
                 const k = (n + h / 30) % 12;
                 const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
                 return Math.round(255 * color).toString(16).padStart(2, '0');   // convert to Hex and prefix "0" if needed
             };
             return `#${f(0)}${f(8)}${f(4)}`;
          }
          
          /**
          *     Umwandeln der RGB-Werte in ein Farbwert des HSV-Farbraum
          *        RGB Werte:          0-255, 0-255, 0-255
          *        H Wert:                   0-360°
          *        Homematic H Wert: 0-199
          */
          function RGBtoHSV($R, $G, $B)    
          {                                
             let R = ($R / 255);
             let G = ($G / 255);
             let B = ($B / 255);
          
             let maxRGB = Math.max(R, G, B);
             let minRGB = Math.min(R, G, B);
             let chroma = maxRGB - minRGB;
             let h = 0;
             if (chroma == 0)
                 return 0;
             if (R == minRGB){
                 h = 3 - ((G - B) / chroma);
             }
             else if (B == minRGB){
                 h = 1 - ((R - G) / chroma);
             }
             else{
                 h = 5 - ((B - R) / chroma);
             }
          
             let Hue = (60 * h);
             let HomematicHue = (Hue/1.8);
              
             if (HomematicHue == 200){
                 HomematicHue = 199;
             }
             return HomematicHue;
          }
          
          
          
          /**
          * Converts CIE color space to RGB color space
          * @param {Number} x
          * @param {Number} y
          * @param {Number} brightness - Ranges from 1 to 254
          * @return {Array} Array that contains the color values for red, green and blue
          */
          function cie_to_rgb(x, y, brightness)
          {
           //Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)
           if (brightness === undefined) {
           	brightness = 254;
           }
          
           var z = 1.0 - x - y;
           var Y = (brightness / 254).toFixed(2);
           var X = (Y / y) * x;
           var Z = (Y / y) * z;
          
           //Convert to RGB using Wide RGB D65 conversion
           var red 	=  X * 1.656492 - Y * 0.354851 - Z * 0.255038;
           var green 	= -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
           var blue 	=  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
          
           //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0
           if (red > blue && red > green && red > 1.0) {
          
           	green = green / red;
           	blue = blue / red;
           	red = 1.0;
           }
           else if (green > blue && green > red && green > 1.0) {
          
           	red = red / green;
           	blue = blue / green;
           	green = 1.0;
           }
           else if (blue > red && blue > green && blue > 1.0) {
          
           	red = red / blue;
           	green = green / blue;
           	blue = 1.0;
           }
          
           //Reverse gamma correction
           red 	= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;
           green 	= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;
           blue 	= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;
          
          
           //Convert normalized decimal to decimal
           red 	= Math.round(red * 255);
           green 	= Math.round(green * 255);
           blue 	= Math.round(blue * 255);
          
           if (isNaN(red))
           	red = 0;
          
           if (isNaN(green))
           	green = 0;
          
           if (isNaN(blue))
           	blue = 0;
          
          
           return [red, green, blue];
          }
          
          
          /**
          * Converts RGB color space to CIE color space
          * @param {Number} red
          * @param {Number} green
          * @param {Number} blue
          * @return {Array} Array that contains the CIE color values for x and y
          */
          function rgb_to_cie(red, green, blue)
          {
           //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
           var red 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
           var green 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
           var blue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
          
           //RGB values to XYZ using the Wide RGB D65 conversion formula
           var X 		= red * 0.664511 + green * 0.154324 + blue * 0.162028;
           var Y 		= red * 0.283881 + green * 0.668433 + blue * 0.047685;
           var Z 		= red * 0.000088 + green * 0.072310 + blue * 0.986039;
          
           //Calculate the xy values from the XYZ values
           let x 		= (X / (X + Y + Z)).toFixed(4);
           let y 		= (Y / (X + Y + Z)).toFixed(4);
          
          
          
           if (isNaN(x))
           	x = 0;
          
           if (isNaN(y))
           	y = 0;	 
          
             let x2 = parseFloat(x);
             let y2 = parseFloat(y);
          
           return [x2, y2];
          }
          
          

          Link zu der Seite mit den Funktionen

          Sieht gut aus. 🙂
          Jetzt fehlt nur noch der Weg zurück flöt
          Du kannst auch in den state selber ein rgb array schreiben, also [255,0,255]. Ab da sollte lovelace auch rgb arrays schreiben, dann brauchst du das hexToRgb nicht mehr und auch kein rgbToHex, was du noch nicht hast. 😉

          @garfonso: Eine native Unterstützung für xy wäre dennoch von Vorteil 🙂

          Ja.. ich hab nochmal reingeguckt.. müsste ich im Adapter implementieren. Das HomeAssistant unterstützt zwar mittlerweile XY als color mode, aber das Frontend nicht, die Farbe wird dann ignoriert bzw. nicht xy gesetzt. Im Grunde ist das kein Problem im Adapter umzusetzen, aber da muss dann erst nen neuer type in den type-detector und die Role gefällt mir nicht (color.CIE, müsste mindestens level.color.cie sein). Aber ich geh das mal an (wenn ich die Muße dazu finde, ist eigentlich nur Fleißarbeit und ich muss noch gucken, wie das dann im devices-adapter auftaucht und was man da machen müsste -> der ist für mich noch etwas undurchsichtig 😉 ).

          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

          nukleuzN 1 Reply Last reply
          0
          • GarfonsoG Garfonso

            @banis said in Test Adapter lovelace v1.2.x:

            In dem Ordner hab ich dann die chart.js abgelegt. Hab auch schon alle restlichen js Dateien der chart-card dort abgelegt.

            Hast du das auch über das UI gemacht? (von github installierte Version)

            @banis said in Test Adapter lovelace v1.2.x:

            Mach ich noch was falsch.

            In jedem Fall musst du den Adapter neu starten.
            Du kannst auch den debug modus aktivieren, da sagt er irgendwo, welche Karten er gefunden und geladen hat (allerdings auch ziemlich viel anderes 😉 )

            Du kannst in der Browser Konsole gucken, ob da Fehlermeldungen kommen bzw. wenn ja, welche.

            B Offline
            B Offline
            Banis
            wrote on last edited by
            #1448

            @garfonso said in Test Adapter lovelace v1.2.x:

            @banis said in Test Adapter lovelace v1.2.x:

            In dem Ordner hab ich dann die chart.js abgelegt. Hab auch schon alle restlichen js Dateien der chart-card dort abgelegt.

            Hast du das auch über das UI gemacht? (von github installierte Version)

            @banis said in Test Adapter lovelace v1.2.x:

            Mach ich noch was falsch.

            In jedem Fall musst du den Adapter neu starten.
            Du kannst auch den debug modus aktivieren, da sagt er irgendwo, welche Karten er gefunden und geladen hat (allerdings auch ziemlich viel anderes 😉 )

            Du kannst in der Browser Konsole gucken, ob da Fehlermeldungen kommen bzw. wenn ja, welche.

            Vielen Dank für deine Hilfe, hab die Karte jetzt zum laden gebracht. Leider werden aber immer nur drei "Ladepunkte" angezeigt, schein wohl als ob die Karte nicht mir dem Adapter kompatibel ist.

            Ich versuche mich dann mit der Apecchart Karte. Die läuft auch bei mir, hier habe ich aber das Problem, dass die Warte in der Chart nur im Editiermodus richtig angezeigt werden. Wenn der Editiermodu beendet ist, werden falsche Werte angezeigt. Ist das ein Problem der Karte oder des Adapters?

            apex.PNG

            Außerdem versuche ich ein Popup abhängig von bestimmten Zusätenden zu realsisieren. So wie es hier dargestellt ist.
            https://github.com/thomasloven/lovelace-browser-commander

            Lässt sich das mit dem Adapter umsetzen oder geht das nur mit Home Assistant?

            1 Reply Last reply
            0
            • H Offline
              H Offline
              haumichel
              wrote on last edited by
              #1449

              Hallo zusammen,

              ich habe eine Lampe, die besteht aus 4 einzelnen Strahlern. Da habe ich jetzt 4 Ikea RGB Strahler verbaut. Ich kann jetzt jede Lampe bzgl. Farbe, Farbtemperatur und Helligkeit ansteuern. Gibt es die Möglichkeit, das alles auf einen Button zu legen? Die Strahler sollen dann jeweils in der gleichen Helligkeit, Farbe und Farbtemperatur leuchten.

              Vielen Dank im Voraus

              nukleuzN 1 Reply Last reply
              0
              • H haumichel

                Hallo zusammen,

                ich habe eine Lampe, die besteht aus 4 einzelnen Strahlern. Da habe ich jetzt 4 Ikea RGB Strahler verbaut. Ich kann jetzt jede Lampe bzgl. Farbe, Farbtemperatur und Helligkeit ansteuern. Gibt es die Möglichkeit, das alles auf einen Button zu legen? Die Strahler sollen dann jeweils in der gleichen Helligkeit, Farbe und Farbtemperatur leuchten.

                Vielen Dank im Voraus

                nukleuzN Offline
                nukleuzN Offline
                nukleuz
                wrote on last edited by
                #1450

                @haumichel

                Ja, eine Möglichkeit wäre dir eine virtuelle Lampe zu erstellen anhand von eigenen Datenpunkten und ein Skript, welches die Werte aus deinen Datenpunkten rausholt und in die deiner Lampen einträgt - vorhin beim Nachbarn erfolgreich umgesetzt…

                Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                H 1 Reply Last reply
                0
                • GarfonsoG Offline
                  GarfonsoG Offline
                  Garfonso
                  Developer
                  wrote on last edited by
                  #1451

                  @banis said in Test Adapter lovelace v1.2.x:

                  Vielen Dank für deine Hilfe, hab die Karte jetzt zum laden gebracht. Leider werden aber immer nur drei "Ladepunkte" angezeigt, schein wohl als ob die Karte nicht mir dem Adapter kompatibel ist.

                  Das verstehe ich nicht. Was geht genau nicht?

                  Dazu immer auch mal gucken, ob es ggf. Probleme / Anpassungen an HomeAssistant Versionen gibt. Wir sind da aktuell bei 20220706.0.

                  @banis said in Test Adapter lovelace v1.2.x:

                  Ich versuche mich dann mit der Apecchart Karte. Die läuft auch bei mir, hier habe ich aber das Problem, dass die Warte in der Chart nur im Editiermodus richtig angezeigt werden. Wenn der Editiermodu beendet ist, werden falsche Werte angezeigt. Ist das ein Problem der Karte oder des Adapters?

                  Hier der gleiche Hinweis auf die Version. Die Karte hat, wenn ich es richtig im Kopf hab @david-g im Einsatz. Oder?

                  @banis said in Test Adapter lovelace v1.2.x:

                  Außerdem versuche ich ein Popup abhängig von bestimmten Zusätenden zu realsisieren. So wie es hier dargestellt ist.

                  Wie da steht, gibt es browser-commander nicht mehr aber browser_mod. Und, wenn du die aktuelle Github Version hast, dann bringt die die browser_mod Karte mittlerweile direkt mit und du müsstest einen Ordner "instances" haben. Darin gibt es für jeden Browser einen Unterordner mit states mit denen man einen Browser gezielt steuern kann und im Ordner direkt states, mit denen man alle (verbundenen) Browser steuern kann.

                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                  B 1 Reply Last reply
                  0
                  • GarfonsoG Garfonso

                    @nukleuz said in Test Adapter lovelace v1.2.x:

                    @garfonso

                    Das hatten wir bestimmt schon mal... 🙂

                    Wenn man in der Phosconoberfläche die Weisswerte ändert, dann springt der colormode um auf ct.
                    Ändert man die Farbe ändert sich auch der colormode in xy.

                    Ändert man es über die Datenpunkte scheint das nicht zu funktionieren.

                    Das was seit heute Nacht funktioniert ist folgendes:

                    Man legt sich einen Alias (RGB Licht einzeln) an und konfiguriert es wie folgt:
                    d42d2cf2-c119-4a72-955e-e4d0ec9135f9-image.png

                    Ahrg. 😕 Da muss mal was in den devices Adapter. Wenn du nur einen ON state hast, reicht es nur den obersten Wert zu befüllen. Das zweite "ON" sollte gar nicht da sein und "ON_ACTUAL" (bzw. alle "ACTUAL") brauchst du nur, wenn der Status an einem anderen State rauskommt (Homematic und KNX z.B.). 🙂
                    Aber sonst sieht das gut aus 😉

                    Wichtig ist, dass der Punkt RGB mit einem manuell erstellten Datenpunkt belegt wird.
                    Denn Lovelace spuckt im im Colorpicker/Farbpalette einen HEX-Wert aus.

                    Lovelace kann auch hue und saturation steuern (ist im devices adapter ein anderes "Gerät", hue vermutlich), daher ja die Frage, ob du nicht mit hue (0-359) und saturation (0-255) die Farbe einstellen kannst, wenn du colormode auf hs stellst. (z.B. saturation auf 255 und hue mal auf 0 sollte rot ergeben).

                    Dieser wird dann in den neuen Datenpunkt geschrieben ohne Effekt/Auswirkungen.

                    Nun gibt es diverse JavaScript Funktionen, die diesen Werte umrechnen.
                    Bevor ich hier viel erzähle zeige ich dir/euch einfach mein Skript, was bisher sehr gut und vor allem für mich ausreichend gut funktioniert.

                    
                    //Hier muss der manuell erstellte -Datenpunkt angegeben werden -> wenn der sich ändert, wird umgerechnet und xy gesetzt
                    on({id: '0_userdata.0.Lovelace.XY-CIE2RGB.hex', change: "any"}, function (obj) {
                    
                    
                       let hex = getState('0_userdata.0.Lovelace.XY-CIE2RGB.hex').val;
                       //console.log(hex);
                    
                       let rgb = hexToRgb(hex);
                       //console.log(rgb.r);
                       //console.log(rgb.g);
                       //console.log(rgb.b);
                       //console.log(typeof rgb2);
                    
                       let xy = rgb_to_cie(rgb.r, rgb.g, rgb.b);
                       //console.log(xy);
                       //console.log(Object.values(xy));
                       setState('deconz.0.Lights.62.xy', (xy));
                    
                    });
                    
                    
                    
                    
                    
                    function hexToRgb(hex) {
                     var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
                     return result ? {
                       r: parseInt(result[1], 16),
                       g: parseInt(result[2], 16),
                       b: parseInt(result[3], 16)
                     } : null;
                    }
                    
                    
                    function hslToRgb (h, s, l) {
                     // Achromatic
                     if (s === 0) return [l, l, l]
                     h /= 360
                    
                     var q = l < 0.5 ? l * (1 + s) : l + s - l * s
                     var p = 2 * l - q
                    
                     return [
                       Math.round(hueToRgb(p, q, h + 1/3) * 255),
                       Math.round(hueToRgb(p, q, h) * 255),
                       Math.round(hueToRgb(p, q, h - 1/3) * 255)
                     ]
                    }
                    
                    /**
                    * Helpers
                    */
                    
                    function hueToRgb (p, q, t) {
                     if (t < 0) t += 1
                     if (t > 1) t -= 1
                     if (t < 1/6) return p + (q - p) * 6 * t
                     if (t < 1/2) return q
                     if (t < 2/3) return p + (q - p) * (2/3 - t) * 6
                    
                     return p
                    }
                    
                    function hslToHex(h, s, l) {
                       l /= 100;
                       const a = s * Math.min(l, 1 - l) / 100;
                       const f = n => {
                           const k = (n + h / 30) % 12;
                           const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
                           return Math.round(255 * color).toString(16).padStart(2, '0');   // convert to Hex and prefix "0" if needed
                       };
                       return `#${f(0)}${f(8)}${f(4)}`;
                    }
                    
                    /**
                    *     Umwandeln der RGB-Werte in ein Farbwert des HSV-Farbraum
                    *        RGB Werte:          0-255, 0-255, 0-255
                    *        H Wert:                   0-360°
                    *        Homematic H Wert: 0-199
                    */
                    function RGBtoHSV($R, $G, $B)    
                    {                                
                       let R = ($R / 255);
                       let G = ($G / 255);
                       let B = ($B / 255);
                    
                       let maxRGB = Math.max(R, G, B);
                       let minRGB = Math.min(R, G, B);
                       let chroma = maxRGB - minRGB;
                       let h = 0;
                       if (chroma == 0)
                           return 0;
                       if (R == minRGB){
                           h = 3 - ((G - B) / chroma);
                       }
                       else if (B == minRGB){
                           h = 1 - ((R - G) / chroma);
                       }
                       else{
                           h = 5 - ((B - R) / chroma);
                       }
                    
                       let Hue = (60 * h);
                       let HomematicHue = (Hue/1.8);
                        
                       if (HomematicHue == 200){
                           HomematicHue = 199;
                       }
                       return HomematicHue;
                    }
                    
                    
                    
                    /**
                    * Converts CIE color space to RGB color space
                    * @param {Number} x
                    * @param {Number} y
                    * @param {Number} brightness - Ranges from 1 to 254
                    * @return {Array} Array that contains the color values for red, green and blue
                    */
                    function cie_to_rgb(x, y, brightness)
                    {
                     //Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)
                     if (brightness === undefined) {
                     	brightness = 254;
                     }
                    
                     var z = 1.0 - x - y;
                     var Y = (brightness / 254).toFixed(2);
                     var X = (Y / y) * x;
                     var Z = (Y / y) * z;
                    
                     //Convert to RGB using Wide RGB D65 conversion
                     var red 	=  X * 1.656492 - Y * 0.354851 - Z * 0.255038;
                     var green 	= -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
                     var blue 	=  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
                    
                     //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0
                     if (red > blue && red > green && red > 1.0) {
                    
                     	green = green / red;
                     	blue = blue / red;
                     	red = 1.0;
                     }
                     else if (green > blue && green > red && green > 1.0) {
                    
                     	red = red / green;
                     	blue = blue / green;
                     	green = 1.0;
                     }
                     else if (blue > red && blue > green && blue > 1.0) {
                    
                     	red = red / blue;
                     	green = green / blue;
                     	blue = 1.0;
                     }
                    
                     //Reverse gamma correction
                     red 	= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;
                     green 	= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;
                     blue 	= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;
                    
                    
                     //Convert normalized decimal to decimal
                     red 	= Math.round(red * 255);
                     green 	= Math.round(green * 255);
                     blue 	= Math.round(blue * 255);
                    
                     if (isNaN(red))
                     	red = 0;
                    
                     if (isNaN(green))
                     	green = 0;
                    
                     if (isNaN(blue))
                     	blue = 0;
                    
                    
                     return [red, green, blue];
                    }
                    
                    
                    /**
                    * Converts RGB color space to CIE color space
                    * @param {Number} red
                    * @param {Number} green
                    * @param {Number} blue
                    * @return {Array} Array that contains the CIE color values for x and y
                    */
                    function rgb_to_cie(red, green, blue)
                    {
                     //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
                     var red 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
                     var green 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
                     var blue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
                    
                     //RGB values to XYZ using the Wide RGB D65 conversion formula
                     var X 		= red * 0.664511 + green * 0.154324 + blue * 0.162028;
                     var Y 		= red * 0.283881 + green * 0.668433 + blue * 0.047685;
                     var Z 		= red * 0.000088 + green * 0.072310 + blue * 0.986039;
                    
                     //Calculate the xy values from the XYZ values
                     let x 		= (X / (X + Y + Z)).toFixed(4);
                     let y 		= (Y / (X + Y + Z)).toFixed(4);
                    
                    
                    
                     if (isNaN(x))
                     	x = 0;
                    
                     if (isNaN(y))
                     	y = 0;	 
                    
                       let x2 = parseFloat(x);
                       let y2 = parseFloat(y);
                    
                     return [x2, y2];
                    }
                    
                    

                    Link zu der Seite mit den Funktionen

                    Sieht gut aus. 🙂
                    Jetzt fehlt nur noch der Weg zurück flöt
                    Du kannst auch in den state selber ein rgb array schreiben, also [255,0,255]. Ab da sollte lovelace auch rgb arrays schreiben, dann brauchst du das hexToRgb nicht mehr und auch kein rgbToHex, was du noch nicht hast. 😉

                    @garfonso: Eine native Unterstützung für xy wäre dennoch von Vorteil 🙂

                    Ja.. ich hab nochmal reingeguckt.. müsste ich im Adapter implementieren. Das HomeAssistant unterstützt zwar mittlerweile XY als color mode, aber das Frontend nicht, die Farbe wird dann ignoriert bzw. nicht xy gesetzt. Im Grunde ist das kein Problem im Adapter umzusetzen, aber da muss dann erst nen neuer type in den type-detector und die Role gefällt mir nicht (color.CIE, müsste mindestens level.color.cie sein). Aber ich geh das mal an (wenn ich die Muße dazu finde, ist eigentlich nur Fleißarbeit und ich muss noch gucken, wie das dann im devices-adapter auftaucht und was man da machen müsste -> der ist für mich noch etwas undurchsichtig 😉 ).

                    nukleuzN Offline
                    nukleuzN Offline
                    nukleuz
                    wrote on last edited by
                    #1452

                    @garfonso

                    Danke für dein ausführliches Feedback!

                    Ich werde das mit den Colormodes nochmal testen.

                    Bei DeConz gibt es meiner Meinung nach einen gravierenden Nachteil: Die Datenpunkte eines Geräts sind teilweise total überflüssig. Bei einem simplen Schaltaktor An/Aus werden im ioBroker Adapter dennoch Datenpunkte erzeugt, die niemand braucht, wie beispielsweise Dimup/Dimdown und weitere. Auf welcher Seite da jetzt der Fehler liegt weiß ich nicht genau. Habe mal gelesen, dass der Adapter-Entwickler keinen Einfluss darauf hat und alles weiter reicht was von DeConz kommt…

                    @Jey-Cee : stimmt das so in etwa, oder wo liegt hier das Problem? Danke vorab für Feedback!

                    Das nur mal am Rande. Somit kann es sein, dass bei meinen Exporten Datenpunkte wie Hue etc. zwar da sind, obwohl sie keinen Sinn machen!

                    Das macht alles nicht einfacher….

                    Deine weiteren Ideen bestimmte Funktionen des Skripts nicht nutzen zu müssen werde ich in Ruhe mal ausprobieren.

                    Bin froh, dass dieser Workaround funktioniert und sich die Farben steuern lassen und das sogar ziemlich gut.

                    Danke für deinen Support.

                    PS: Mittlerweile läuft in einem Container HomeAssistant OS parallel. Es hat seine Vorteile, aber an ioBroker kommt es einfach nicht vorbei!!!

                    Das ist meine Meinung 😎

                    Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                    Jey CeeJ 1 Reply Last reply
                    1
                    • nukleuzN nukleuz

                      @garfonso

                      Danke für dein ausführliches Feedback!

                      Ich werde das mit den Colormodes nochmal testen.

                      Bei DeConz gibt es meiner Meinung nach einen gravierenden Nachteil: Die Datenpunkte eines Geräts sind teilweise total überflüssig. Bei einem simplen Schaltaktor An/Aus werden im ioBroker Adapter dennoch Datenpunkte erzeugt, die niemand braucht, wie beispielsweise Dimup/Dimdown und weitere. Auf welcher Seite da jetzt der Fehler liegt weiß ich nicht genau. Habe mal gelesen, dass der Adapter-Entwickler keinen Einfluss darauf hat und alles weiter reicht was von DeConz kommt…

                      @Jey-Cee : stimmt das so in etwa, oder wo liegt hier das Problem? Danke vorab für Feedback!

                      Das nur mal am Rande. Somit kann es sein, dass bei meinen Exporten Datenpunkte wie Hue etc. zwar da sind, obwohl sie keinen Sinn machen!

                      Das macht alles nicht einfacher….

                      Deine weiteren Ideen bestimmte Funktionen des Skripts nicht nutzen zu müssen werde ich in Ruhe mal ausprobieren.

                      Bin froh, dass dieser Workaround funktioniert und sich die Farben steuern lassen und das sogar ziemlich gut.

                      Danke für deinen Support.

                      PS: Mittlerweile läuft in einem Container HomeAssistant OS parallel. Es hat seine Vorteile, aber an ioBroker kommt es einfach nicht vorbei!!!

                      Das ist meine Meinung 😎

                      Jey CeeJ Online
                      Jey CeeJ Online
                      Jey Cee
                      Developer
                      wrote on last edited by
                      #1453

                      @nukleuz sagte in Test Adapter lovelace v1.2.x:

                      @Jey-Cee : stimmt das so in etwa, oder wo liegt hier das Problem? Danke vorab für Feedback!

                      Ja der Adapter reicht das weiter was ankommt, mit Ausnahme von Dimup/Dimdown, das legt der Adapter zusätzlich bei allen Lampen an.
                      Da deConz keine Geräte sondern nur Lampen und Sensoren kennt ist halt alles was man Schalten kann eine Lampe. Leider.

                      Persönlicher Support
                      Spenden -> paypal.me/J3YC33

                      nukleuzN 1 Reply Last reply
                      0
                      • nukleuzN nukleuz

                        @haumichel

                        Ja, eine Möglichkeit wäre dir eine virtuelle Lampe zu erstellen anhand von eigenen Datenpunkten und ein Skript, welches die Werte aus deinen Datenpunkten rausholt und in die deiner Lampen einträgt - vorhin beim Nachbarn erfolgreich umgesetzt…

                        H Offline
                        H Offline
                        haumichel
                        wrote on last edited by
                        #1454

                        @nukleuz
                        Das hört sich ja schon mal gut an.
                        Kannst du das Skript, das du bei deinem Nachbarn verwendet hast, hier posten?

                        Vielen Dank

                        nukleuzN 2 Replies Last reply
                        0
                        • Jey CeeJ Jey Cee

                          @nukleuz sagte in Test Adapter lovelace v1.2.x:

                          @Jey-Cee : stimmt das so in etwa, oder wo liegt hier das Problem? Danke vorab für Feedback!

                          Ja der Adapter reicht das weiter was ankommt, mit Ausnahme von Dimup/Dimdown, das legt der Adapter zusätzlich bei allen Lampen an.
                          Da deConz keine Geräte sondern nur Lampen und Sensoren kennt ist halt alles was man Schalten kann eine Lampe. Leider.

                          nukleuzN Offline
                          nukleuzN Offline
                          nukleuz
                          wrote on last edited by
                          #1455

                          @jey-cee

                          Danke für deinen Input!

                          Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                          1 Reply Last reply
                          0
                          • H haumichel

                            @nukleuz
                            Das hört sich ja schon mal gut an.
                            Kannst du das Skript, das du bei deinem Nachbarn verwendet hast, hier posten?

                            Vielen Dank

                            nukleuzN Offline
                            nukleuzN Offline
                            nukleuz
                            wrote on last edited by
                            #1456

                            @haumichel

                            Ich sehe zu, dass ich es heute noch poste… 😉

                            Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                            1 Reply Last reply
                            0
                            • H haumichel

                              @nukleuz
                              Das hört sich ja schon mal gut an.
                              Kannst du das Skript, das du bei deinem Nachbarn verwendet hast, hier posten?

                              Vielen Dank

                              nukleuzN Offline
                              nukleuzN Offline
                              nukleuz
                              wrote on last edited by nukleuz
                              #1457

                              @haumichel

                              Du brauchst in jedem Fall unter Userdata folgende DP-Struktur:
                              3139cb94-cea2-467c-af38-1cdddfccd536-image.png

                              Die role der DP richtet sich nach der Vorgabe des Devices/Geräte-Adapter.
                              c10f460b-d821-4855-a317-549576488b52-image.png

                              981ca4d3-0e93-4498-a2c9-f339f3fabe36-image.png

                              Und dann brauchst du ein JavaScript, welches dir die Werte auf deine richtigen Lampen (1-x) überträgt:

                              on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: true}, function (obj) {
                              
                                //on Datenpunkt aus DeConz
                                setState('deconz.0.Lights.21.on', true);
                                setState('deconz.0.Lights.32.on', true);
                                setState('deconz.0.Lights.35.on', true);
                              
                              });
                              
                              on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: false}, function (obj) {
                              
                                //on Datenpunkt aus DeConz
                                setState('deconz.0.Lights.21.ct', false);
                                setState('deconz.0.Lights.32.ct', false);
                                setState('deconz.0.Lights.35.ct', false);
                              
                              });
                              
                              on({id: '0_userdata.0.Lovelace.Test_-_virtuell.level', change: "any"}, function (obj) {
                                // Wert holen von level
                                let level = getState('0_userdata.0.Lovelace.Test_-_virtuell.level').val;
                                //level Datenpunkt aus DeConz
                                setState('deconz.0.Lights.21.level', (level));
                                setState('deconz.0.Lights.32.level', (level));
                                setState('deconz.0.Lights.35.level', (level));
                              
                              });
                              
                              // warmweiss/kaltweiss -> Farbtemperatur
                              on({id: 'alias.0.Licht.Balkon_-_virtuell.ct', change: "any"}, function (obj) {
                                // Wert holen von ct
                                let ct = getState('0_userdata.0.Lovelace.Test_-_virtuell.ct').val;
                                //ct Datenpunkt aus DeConz
                                setState('deconz.0.Lights.21.ct', (ct));
                                setState('deconz.0.Lights.32.ct', (ct));
                                setState('deconz.0.Lights.35.ct', (ct));
                              
                              });
                              
                              // RGB -> Farbe
                              on({id: 'alias.0.Licht.Balkon_-_virtuell.rgb', change: "any"}, function (obj) {
                                // Wert holen von ct
                                let rgb = getState('0_userdata.0.Lovelace.Test_-_virtuell.rgb').val;
                                //ct Datenpunkt aus DeConz
                                setState('deconz.0.Lights.21.rgb', (rgb));
                                setState('deconz.0.Lights.32.rgb', (rgb));
                                setState('deconz.0.Lights.35.rgb', (rgb));
                              
                              });
                              

                              Ich habe das eben ohne zu testen nachgebaut - also bitte schreiben, wenn was nicht laufen sollte.
                              Natürlich muss das virtuelle Gerät aus dem Devices-Adapter in Lovelace eingebunden werden.

                              Solltest du keine RGB Lampen haben, sondern z.B. Hue, dann ist entsprechend eine Änderung in den Devices nötig.

                              Hoffe, du kannst damit was anfangen.

                              Außerdem kannst du bei den "setStates" weniger oder mehr Datenpunkte = Lampen steuern.

                              Sollte jemand Verbesserungen haben, dann gerne immer her damit (bin halt kein DEV!). 🙂

                              Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                              H 2 Replies Last reply
                              2
                              • nukleuzN nukleuz

                                @haumichel

                                Du brauchst in jedem Fall unter Userdata folgende DP-Struktur:
                                3139cb94-cea2-467c-af38-1cdddfccd536-image.png

                                Die role der DP richtet sich nach der Vorgabe des Devices/Geräte-Adapter.
                                c10f460b-d821-4855-a317-549576488b52-image.png

                                981ca4d3-0e93-4498-a2c9-f339f3fabe36-image.png

                                Und dann brauchst du ein JavaScript, welches dir die Werte auf deine richtigen Lampen (1-x) überträgt:

                                on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: true}, function (obj) {
                                
                                  //on Datenpunkt aus DeConz
                                  setState('deconz.0.Lights.21.on', true);
                                  setState('deconz.0.Lights.32.on', true);
                                  setState('deconz.0.Lights.35.on', true);
                                
                                });
                                
                                on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: false}, function (obj) {
                                
                                  //on Datenpunkt aus DeConz
                                  setState('deconz.0.Lights.21.ct', false);
                                  setState('deconz.0.Lights.32.ct', false);
                                  setState('deconz.0.Lights.35.ct', false);
                                
                                });
                                
                                on({id: '0_userdata.0.Lovelace.Test_-_virtuell.level', change: "any"}, function (obj) {
                                  // Wert holen von level
                                  let level = getState('0_userdata.0.Lovelace.Test_-_virtuell.level').val;
                                  //level Datenpunkt aus DeConz
                                  setState('deconz.0.Lights.21.level', (level));
                                  setState('deconz.0.Lights.32.level', (level));
                                  setState('deconz.0.Lights.35.level', (level));
                                
                                });
                                
                                // warmweiss/kaltweiss -> Farbtemperatur
                                on({id: 'alias.0.Licht.Balkon_-_virtuell.ct', change: "any"}, function (obj) {
                                  // Wert holen von ct
                                  let ct = getState('0_userdata.0.Lovelace.Test_-_virtuell.ct').val;
                                  //ct Datenpunkt aus DeConz
                                  setState('deconz.0.Lights.21.ct', (ct));
                                  setState('deconz.0.Lights.32.ct', (ct));
                                  setState('deconz.0.Lights.35.ct', (ct));
                                
                                });
                                
                                // RGB -> Farbe
                                on({id: 'alias.0.Licht.Balkon_-_virtuell.rgb', change: "any"}, function (obj) {
                                  // Wert holen von ct
                                  let rgb = getState('0_userdata.0.Lovelace.Test_-_virtuell.rgb').val;
                                  //ct Datenpunkt aus DeConz
                                  setState('deconz.0.Lights.21.rgb', (rgb));
                                  setState('deconz.0.Lights.32.rgb', (rgb));
                                  setState('deconz.0.Lights.35.rgb', (rgb));
                                
                                });
                                

                                Ich habe das eben ohne zu testen nachgebaut - also bitte schreiben, wenn was nicht laufen sollte.
                                Natürlich muss das virtuelle Gerät aus dem Devices-Adapter in Lovelace eingebunden werden.

                                Solltest du keine RGB Lampen haben, sondern z.B. Hue, dann ist entsprechend eine Änderung in den Devices nötig.

                                Hoffe, du kannst damit was anfangen.

                                Außerdem kannst du bei den "setStates" weniger oder mehr Datenpunkte = Lampen steuern.

                                Sollte jemand Verbesserungen haben, dann gerne immer her damit (bin halt kein DEV!). 🙂

                                H Offline
                                H Offline
                                haumichel
                                wrote on last edited by
                                #1458

                                @nukleuz
                                Klasse, vielen Dank.
                                Ich werde das morgen mal ausprobieren und Rückmeldung geben.

                                1 Reply Last reply
                                1
                                • nukleuzN nukleuz

                                  @haumichel

                                  Du brauchst in jedem Fall unter Userdata folgende DP-Struktur:
                                  3139cb94-cea2-467c-af38-1cdddfccd536-image.png

                                  Die role der DP richtet sich nach der Vorgabe des Devices/Geräte-Adapter.
                                  c10f460b-d821-4855-a317-549576488b52-image.png

                                  981ca4d3-0e93-4498-a2c9-f339f3fabe36-image.png

                                  Und dann brauchst du ein JavaScript, welches dir die Werte auf deine richtigen Lampen (1-x) überträgt:

                                  on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: true}, function (obj) {
                                  
                                    //on Datenpunkt aus DeConz
                                    setState('deconz.0.Lights.21.on', true);
                                    setState('deconz.0.Lights.32.on', true);
                                    setState('deconz.0.Lights.35.on', true);
                                  
                                  });
                                  
                                  on({id: '0_userdata.0.Lovelace.Test_-_virtuell.on', val: false}, function (obj) {
                                  
                                    //on Datenpunkt aus DeConz
                                    setState('deconz.0.Lights.21.ct', false);
                                    setState('deconz.0.Lights.32.ct', false);
                                    setState('deconz.0.Lights.35.ct', false);
                                  
                                  });
                                  
                                  on({id: '0_userdata.0.Lovelace.Test_-_virtuell.level', change: "any"}, function (obj) {
                                    // Wert holen von level
                                    let level = getState('0_userdata.0.Lovelace.Test_-_virtuell.level').val;
                                    //level Datenpunkt aus DeConz
                                    setState('deconz.0.Lights.21.level', (level));
                                    setState('deconz.0.Lights.32.level', (level));
                                    setState('deconz.0.Lights.35.level', (level));
                                  
                                  });
                                  
                                  // warmweiss/kaltweiss -> Farbtemperatur
                                  on({id: 'alias.0.Licht.Balkon_-_virtuell.ct', change: "any"}, function (obj) {
                                    // Wert holen von ct
                                    let ct = getState('0_userdata.0.Lovelace.Test_-_virtuell.ct').val;
                                    //ct Datenpunkt aus DeConz
                                    setState('deconz.0.Lights.21.ct', (ct));
                                    setState('deconz.0.Lights.32.ct', (ct));
                                    setState('deconz.0.Lights.35.ct', (ct));
                                  
                                  });
                                  
                                  // RGB -> Farbe
                                  on({id: 'alias.0.Licht.Balkon_-_virtuell.rgb', change: "any"}, function (obj) {
                                    // Wert holen von ct
                                    let rgb = getState('0_userdata.0.Lovelace.Test_-_virtuell.rgb').val;
                                    //ct Datenpunkt aus DeConz
                                    setState('deconz.0.Lights.21.rgb', (rgb));
                                    setState('deconz.0.Lights.32.rgb', (rgb));
                                    setState('deconz.0.Lights.35.rgb', (rgb));
                                  
                                  });
                                  

                                  Ich habe das eben ohne zu testen nachgebaut - also bitte schreiben, wenn was nicht laufen sollte.
                                  Natürlich muss das virtuelle Gerät aus dem Devices-Adapter in Lovelace eingebunden werden.

                                  Solltest du keine RGB Lampen haben, sondern z.B. Hue, dann ist entsprechend eine Änderung in den Devices nötig.

                                  Hoffe, du kannst damit was anfangen.

                                  Außerdem kannst du bei den "setStates" weniger oder mehr Datenpunkte = Lampen steuern.

                                  Sollte jemand Verbesserungen haben, dann gerne immer her damit (bin halt kein DEV!). 🙂

                                  H Offline
                                  H Offline
                                  haumichel
                                  wrote on last edited by
                                  #1459

                                  @nukleuz
                                  Ich habe jetzt die DP erstellt.

                                  ae8e1d3c-002b-4ec3-b72b-54916a6c4ecf-grafik.png

                                  Unter "Objekte/alias/0" sieht das so aus:

                                  99319105-eac2-4192-8378-3fdf4df8700e-grafik.png

                                  Unter "Geräte" finde ich Folgendes:

                                  1a5a2956-3793-4ced-93ce-63a5e20d5e86-grafik.png

                                  d8f751e9-f2a9-4c77-8554-2d27e2639b60-grafik.png

                                  Wie kann ich nun diese virtuelle Lampe in Lovelace einbinden. Unter "Entitäten" kann ich die Lampe "alias.0.lampe_wz-tisch" nicht finden.
                                  Das ist alles was ich unter "Lovelace/Entitäten" finde. Ist es normal, dass manchmal der Alias und manchmal der tatsächlich DP angezogen wird?

                                  57f2158f-efed-42a3-ba78-c0cc06005fd5-grafik.png

                                  Vielen Dank

                                  nukleuzN 2 Replies Last reply
                                  0
                                  • H haumichel

                                    @nukleuz
                                    Ich habe jetzt die DP erstellt.

                                    ae8e1d3c-002b-4ec3-b72b-54916a6c4ecf-grafik.png

                                    Unter "Objekte/alias/0" sieht das so aus:

                                    99319105-eac2-4192-8378-3fdf4df8700e-grafik.png

                                    Unter "Geräte" finde ich Folgendes:

                                    1a5a2956-3793-4ced-93ce-63a5e20d5e86-grafik.png

                                    d8f751e9-f2a9-4c77-8554-2d27e2639b60-grafik.png

                                    Wie kann ich nun diese virtuelle Lampe in Lovelace einbinden. Unter "Entitäten" kann ich die Lampe "alias.0.lampe_wz-tisch" nicht finden.
                                    Das ist alles was ich unter "Lovelace/Entitäten" finde. Ist es normal, dass manchmal der Alias und manchmal der tatsächlich DP angezogen wird?

                                    57f2158f-efed-42a3-ba78-c0cc06005fd5-grafik.png

                                    Vielen Dank

                                    nukleuzN Offline
                                    nukleuzN Offline
                                    nukleuz
                                    wrote on last edited by
                                    #1460

                                    @haumichel

                                    Das was ich zuerst sehe, dass du eine Adapterversion 2.0.6 hast - die latest stable aber 2.2.0 ist.

                                    Ansonsten versuche mal die Instanz neu zu starten.

                                    Die Entität heißt bei mir genauso wie das Device…

                                    Intel NUC -> ProxMox -> Debian -> ioBroker (Master)| RPI3B+ -> rtl_433 (Slave) | CCU2

                                    H 2 Replies Last reply
                                    0
                                    • nukleuzN nukleuz

                                      @haumichel

                                      Das was ich zuerst sehe, dass du eine Adapterversion 2.0.6 hast - die latest stable aber 2.2.0 ist.

                                      Ansonsten versuche mal die Instanz neu zu starten.

                                      Die Entität heißt bei mir genauso wie das Device…

                                      H Offline
                                      H Offline
                                      haumichel
                                      wrote on last edited by haumichel
                                      #1461

                                      @nukleuz
                                      Ja, die Updates...
                                      Ich aktualisiere nicht wenn ich nicht muss. So lange alles läuft, ändere ich nichts.
                                      Jetzt habe ich es aber getan. Geändert hat sich leider nichts.
                                      Habe jetzt mal die einzige alias.0-Entität eingebunden

                                      e3a2c5d7-1985-4002-b0ad-ba65602e3cb6-grafik.png

                                      Für mich als Laien sehen die Attribute eigentlich gut aus. Der Button zum Steuern der Lampe wirkt aber etwas mager. Da fehlen komplett die Einstellunungen für Lichtfarbe und Farbe.

                                      18f45bf6-4e45-4f4c-bd65-dd9dfd77214c-grafik.png

                                      Was mache ich falsch?

                                      Vielleicht kann @garfonso mir einen Tip dazu geben.

                                      Vielen Dank

                                      David G.D GarfonsoG 2 Replies Last reply
                                      0
                                      • H haumichel

                                        @nukleuz
                                        Ja, die Updates...
                                        Ich aktualisiere nicht wenn ich nicht muss. So lange alles läuft, ändere ich nichts.
                                        Jetzt habe ich es aber getan. Geändert hat sich leider nichts.
                                        Habe jetzt mal die einzige alias.0-Entität eingebunden

                                        e3a2c5d7-1985-4002-b0ad-ba65602e3cb6-grafik.png

                                        Für mich als Laien sehen die Attribute eigentlich gut aus. Der Button zum Steuern der Lampe wirkt aber etwas mager. Da fehlen komplett die Einstellunungen für Lichtfarbe und Farbe.

                                        18f45bf6-4e45-4f4c-bd65-dd9dfd77214c-grafik.png

                                        Was mache ich falsch?

                                        Vielleicht kann @garfonso mir einen Tip dazu geben.

                                        Vielen Dank

                                        David G.D Offline
                                        David G.D Offline
                                        David G.
                                        wrote on last edited by David G.
                                        #1462

                                        @haumichel

                                        So wird bei mir die Farbe korrekt erkannt:
                                        Screenshot_20221003-170623_Chrome.jpg
                                        Aber so hast du es ja eigentlich...

                                        EDIT:
                                        Hast du irgendwelche zigbee Birnen im Einsatz?

                                        Zeigt eure Lovelace-Visualisierung klick
                                        (Auch ideal um sich Anregungen zu holen)

                                        Meine Tabellen für eure Visualisierung klick

                                        1 Reply Last reply
                                        1
                                        • nukleuzN nukleuz

                                          @haumichel

                                          Das was ich zuerst sehe, dass du eine Adapterversion 2.0.6 hast - die latest stable aber 2.2.0 ist.

                                          Ansonsten versuche mal die Instanz neu zu starten.

                                          Die Entität heißt bei mir genauso wie das Device…

                                          H Offline
                                          H Offline
                                          haumichel
                                          wrote on last edited by
                                          #1463

                                          @nukleuz
                                          @david-g

                                          Erst einmal vielen Dank für eure Hilfe.
                                          Letztlich habe ich es nun anders gelöst. Ich habe im Zigbee-Adapter eine Grupe aus den vier Strahlern erstellt.
                                          b11053e6-90a6-4c62-a0bc-6bf1076a99e9-grafik.png

                                          Diese habe ich in den Objekten mit Raum und Funktion versehen.
                                          bdb9ede5-3ae3-4ca9-b653-8dab3265a001-grafik.png

                                          Und wie von Geisterhand ist im Lovelace eine Entität daraus entstanden, die ich dann einfach einbinden konnte. Die Karte mit dem Glühbirnensymbol hatte auf Anhieb alle Funktionen, ein Skript ist nicht notwendig.

                                          Also nochmal, vielen Dank. Natürlich auch an @garfonso. Super Adapter.

                                          David G.D nukleuzN 2 Replies Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          101

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe