mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-19 22:24:15 +01:00
Create WLED.js
This commit is contained in:
59
ioBroker/Blockly/WLED.js
Normal file
59
ioBroker/Blockly/WLED.js
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
// Pfad zum WLED-Modul
|
||||||
|
const wledPath = 'wled.0.2cf43212d23c.';
|
||||||
|
|
||||||
|
// Pfad zu 0_userdata Datenpunkten
|
||||||
|
const userdataPath = '0_userdata.0.NSPanelOwn.WLED.';
|
||||||
|
|
||||||
|
// WLED Effektliste als Konstante (Favoriten)
|
||||||
|
// Listen müssen gleiche Werte wie im Panel haben
|
||||||
|
|
||||||
|
const presetList = ['Preset 0', 'Add Preset'];
|
||||||
|
|
||||||
|
const colorsList = ['Default', '* Color 1', '* Color Gradient', '* Colors 1&2', '* Colors Only', '* Random Cycle', 'Analogus','April Night', 'Aqua Flash', 'Atlantica', 'Aurora',
|
||||||
|
'Beach', 'Beech', 'Blink Red', 'Breeze', 'C9', 'C9 New', 'Candy', 'Candy2', 'Cloud',
|
||||||
|
'Cyane', 'Departure', 'Drywet', 'Fairy Reaf', 'Fire', 'Forest', 'etc'
|
||||||
|
];
|
||||||
|
|
||||||
|
const effectsList = ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi',
|
||||||
|
'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random',
|
||||||
|
'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc'
|
||||||
|
];
|
||||||
|
|
||||||
|
on({id: userdataPath + 'Presets', change: "ne"}, async function (obj) {
|
||||||
|
console.log(wledPath + 'ps' + ' = ' + obj.state.val);
|
||||||
|
setState(wledPath + 'ps', obj.state.val)
|
||||||
|
});
|
||||||
|
|
||||||
|
// Trigger auf NSPanel Colors
|
||||||
|
on({id: userdataPath + 'Colors', change: "ne"}, async function (obj) {
|
||||||
|
let wledObj = getObject(wledPath + 'seg.0.pal');
|
||||||
|
let tempStringColor = colorsList[obj.state.val]
|
||||||
|
|
||||||
|
for (let i = 1; i < 71; i++) {
|
||||||
|
if (wledObj.common.states[i] == undefined) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (wledObj.common.states[i] == tempStringColor) {
|
||||||
|
console.log(i + ' - ' + wledObj.common.states[i]);
|
||||||
|
setState(wledPath + 'seg.0.pal', i)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Trigger auf NSPanel Effekte
|
||||||
|
on({id: userdataPath + 'Effects', change: "ne"}, async function (obj) {
|
||||||
|
let wledObj = getObject(wledPath + 'seg.0.fx');
|
||||||
|
let tempStringEffect = effectsList[obj.state.val]
|
||||||
|
|
||||||
|
for (let i = 1; i < 118; i++) {
|
||||||
|
if (wledObj.common.states[i] == undefined) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (wledObj.common.states[i] == tempStringEffect) {
|
||||||
|
console.log(i + ' - ' + wledObj.common.states[i]);
|
||||||
|
setState(wledPath + 'seg.0.fx', i)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user