Nun habe ich deine Anleitung umgesetzt.
Interessanter Ansatz mit der Übermittlung von Prozentwerten. Nachteil hierbei ist natürlich, dass zweimal den Befehl "lauter" hintereinander aufgerufen den Prozenwert beim 2. Befehl nicht mehr ändert, da er ja schon auf z.B. 10 % steht.
Ich habe allerdings zum ersten gemerkt, dass meine 20 kostenlosen Befehle bei iobroker damit schnell aufgebraucht sind und 2. mein Receiver trotzdem nur 1 Stufe lauter oder leiser schaltet, offenbar werden bei mir die 3 Schaltvorgänge schnell ohne die 1 Sekunde Verzögerung gesendet. Warum die Verzögerung ignoriert wird, ist mir nicht klar. Das Protokoll nach Aufruf des Befehls sieht so aus: (man beachte "hub busy" wenige ms nacheinander)
harmony.0
2022-09-03 22:34:15.669 info hub busy, stateChange delayed: harmony.0.Fernbedienung.AV-Receiver.VolumeDown = true
harmony.0
2022-09-03 22:34:15.666 info hub busy, stateChange delayed: harmony.0.Fernbedienung.AV-Receiver.VolumeDown = true
javascript.0
2022-09-03 22:34:15.612 info State value to set for "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" has to be type "number" but received type "boolean"
javascript.0
2022-09-03 22:34:15.611 info State value to set for "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" has to be type "number" but received type "boolean"
javascript.0
2022-09-03 22:34:15.600 info State value to set for "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" has to be type "number" but received type "boolean"
javascript.0
2022-09-03 22:34:15.595 warn at processTimers (internal/timers.js:497:7)
javascript.0
2022-09-03 22:34:15.594 warn at listOnTimeout (internal/timers.js:556:17)
javascript.0
2022-09-03 22:34:15.594 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1590:29)
javascript.0
2022-09-03 22:34:15.593 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1532:20)
javascript.0
2022-09-03 22:34:15.591 warn You are assigning a boolean to the state "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" which expects a number. Please fix your code to use a number or change the state type to boolean. This warning might become an error in future versions.
javascript.0
2022-09-03 22:34:15.581 warn at processTimers (internal/timers.js:497:7)
javascript.0
2022-09-03 22:34:15.581 warn at listOnTimeout (internal/timers.js:556:17)
javascript.0
2022-09-03 22:34:15.580 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1590:29)
javascript.0
2022-09-03 22:34:15.579 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1532:20)
javascript.0
2022-09-03 22:34:15.576 warn You are assigning a boolean to the state "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" which expects a number. Please fix your code to use a number or change the state type to boolean. This warning might become an error in future versions.
javascript.0
2022-09-03 22:34:15.572 warn at processTimers (internal/timers.js:497:7)
javascript.0
2022-09-03 22:34:15.571 warn at listOnTimeout (internal/timers.js:556:17)
javascript.0
2022-09-03 22:34:15.570 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1590:29)
javascript.0
2022-09-03 22:34:15.569 warn at Object.setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1532:20)
javascript.0
2022-09-03 22:34:15.525 warn You are assigning a boolean to the state "harmony.0.Fernbedienung.AV-Receiver.VolumeDown" which expects a number. Please fix your code to use a number or change the state type to boolean. This warning might become an error in future versions.