Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @loverz last edited by

      @loverz sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

      Wie ich das dort umrechnen soll ist mir noch ein Rätsel.
      Es wäre echt cool, wenn man vom Zigbee Adapter diese Werte direkt ziehen könnte.

      Ja, das wäre es, und ich habe das auch schon auf der Liste - leider habe ich das nicht zu 100% selber in der Hand, da es davon abhängt in wie weit die Herdsman-converters (die Bibliothek die wir zur Kommunikation mit der hardware verwenden) das für alle Lampen unterstützt. Bis es da Besserung gibt kann ich die JS Bibliothek color-convert empfehlen. Diese kannst du zum JS Adapter hinzufügen und dann in einem Skript nutzen. Sie stellt Funktionen zur Umwandlung zwischen HSV und RGB zur Verfügung.

      J L J 3 Replies Last reply Reply Quote 0
      • J
        Jan.S100 @Asgothian last edited by

        @asgothian Ich hätte da auch gleich mal eine Frage. Bei meinen Hue Color Lampen ist der Color Wert nicht beschreibbar.

        { "type": "state", "common": { "name": "Color", "type": "string", "read": true, "write": false, "role": "level.color.rgb", "smartName": { "de": "Deckenlampe im Schlafzimmer", "smartType": "LIGHT" } }, "native": {}, "_id": "zigbee.1.0017880103f808f7.color", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.zigbee.1", "user": "system.user.admin", "ts": 1632731509973 }
        

        Wenn ich ihn auf true setze funktioniert er, allerdings wird er irgendwann wieder auf false gesetzt.
        Wie kann ich den Wert dauerhaft verändern?

        Dankeschön im Voraus
        Jan

        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @Jan.S100 last edited by

          @jan-s100 sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

          Wenn ich ihn auf true setze funktioniert er, allerdings wird er irgendwann wieder auf false gesetzt.
          Wie kann ich den Wert dauerhaft verändern?

          gar nicht. Das muss im Adapter liegen. Kannst Du mir bitte die genaue Bezeichnung des / der betroffenen Geräte zukommen lassen, dann kann ich schauen wie der State intern definiert ist.

          A.

          J 1 Reply Last reply Reply Quote 1
          • L
            loverz @Asgothian last edited by

            @asgothian sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

            JS Bibliothek color-convert

            meinst du diese Funktion:
            dcaa32b5-2c29-4236-94d6-32b687e3110e-image.png

            1 Reply Last reply Reply Quote 0
            • J
              Jan.S100 @Asgothian last edited by

              @asgothian Ich hänge dir mal ein Bild mit den Eigenschaften der Lampe an.
              Screenshot_20211001-200135_Chrome.jpg

              Danke das du dich darum kümmerst.
              Jan

              1 Reply Last reply Reply Quote 0
              • J
                jack99n @Asgothian last edited by

                @asgothian sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

                @loverz sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

                Wie ich das dort umrechnen soll ist mir noch ein Rätsel.
                Es wäre echt cool, wenn man vom Zigbee Adapter diese Werte direkt ziehen könnte.

                Bis es da Besserung gibt kann ich die JS Bibliothek color-convert empfehlen. Diese kannst du zum JS Adapter hinzufügen und dann in einem Skript nutzen. Sie stellt Funktionen zur Umwandlung zwischen HSV und RGB zur Verfügung.

                @Asgothian Wie würde so ein Skript aussehen wenn man color-convert zur JS Bibliothek hinzugefügt hat?

                Asgothian 1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @jack99n last edited by

                  @jack99n sagte in Zigbee Adapter Objektbeschreibung Farbe/Farbtemperatur:

                  @Asgothian Wie würde so ein Skript aussehen wenn man color-convert zur JS Bibliothek hinzugefügt hat?

                  das könnte so aussehen.

                  Wichtig ist das bei diesem Beispiel es die states

                  • 0_userdata.lightstates.lamp1.hue
                  • 0_userdata.lightstates.lamp1.sat
                  • zigbee.0.0017880103124d6d.color
                  • zigbee.0.0017880103124d6d.brightness

                  gibt, ansonsten klappt das nicht.

                  Ausserdem muss in der JS Adapter Konfiguration das Paket color-convert als zusätzliches Paket eingetragen sein.

                  var colorconv = require('color-convert');
                  
                  // temp states with hue, sat
                  const HS = '0_userdata.lightstates.lamp1'
                  const Lamp = 'zigbee.0.0017880103124d6d'
                  
                  
                  
                  function HSVtoRGB(source, dest)
                  {
                      setState(dest, colorconv.hsv.hex(getState(source+".hue").val, getState(source+".sat").val, getState(dest + ".brightness")));
                  }
                  
                  
                  function RGBtoHSV(source, dest)
                  {
                      const hsv = colorconv.rgb.hsv(colorconv.hex.rgb(getState(source+'.color')));
                      setState(dest+'.hue', hsv[0]);
                      setState(dest+'.sat', hsv[1]);
                  }
                  
                  on({[HS+'.hue', HS+'.sat'], change:'ne'}, function(obj) {
                      if (obj.from.includes('javascript')) return;
                      HSVtoRGB(HS, Lamp)
                  }
                  
                  on ({Lamp1+'.color'm change:'ne')}, function(obj) {
                      if (obj.from.includes('javascript')) return;
                      RGBtoHSV(Lamp1, HS);
                  }
                  
                  
                  J 1 Reply Last reply Reply Quote 0
                  • J
                    jack99n @Asgothian last edited by

                    @asgothian Vielen dank für deine Hilfe! Leider bekomme ich beim Start von deinem Skript diesen Fehler.

                    
                    javascript.0	2021-10-02 08:21:13.617	error	at Object.createScript (vm.js:261:10)
                    
                    javascript.0	2021-10-02 08:21:13.616	error	at new Script (vm.js:88:7)
                    
                    javascript.0	2021-10-02 08:21:13.615	error	SyntaxError: Unexpected token ','
                    
                    javascript.0	2021-10-02 08:21:13.614	error	^
                    
                    javascript.0	2021-10-02 08:21:13.599	error	on({[HS+'.hue', HS+'.sat'], change:'ne'}, function(obj) {
                    
                    javascript.0	2021-10-02 08:21:13.598	error	script.js.LED-Wand.Color_convert compile failed: at script.js.LED-Wand.Color_convert:22
                    
                    
                    
                    08:39:14.588	info	javascript.0 (24619) Stop script script.js.LED-Wand.Skript-test
                    08:39:17.078	info	javascript.0 (24619) Start javascript script.js.LED-Wand.Skript-test
                    08:39:17.080	error	javascript.0 (24619) script.js.LED-Wand.Skript-test compile failed:
                     at script.js.LED-Wand.Skript-test:22
                    
                    
                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @jack99n last edited by Asgothian

                      @jack99n Stimmt.. das passiert wenn man "mal eben schnell" ein einen teil aus einem grossen Skript heraus nimmt und "nur eben" anpasst. mir sind beim anpassen 2 Fehler unterlaufen:

                      Das skipt müsste so laufen

                      ar colorconv = require('color-convert');
                       
                      // temp states with hue, sat
                      const HS = '0_userdata.lightstates.lamp1'
                      const Lamp = 'zigbee.0.0017880103124d6d'
                       
                       
                       
                      function HSVtoRGB(source, dest)
                      {
                          setState(dest, colorconv.hsv.hex(getState(source+".hue").val, getState(source+".sat").val, getState(dest + ".brightness")));
                      }
                       
                       
                      function RGBtoHSV(source, dest)
                      {
                          const hsv = colorconv.rgb.hsv(colorconv.hex.rgb(getState(source+'.color')));
                          setState(dest+'.hue', hsv[0]);
                          setState(dest+'.sat', hsv[1]);
                      }
                       
                      on({id:[HS+'.hue', HS+'.sat'], change:'ne'}, function(obj) {
                          if (obj.state.from.includes('javascript')) return;
                          HSVtoRGB(HS, Lamp)
                      }
                       
                      on ({id:Lamp1+'.color', change:'ne')}, function(obj) {
                          if (obj.state.from.includes('javascript')) return;
                          RGBtoHSV(Lamp1, HS);
                      }
                      
                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jack99n @Asgothian last edited by

                        @asgothian Geht leider immer noch nicht, kannst ja mal wenn du Ruhe und Zeit hast dir es noch mal anschauen.

                        2021-10-02 22:29:24.985	error	at processImmediate (internal/timers.js:463:21)
                        
                        javascript.0
                        2021-10-02 22:29:24.985	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1306:17)
                        
                        javascript.0
                        2021-10-02 22:29:24.984	error	at /opt/iobroker/node_modules/iobroker.javascript/main.js:1817:17
                        
                        javascript.0
                        2021-10-02 22:29:24.984	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1716:37)
                        
                        javascript.0
                        2021-10-02 22:29:24.984	error	at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1469:28)
                        
                        javascript.0
                        2021-10-02 22:29:24.983	error	at Object.createScript (vm.js:261:10)
                        
                        javascript.0
                        2021-10-02 22:29:24.983	error	at new Script (vm.js:88:7)
                        
                        javascript.0
                        2021-10-02 22:29:24.983	error	SyntaxError: missing ) after argument list
                        
                        javascript.0
                        2021-10-02 22:29:24.982	error	^
                        
                        javascript.0
                        2021-10-02 22:29:24.982	error	}
                        
                        javascript.0
                        2021-10-02 22:29:24.981	error	script.js.LED-Wand.Skript_Test compile failed:
                        at script.js.LED-Wand.Skript_Test:25
                        
                        Asgothian 1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @jack99n last edited by

                          @jack99n stimmt.. fehlt noch eine ')' in Zeile 25 und 30

                          A.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          1.1k
                          Online

                          31.7k
                          Users

                          79.7k
                          Topics

                          1.3m
                          Posts

                          5
                          18
                          1411
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo