Skip to content
  • Home
  • 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
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter lovelace v1.2.x

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Test Adapter lovelace v1.2.x

Scheduled Pinned Locked Moved Tester
lovelacevisualization
1.5k Posts 78 Posters 634.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.
  • nukleuzN nukleuz

    @garfonso

    Ich muss dich nochmal nervern wegen dieser xy Farbsteuerung...
    Auch die LIDL Livarno (IKEA Tradfri sowieso) Lampen liefern ausschließlich xy Werte zur Steuerung über DeConz.

    Kannst du bitte nochmal schauen, ob du da ein Skript zum umrechnen der Werte findest?

    DANKE :angel:

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

    @nukleuz
    kannst du mir von den Lampen, die nur xy liefern mal einen export der states geben? Also ganzer Ordner (im Admin, ggf. mit Expertensicht).

    Dann guck ich mal, dass wir das nicht einfach in den type-detector kriegen und unterstützen.

    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
    • XBiTX XBiT

      @garfonso

      Danke für die neue Version.
      Kann es sein, dass die Skalierung der Karten anders ist? Wenn ich das Browserfenster kleiner mache (in der Breite) werden die Karten an manchen Positionen schon alle untereinander dargestellt mache ich das Fenster noch kleiner wird es wieder 2 spaltig?

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

      @xbit
      öh, ja, kann gut sein. Das macht alles das frontend, das hat sich verändert. (ändert sich aber nochmal ;-) )

      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

      1 Reply Last reply
      0
      • David G.D David G.

        @radicalreel

        Sowas hatte ich auch mal.
        Hab es dann nach Ewigkeiten probieren im Theme wegbekommen.
        Haben hier glaube nur wenige Leute, die sich bei den Themes gut auskennen.

        Ich frage einfach manchmal im Forum von Home Assistent. Auch wenn das lange nicht so gut wie hier ist.

        Manche customcards sind aber auch gelegentlich wiederspenstig. Dann versuche ich mir selber was zu bauen.

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

        @david-g
        es gibt themes in github, die werden dann regelmäßig aktualisiert, wenn sich was ändert. Hat bei mir bisher ganz ok geklappt.

        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

        1 Reply Last reply
        0
        • radicalreelR radicalreel

          Nabend,

          kurze Frage, da es meinen inneren Monk doch ein wenig stört. Bekomme ich den Hintergeund der markierten Karten so grau wie die Standard Karten?

          96535bfc-c0c6-4708-9b34-337f50469048-grafik.png

          Hier mal der Code von zwei der Karten.

          type: custom:button-entity-row
          buttons:
            - icon: mdi:arrow-up-bold
              entity: input_boolean.Rolllaeden_Alle_Rolllaeden_OG_open
              style:
                - color: var(--accent-color)
            - icon: mdi:stop
              entity: input_boolean.Rolllaeden_Alle_Rolllaeden_OG_open
              style:
                - color: var(--accent-color)
            - icon: mdi:arrow-down-bold
              entity: input_boolean.Rolllaeden_Alle_Rolllaeden_OG_close
              style:
                - color: var(--accent-color)
          


          type: vertical-stack
          cards:
            - type: markdown
              content: Esszimmer
            - type: horizontal-stack
              cards:
                - type: custom:button-entity-row
                  buttons:
                    - icon: mdi:arrow-up-bold
                      entity: input_boolean.SHSW_25_8CAAB505AB8D_1_Shutter_Open
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:stop
                      entity: input_boolean.SHSW_25_8CAAB505AB8D_1_Shutter_Pause
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:arrow-down-bold
                      entity: input_boolean.SHSW_25_8CAAB505AB8D_1_Shutter_Close
                      style:
                        - color: var(--accent-color)
                - type: custom:slider-entity-row
                  entity: input_number.SHSW_25_8CAAB505AB8D_1_Shutter_Position
                  full_row: true
            - type: markdown
              content: Terasse
            - type: horizontal-stack
              cards:
                - type: custom:button-entity-row
                  buttons:
                    - icon: mdi:arrow-up-bold
                      entity: input_boolean.SHSW_25_8CAAB5059224_1_Shutter_Open
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:stop
                      entity: input_boolean.SHSW_25_8CAAB5059224_1_Shutter_Pause
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:arrow-down-bold
                      entity: input_boolean.SHSW_25_8CAAB5059224_1_Shutter_Close
                      style:
                        - color: var(--accent-color)
                - type: custom:slider-entity-row
                  entity: input_number.SHSW_25_8CAAB5059224_1_Shutter_Position
                  icon: mdi:window-shutter
                  full_row: true
            - type: markdown
              content: Tür Katzenklappe
            - type: horizontal-stack
              cards:
                - type: custom:button-entity-row
                  buttons:
                    - icon: mdi:arrow-up-bold
                      entity: input_boolean.SHSW_25_8CAAB50593E5_1_Shutter_Open
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:stop
                      entity: input_boolean.SHSW_25_8CAAB50593E5_1_Shutter_Pause
                      style:
                        - color: var(--accent-color)
                    - icon: mdi:arrow-down-bold
                      entity: input_boolean.SHSW_25_8CAAB50593E5_1_Shutter_Close
                      style:
                        - color: var(--accent-color)
                - type: custom:slider-entity-row
                  entity: input_number.SHSW_25_8CAAB50593E5_1_Shutter_Position
                  icon: mdi:window-shutter
                  full_row: true
          title: Rollläden EG
          
          

          ...und nein im Wohnzimmer sind es keine 5,86 °C :blush:

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

          @radicalreel

          das liegt, wie @david-g schon vermutet hat am Theme. Ich hab gerade mal geguckt, bei mir haben die button-entity-rows die richtige Hintergrundfarbe. Aber frag mich jetzt nicht, welche Variable das ist... ;-)

          Ich nutze aktuell das theme:
          https://github.com/bbbenji/synthwave-hass/releases/tag/0.3.5

          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

          1 Reply Last reply
          0
          • GarfonsoG Garfonso

            @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.

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

            @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 1 Reply Last reply
            0
            • GarfonsoG Garfonso

              @nukleuz
              kannst du mir von den Lampen, die nur xy liefern mal einen export der states geben? Also ganzer Ordner (im Admin, ggf. mit Expertensicht).

              Dann guck ich mal, dass wir das nicht einfach in den type-detector kriegen und unterstützen.

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

              @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!!!!

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

              GarfonsoG 1 Reply Last reply
              0
              • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          897

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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