Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. RGB Effekte synchron mit mehrere Leuchtenn

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

RGB Effekte synchron mit mehrere Leuchtenn

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblocklyscenes
16 Beiträge 3 Kommentatoren 1.6k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AsgothianA Asgothian

    @marcuskl ich kann dir heute Abend mal etwas zusammen bauen was du dann nur noch erweitern musst.

    A.

    marcusklM Offline
    marcusklM Offline
    marcuskl
    schrieb am zuletzt editiert von
    #7

    @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

    @marcuskl ich kann dir heute Abend mal etwas zusammen bauen was du dann nur noch erweitern musst.

    A.

    Ja, da wäre ich dir sehr dankbar :blush: :+1:

    Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

    Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

    AsgothianA 1 Antwort Letzte Antwort
    0
    • marcusklM marcuskl

      @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

      @marcuskl ich kann dir heute Abend mal etwas zusammen bauen was du dann nur noch erweitern musst.

      A.

      Ja, da wäre ich dir sehr dankbar :blush: :+1:

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #8

      @marcuskl

      Hier ist ein Code Beispiel. Im Array Effect kannst du in jeder Zeile die Datenpunkte angeben die du geschaltet haben willst, und auf welchen wert.
      time: gibt an wie lange der eingestellte Status erhalten bleibt
      state: Das Array von States die zu schalten sind. Darin jeweils Paare von obj: der Name des einzelnen States und val: der Wert der in diesen State geschrieben werden soll

      An statischen Steuervariablen hast du:
      TimeBetweenCommands - Anzahl von ms zwischen 2 Befehlen die abgesetzt werden. Als Absicherung um nicht zu viele Befehle auf einmal zu senden
      TimeFactor: Ein Faktor für den Eintrag bei "time" im Effect Array. 1000 = Sekunden, 60000 = Minuten

      Ein/Ausschalten geht über die beiden Subscriptions am Ende.
      Falls du nach dem Beenden des Events einen bestimmten Zustand hergestellt haben willst muss das da mit angegeben werden.

      let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                   {time: 3, state: [{obj: 'deconz.0.Lights.20.hue', val: 0 },{obj:'deconz.0.Lights.20.sat', val: 254 },{obj:'deconz.0.Lights.20.bri', val: 100 } ] },
                   {time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 100 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                   {time: 5, state: [{obj: 'deconz.0.Lights.20.hue', val: 300 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                   {time:10, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 0 },{obj:'deconz.0.Lights.20.bri', val: 50 } ] }
      ]
      
      let Timeout = null;
      let TimeFactor = 1000; // seconds
      let Index = 0;
      let TimeBetweenCommands = 20;
      
      function RunEvent()
      {
          if (Index >= Effect.length) Index = 0;
          let TimeToNextEvent = TimeFactor * Effect[Index].time;
          let Dt = 0;
          for (let ObjIndex in Effect[Index].state) {
              Dt += TimeBetweenCommands;
              setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
          }
          Index++;
          Timeout = setTimeout(RunEvent, TimeToNextEvent);
      }
      
      
      on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
      on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
      
      

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      marcusklM RababersaftR 3 Antworten Letzte Antwort
      1
      • AsgothianA Asgothian

        @marcuskl

        Hier ist ein Code Beispiel. Im Array Effect kannst du in jeder Zeile die Datenpunkte angeben die du geschaltet haben willst, und auf welchen wert.
        time: gibt an wie lange der eingestellte Status erhalten bleibt
        state: Das Array von States die zu schalten sind. Darin jeweils Paare von obj: der Name des einzelnen States und val: der Wert der in diesen State geschrieben werden soll

        An statischen Steuervariablen hast du:
        TimeBetweenCommands - Anzahl von ms zwischen 2 Befehlen die abgesetzt werden. Als Absicherung um nicht zu viele Befehle auf einmal zu senden
        TimeFactor: Ein Faktor für den Eintrag bei "time" im Effect Array. 1000 = Sekunden, 60000 = Minuten

        Ein/Ausschalten geht über die beiden Subscriptions am Ende.
        Falls du nach dem Beenden des Events einen bestimmten Zustand hergestellt haben willst muss das da mit angegeben werden.

        let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                     {time: 3, state: [{obj: 'deconz.0.Lights.20.hue', val: 0 },{obj:'deconz.0.Lights.20.sat', val: 254 },{obj:'deconz.0.Lights.20.bri', val: 100 } ] },
                     {time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 100 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                     {time: 5, state: [{obj: 'deconz.0.Lights.20.hue', val: 300 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                     {time:10, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 0 },{obj:'deconz.0.Lights.20.bri', val: 50 } ] }
        ]
        
        let Timeout = null;
        let TimeFactor = 1000; // seconds
        let Index = 0;
        let TimeBetweenCommands = 20;
        
        function RunEvent()
        {
            if (Index >= Effect.length) Index = 0;
            let TimeToNextEvent = TimeFactor * Effect[Index].time;
            let Dt = 0;
            for (let ObjIndex in Effect[Index].state) {
                Dt += TimeBetweenCommands;
                setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
            }
            Index++;
            Timeout = setTimeout(RunEvent, TimeToNextEvent);
        }
        
        
        on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
        on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
        
        
        marcusklM Offline
        marcusklM Offline
        marcuskl
        schrieb am zuletzt editiert von
        #9

        @Asgothian Danke werde ich versuchen 😊

        Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

        Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

        1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @marcuskl

          Hier ist ein Code Beispiel. Im Array Effect kannst du in jeder Zeile die Datenpunkte angeben die du geschaltet haben willst, und auf welchen wert.
          time: gibt an wie lange der eingestellte Status erhalten bleibt
          state: Das Array von States die zu schalten sind. Darin jeweils Paare von obj: der Name des einzelnen States und val: der Wert der in diesen State geschrieben werden soll

          An statischen Steuervariablen hast du:
          TimeBetweenCommands - Anzahl von ms zwischen 2 Befehlen die abgesetzt werden. Als Absicherung um nicht zu viele Befehle auf einmal zu senden
          TimeFactor: Ein Faktor für den Eintrag bei "time" im Effect Array. 1000 = Sekunden, 60000 = Minuten

          Ein/Ausschalten geht über die beiden Subscriptions am Ende.
          Falls du nach dem Beenden des Events einen bestimmten Zustand hergestellt haben willst muss das da mit angegeben werden.

          let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                       {time: 3, state: [{obj: 'deconz.0.Lights.20.hue', val: 0 },{obj:'deconz.0.Lights.20.sat', val: 254 },{obj:'deconz.0.Lights.20.bri', val: 100 } ] },
                       {time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 100 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                       {time: 5, state: [{obj: 'deconz.0.Lights.20.hue', val: 300 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                       {time:10, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 0 },{obj:'deconz.0.Lights.20.bri', val: 50 } ] }
          ]
          
          let Timeout = null;
          let TimeFactor = 1000; // seconds
          let Index = 0;
          let TimeBetweenCommands = 20;
          
          function RunEvent()
          {
              if (Index >= Effect.length) Index = 0;
              let TimeToNextEvent = TimeFactor * Effect[Index].time;
              let Dt = 0;
              for (let ObjIndex in Effect[Index].state) {
                  Dt += TimeBetweenCommands;
                  setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
              }
              Index++;
              Timeout = setTimeout(RunEvent, TimeToNextEvent);
          }
          
          
          on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
          on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
          
          
          RababersaftR Offline
          RababersaftR Offline
          Rababersaft
          schrieb am zuletzt editiert von
          #10

          @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

          Hallo Liebes Forum, mit dem Script,

          let Effect =[{time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 0d326e },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 20 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20 } ] },
                       {time: 3, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8954ab },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 25 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 10 } ] },
                       {time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 9b54ab },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 40 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                       {time: 5, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: c447c0 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 55 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 50 } ] },
                       {time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: c4479f },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 30 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                       {time: 7, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: d60f7d },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 80 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 60 } ] },
                       {time: 2, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: d60f62 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 70 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 70 } ] },
                       {time: 9, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1025 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 50 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                       {time: 3, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1010 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 30 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 40 } ] },
                       {time: 5, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1410 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 50 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20 } ] },
                       {time:10, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: a14a1f },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 0 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 50 } ] }
          ]
           
          let Timeout = null;
          let TimeFactor = 1000; // seconds
          let Index = 0;
          let TimeBetweenCommands = 20;
           
          function RunEvent()
          {
              if (Index >= Effect.length) Index = 0;
              let TimeToNextEvent = TimeFactor * Effect[Index].time;
              let Dt = 0;
              for (let ObjIndex in Effect[Index].state) {
                  Dt += TimeBetweenCommands;
                  setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
              }
              Index++;
              Timeout = setTimeout(RunEvent, TimeToNextEvent);
          }
           
           
          on({id: 'javascript.0.Eigene_Datenpunkte.Beleuchtung.Halloween.SwitchOnOff', change: "gt"}, function () { RunEvent() });
          on({id: 'javascript.0.Eigene_Datenpunkte.Beleuchtung.Halloween.SwitchOnOff', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
           
          

          bekomme ich diese folgenden fehlermeldungen...

          javascript.0	2019-10-12 14:43:52.463	info	Stop script script.js.Beleuchtung.Farbwechsel.Diebwechsel1
          javascript.0	2019-10-12 14:43:40.074	error	at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
          javascript.0	2019-10-12 14:43:40.074	error	at Socket.Readable.push (_stream_readable.js:224:10)
          javascript.0	2019-10-12 14:43:40.074	error	at readableAddChunk (_stream_readable.js:269:11)
          javascript.0	2019-10-12 14:43:40.073	error	at addChunk (_stream_readable.js:288:12)
          javascript.0	2019-10-12 14:43:40.073	error	at Socket.emit (events.js:198:13)
          javascript.0	2019-10-12 14:43:40.073	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
          javascript.0	2019-10-12 14:43:40.073	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
          javascript.0	2019-10-12 14:43:40.073	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
          javascript.0	2019-10-12 14:43:40.073	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
          javascript.0	2019-10-12 14:43:40.073	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
          javascript.0	2019-10-12 14:43:40.070	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
          javascript.0	2019-10-12 14:43:40.070	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
          javascript.0	2019-10-12 14:43:40.070	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
          javascript.0	2019-10-12 14:43:40.069	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
          javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.emit (events.js:198:13)
          javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
          javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
          javascript.0	2019-10-12 14:43:40.069	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
          javascript.0	2019-10-12 14:43:40.069	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
          javascript.0	2019-10-12 14:43:40.069	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
          javascript.0	2019-10-12 14:43:40.069	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
          javascript.0	2019-10-12 14:43:40.069	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
          javascript.0	2019-10-12 14:43:40.068	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
          javascript.0	2019-10-12 14:43:40.068	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
          javascript.0	2019-10-12 14:43:40.068	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
          javascript.0	2019-10-12 14:43:40.068	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
          javascript.0	2019-10-12 14:43:40.068	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
          javascript.0	2019-10-12 14:43:40.068	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
          javascript.0	2019-10-12 14:43:40.068	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
          javascript.0	2019-10-12 14:43:40.067	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
          javascript.0	2019-10-12 14:43:40.067	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
          javascript.0	2019-10-12 14:43:40.067	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
          javascript.0	2019-10-12 14:43:40.067	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
          javascript.0	2019-10-12 14:43:40.067	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
          javascript.0	2019-10-12 14:43:40.067	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
          javascript.0	2019-10-12 14:43:40.067	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
          javascript.0	2019-10-12 14:43:40.067	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
          javascript.0	2019-10-12 14:43:40.066	error	at Object.createScript (vm.js:277:10)
          javascript.0	2019-10-12 14:43:40.066	error	at new Script (vm.js:83:7)
          javascript.0	2019-10-12 14:43:40.066	error	SyntaxError: Invalid or unexpected token
          javascript.0	2019-10-12 14:43:40.066	error	^
          javascript.0	2019-10-12 14:43:40.066	error	let Effect =[{time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 0d326e },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 20 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20
          javascript.0	2019-10-12 14:43:40.065	error	at script.js.Beleuchtung.Farbwechsel.Diebwechsel1:1
          javascript.0	2019-10-12 14:43:40.065	error	script.js.Beleuchtung.Farbwechsel.Diebwechsel1 compile failed:
          javascript.0	2019-10-12 14:43:40.061	info	Start javascript script.js.Beleuchtung.Farbwechsel.Diebwechsel1
          

          Hier mal die Daten meines Systens:
          Betriebssystem
          linux
          Architektur
          x64
          CPUs
          2
          Geschwindigkeit
          1320 MHz
          Modell
          AMD E-450 APU with Radeon(tm) HD Graphics
          RAM
          3.47 GB
          System Betriebszeit
          21 T. 22:02:42
          Node.js
          v10.16.3
          NPM
          6.9.0
          Anzahl der Adapter
          256
          Festplatte Größe
          22.79 GB
          Festplatte frei
          14.06 GB
          Betriebszeit
          1 T. 23:53:33
          Aktive Instanzen
          28

          Kann mir jemand helfen was ich falsch mache?

          Besten Dank schon mal im Vorraus...

          AsgothianA 1 Antwort Letzte Antwort
          0
          • RababersaftR Rababersaft

            @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

            Hallo Liebes Forum, mit dem Script,

            let Effect =[{time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 0d326e },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 20 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20 } ] },
                         {time: 3, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8954ab },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 25 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 10 } ] },
                         {time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 9b54ab },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 40 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                         {time: 5, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: c447c0 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 55 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 50 } ] },
                         {time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: c4479f },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 30 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                         {time: 7, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: d60f7d },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 80 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 60 } ] },
                         {time: 2, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: d60f62 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 70 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 70 } ] },
                         {time: 9, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1025 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 50 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 30 } ] },
                         {time: 3, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1010 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 30 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 40 } ] },
                         {time: 5, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 8f1410 },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 50 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20 } ] },
                         {time:10, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: a14a1f },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 0 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 50 } ] }
            ]
             
            let Timeout = null;
            let TimeFactor = 1000; // seconds
            let Index = 0;
            let TimeBetweenCommands = 20;
             
            function RunEvent()
            {
                if (Index >= Effect.length) Index = 0;
                let TimeToNextEvent = TimeFactor * Effect[Index].time;
                let Dt = 0;
                for (let ObjIndex in Effect[Index].state) {
                    Dt += TimeBetweenCommands;
                    setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
                }
                Index++;
                Timeout = setTimeout(RunEvent, TimeToNextEvent);
            }
             
             
            on({id: 'javascript.0.Eigene_Datenpunkte.Beleuchtung.Halloween.SwitchOnOff', change: "gt"}, function () { RunEvent() });
            on({id: 'javascript.0.Eigene_Datenpunkte.Beleuchtung.Halloween.SwitchOnOff', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
             
            

            bekomme ich diese folgenden fehlermeldungen...

            javascript.0	2019-10-12 14:43:52.463	info	Stop script script.js.Beleuchtung.Farbwechsel.Diebwechsel1
            javascript.0	2019-10-12 14:43:40.074	error	at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
            javascript.0	2019-10-12 14:43:40.074	error	at Socket.Readable.push (_stream_readable.js:224:10)
            javascript.0	2019-10-12 14:43:40.074	error	at readableAddChunk (_stream_readable.js:269:11)
            javascript.0	2019-10-12 14:43:40.073	error	at addChunk (_stream_readable.js:288:12)
            javascript.0	2019-10-12 14:43:40.073	error	at Socket.emit (events.js:198:13)
            javascript.0	2019-10-12 14:43:40.073	error	at Socket.realHandler (/opt/iobroker/node_modules/ws/lib/WebSocket.js:825:20)
            javascript.0	2019-10-12 14:43:40.073	error	at Receiver.add (/opt/iobroker/node_modules/ws/lib/Receiver.js:103:24)
            javascript.0	2019-10-12 14:43:40.073	error	at Receiver.expectHandler (/opt/iobroker/node_modules/ws/lib/Receiver.js:499:31)
            javascript.0	2019-10-12 14:43:40.073	error	at Receiver.finish (/opt/iobroker/node_modules/ws/lib/Receiver.js:541:12)
            javascript.0	2019-10-12 14:43:40.073	error	at Receiver.flush (/opt/iobroker/node_modules/ws/lib/Receiver.js:347:3)
            javascript.0	2019-10-12 14:43:40.070	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:508:14
            javascript.0	2019-10-12 14:43:40.070	error	at Receiver.applyExtensions (/opt/iobroker/node_modules/ws/lib/Receiver.js:371:5)
            javascript.0	2019-10-12 14:43:40.070	error	at /opt/iobroker/node_modules/ws/lib/Receiver.js:536:18
            javascript.0	2019-10-12 14:43:40.069	error	at Receiver.ontext (/opt/iobroker/node_modules/ws/lib/WebSocket.js:841:10)
            javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.emit (events.js:198:13)
            javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.onMessage (/opt/iobroker/node_modules/ws/lib/WebSocket.js:442:14)
            javascript.0	2019-10-12 14:43:40.069	error	at WebSocket.ws.onmessage (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:146:10)
            javascript.0	2019-10-12 14:43:40.069	error	at WS.Transport.onData (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:137:8)
            javascript.0	2019-10-12 14:43:40.069	error	at WS.Transport.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:145:8)
            javascript.0	2019-10-12 14:43:40.069	error	at WS.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-10-12 14:43:40.069	error	at WS.<anonymous> (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:268:10)
            javascript.0	2019-10-12 14:43:40.069	error	at Socket.onPacket (/opt/iobroker/node_modules/engine.io-client/lib/socket.js:451:14)
            javascript.0	2019-10-12 14:43:40.068	error	at Socket.Emitter.emit (/opt/iobroker/node_modules/engine.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-10-12 14:43:40.068	error	at Socket.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-10-12 14:43:40.068	error	at Manager.ondata (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:322:16)
            javascript.0	2019-10-12 14:43:40.068	error	at Decoder.add (/opt/iobroker/node_modules/socket.io-parser/index.js:246:12)
            javascript.0	2019-10-12 14:43:40.068	error	at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
            javascript.0	2019-10-12 14:43:40.068	error	at Decoder.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-10-12 14:43:40.068	error	at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
            javascript.0	2019-10-12 14:43:40.067	error	at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
            javascript.0	2019-10-12 14:43:40.067	error	at Manager.<anonymous> (/opt/iobroker/node_modules/component-bind/index.js:21:15)
            javascript.0	2019-10-12 14:43:40.067	error	at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:236:12)
            javascript.0	2019-10-12 14:43:40.067	error	at Socket.onack (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:312:9)
            javascript.0	2019-10-12 14:43:40.067	error	at Socket.adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:745:17)
            javascript.0	2019-10-12 14:43:40.067	error	at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1123:17)
            javascript.0	2019-10-12 14:43:40.067	error	at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1070:37)
            javascript.0	2019-10-12 14:43:40.067	error	at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:878:28)
            javascript.0	2019-10-12 14:43:40.066	error	at Object.createScript (vm.js:277:10)
            javascript.0	2019-10-12 14:43:40.066	error	at new Script (vm.js:83:7)
            javascript.0	2019-10-12 14:43:40.066	error	SyntaxError: Invalid or unexpected token
            javascript.0	2019-10-12 14:43:40.066	error	^
            javascript.0	2019-10-12 14:43:40.066	error	let Effect =[{time: 1, state: [{obj: 'tradfri.0.L-65555.lightbulb.color', val: 0d326e },{obj:'tradfri.0.L-65555.lightbulb.saturation', val: 20 },{obj:'tradfri.0.L-65555.lightbulb.brightness', val: 20
            javascript.0	2019-10-12 14:43:40.065	error	at script.js.Beleuchtung.Farbwechsel.Diebwechsel1:1
            javascript.0	2019-10-12 14:43:40.065	error	script.js.Beleuchtung.Farbwechsel.Diebwechsel1 compile failed:
            javascript.0	2019-10-12 14:43:40.061	info	Start javascript script.js.Beleuchtung.Farbwechsel.Diebwechsel1
            

            Hier mal die Daten meines Systens:
            Betriebssystem
            linux
            Architektur
            x64
            CPUs
            2
            Geschwindigkeit
            1320 MHz
            Modell
            AMD E-450 APU with Radeon(tm) HD Graphics
            RAM
            3.47 GB
            System Betriebszeit
            21 T. 22:02:42
            Node.js
            v10.16.3
            NPM
            6.9.0
            Anzahl der Adapter
            256
            Festplatte Größe
            22.79 GB
            Festplatte frei
            14.06 GB
            Betriebszeit
            1 T. 23:53:33
            Aktive Instanzen
            28

            Kann mir jemand helfen was ich falsch mache?

            Besten Dank schon mal im Vorraus...

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #11

            @Rababersaft
            Bei Color muss der value als String übergeben werden ( z.bsp. “ a14a1f”) Wenn das vom trådfri Adapter nicht akzeptiert wird geht musst du den Wert als hex darstellen (0xa14a1f statt a14a1f)

            A.

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            RababersaftR 1 Antwort Letzte Antwort
            1
            • AsgothianA Asgothian

              @marcuskl

              Hier ist ein Code Beispiel. Im Array Effect kannst du in jeder Zeile die Datenpunkte angeben die du geschaltet haben willst, und auf welchen wert.
              time: gibt an wie lange der eingestellte Status erhalten bleibt
              state: Das Array von States die zu schalten sind. Darin jeweils Paare von obj: der Name des einzelnen States und val: der Wert der in diesen State geschrieben werden soll

              An statischen Steuervariablen hast du:
              TimeBetweenCommands - Anzahl von ms zwischen 2 Befehlen die abgesetzt werden. Als Absicherung um nicht zu viele Befehle auf einmal zu senden
              TimeFactor: Ein Faktor für den Eintrag bei "time" im Effect Array. 1000 = Sekunden, 60000 = Minuten

              Ein/Ausschalten geht über die beiden Subscriptions am Ende.
              Falls du nach dem Beenden des Events einen bestimmten Zustand hergestellt haben willst muss das da mit angegeben werden.

              let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                           {time: 3, state: [{obj: 'deconz.0.Lights.20.hue', val: 0 },{obj:'deconz.0.Lights.20.sat', val: 254 },{obj:'deconz.0.Lights.20.bri', val: 100 } ] },
                           {time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 100 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                           {time: 5, state: [{obj: 'deconz.0.Lights.20.hue', val: 300 },{obj:'deconz.0.Lights.20.sat', val: 200 },{obj:'deconz.0.Lights.20.bri', val: 200 } ] },
                           {time:10, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 },{obj:'deconz.0.Lights.20.sat', val: 0 },{obj:'deconz.0.Lights.20.bri', val: 50 } ] }
              ]
              
              let Timeout = null;
              let TimeFactor = 1000; // seconds
              let Index = 0;
              let TimeBetweenCommands = 20;
              
              function RunEvent()
              {
                  if (Index >= Effect.length) Index = 0;
                  let TimeToNextEvent = TimeFactor * Effect[Index].time;
                  let Dt = 0;
                  for (let ObjIndex in Effect[Index].state) {
                      Dt += TimeBetweenCommands;
                      setStateDelayed(Effect[Index].state[ObjIndex].obj, Effect[Index].state[ObjIndex].val,  Dt);
                  }
                  Index++;
                  Timeout = setTimeout(RunEvent, TimeToNextEvent);
              }
              
              
              on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
              on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
              
              
              marcusklM Offline
              marcusklM Offline
              marcuskl
              schrieb am zuletzt editiert von
              #12

              Kommt hier die Farbe rein?

              let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 
              

              Was ist der Datenpunkt "Sat", ich habe diesen nähmlich nicht.

              obj:'deconz.0.Lights.20.sat', val: 200 
              

              rgb.jpg

              on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
              on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
              

              Dieser Teil sind die Objekte wo den Effekt vermute ich mal starten, was heißt "gt" und "lt" ?

              Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

              Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

              AsgothianA 1 Antwort Letzte Antwort
              0
              • marcusklM marcuskl

                Kommt hier die Farbe rein?

                let Effect =[{time: 1, state: [{obj: 'deconz.0.Lights.20.hue', val: 200 
                

                Was ist der Datenpunkt "Sat", ich habe diesen nähmlich nicht.

                obj:'deconz.0.Lights.20.sat', val: 200 
                

                rgb.jpg

                on({id: 'javascript.0.SwitchObject', change: "gt"}, function () { RunEvent() });
                on({id: 'javascript.0.SwitchObject', change: "lt"}, function () { Index = 0; clearTimeout(Timeout); });
                

                Dieser Teil sind die Objekte wo den Effekt vermute ich mal starten, was heißt "gt" und "lt" ?

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von
                #13

                @marcuskl
                Eine 1:1 Abbildung meinte beispielpunkte zu deinen Lampen gibt es nicht. Du solltest die Angaben im Beispiel ignorieren und schauen welche Datenpunkte du einstellen musst um die Farbe bei dir einzustellen, und diese dann entsprechend in dem Array angeben.
                lt ist less than
                gt ist greater than.

                Der Trick ist dass in JS gilt: True >False

                Damit triggert gt nur beim Übergang false auf true, und lt nur bei true auf false.

                A.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                marcusklM 1 Antwort Letzte Antwort
                1
                • AsgothianA Asgothian

                  @marcuskl
                  Eine 1:1 Abbildung meinte beispielpunkte zu deinen Lampen gibt es nicht. Du solltest die Angaben im Beispiel ignorieren und schauen welche Datenpunkte du einstellen musst um die Farbe bei dir einzustellen, und diese dann entsprechend in dem Array angeben.
                  lt ist less than
                  gt ist greater than.

                  Der Trick ist dass in JS gilt: True >False

                  Damit triggert gt nur beim Übergang false auf true, und lt nur bei true auf false.

                  A.

                  marcusklM Offline
                  marcusklM Offline
                  marcuskl
                  schrieb am zuletzt editiert von
                  #14

                  @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

                  @marcuskl
                  Eine 1:1 Abbildung meinte beispielpunkte zu deinen Lampen gibt es nicht. Du solltest die Angaben im Beispiel ignorieren und schauen welche Datenpunkte du einstellen musst um die Farbe bei dir einzustellen, und diese dann entsprechend in dem Array angeben.
                  lt ist less than
                  gt ist greater than.

                  Der Trick ist dass in JS gilt: True >False

                  Damit triggert gt nur beim Übergang false auf true, und lt nur bei true auf false.

                  A.

                  Ja des ist mir klar, aber ich möchte nur gerne Wissen was dieser Wert macht ?
                  Das eine ist Farbe, das andere Helligkeit und des in der Mitte sagt mir nichts ?

                  Welcher Teil "Objekt/Datenpunkt" Aktiviert dann den Effekt ?
                  Es ist ja in dem Skript nur ein Effekt oder ?

                  Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

                  Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

                  AsgothianA 1 Antwort Letzte Antwort
                  0
                  • marcusklM marcuskl

                    @Asgothian sagte in RGB Effekte synchron mit mehrere Leuchtenn:

                    @marcuskl
                    Eine 1:1 Abbildung meinte beispielpunkte zu deinen Lampen gibt es nicht. Du solltest die Angaben im Beispiel ignorieren und schauen welche Datenpunkte du einstellen musst um die Farbe bei dir einzustellen, und diese dann entsprechend in dem Array angeben.
                    lt ist less than
                    gt ist greater than.

                    Der Trick ist dass in JS gilt: True >False

                    Damit triggert gt nur beim Übergang false auf true, und lt nur bei true auf false.

                    A.

                    Ja des ist mir klar, aber ich möchte nur gerne Wissen was dieser Wert macht ?
                    Das eine ist Farbe, das andere Helligkeit und des in der Mitte sagt mir nichts ?

                    Welcher Teil "Objekt/Datenpunkt" Aktiviert dann den Effekt ?
                    Es ist ja in dem Skript nur ein Effekt oder ?

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    schrieb am zuletzt editiert von Asgothian
                    #15

                    @marcuskl
                    Nach dem Farbmodell wird die Farbe über „hue“, „saturation“ und „value“. (Siege auch hier

                    Das Objekt was ich „switchobjekt“ genannt hat steuert das ganze. Wenn der auf true wechselt geht es los, wechselt er auf false hört es auf

                    A.

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    1 Antwort Letzte Antwort
                    0
                    • AsgothianA Asgothian

                      @Rababersaft
                      Bei Color muss der value als String übergeben werden ( z.bsp. “ a14a1f”) Wenn das vom trådfri Adapter nicht akzeptiert wird geht musst du den Wert als hex darstellen (0xa14a1f statt a14a1f)

                      A.

                      RababersaftR Offline
                      RababersaftR Offline
                      Rababersaft
                      schrieb am zuletzt editiert von Rababersaft
                      #16

                      @Asgothian

                      Hat funktioniert, :+1: :+1:
                      als String bei trådfri "xyz"
                      Danke vielmals ...

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      580

                      Online

                      32.6k

                      Benutzer

                      82.3k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe