Hallo, ich habe mir für die Telegram App ein Skript geschrieben um meine YiiLights zu Steuern. Das Skript für an funktioniert und ich kann in der App die Lichter einzeln einschalten nur aus bekomme ich sie nicht. Kann mir einer vielleicht sagen wo mein Denkfehler liegt. DANKE
Licht An
Code
on({id: 'telegram.0.communicate.request', change: 'any'}, function (obj) {
var stateval = getState('telegram.0.communicate.request').val; // Statevalue in Variable schreiben
var benutzer = stateval.substring(1,stateval.indexOf("]")); // Benutzer aus Statevalue extrahieren
var befehl = stateval.substring(stateval.indexOf("]")+1,stateval.length); // Befehl/Text aus Statevalue extrahieren
if (befehl.search(/(?=.*(\bLicht An\b|\bLichter An\b|\bHell An\b|\bDunkel An\b)).+/ig) != -1) {
sendTo('telegram', {
user: benutzer,
text: 'Welche Lichter möchtest du einschalten?',
reply_markup: {
inline_keyboard: [
[{ text: 'Alle Lichter', callback_data: '%BatAlle Lichter'}],
[{ text: 'Esstisch', callback_data: '%BatEsstisch'}],
[{ text: 'Boden', callback_data: '%BatBoden'}],
[{ text: 'Computer', callback_data: '%BatComputer'}],
[{ text: 'YiiBand', callback_data: '%BatYiiBand'}],
]
}
});
}
// Auswahl alle Räume oder einzeln.
else if (befehl === "%BatAlle Lichter") {
sendTo('telegram', {
user: benutzer,
text: "Alle Lichter an",
answerCallbackQuery: {
text: 'Esstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cae567.control.power", true, 100, false).val +
' An \nEsstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cdbf3a.control.power", true, 200, false).val +
' An\nEsstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cae174.control.power", true, 300, false).val +
' An\nBodenlampe ' + setStateDelayed("yeelight-2.0.mono-0x0000000000d03bf9.control.power", true, 400, false).val +
' An\nComputer ' + setStateDelayed("yeelight-2.0.color-0x000000000371c98d.control.power", true, 500, false).val +
' An\nYiiBand ' + setStateDelayed("yeelight-2.0.stripe-0x00000000045211ee.control.power", true, 600, false).val +
' An',
showAlert: true
}
});
}
else if (befehl === "%BatEsstisch") {
sendTo('telegram', {
user: benutzer,
text: "Esstisch Licht an",
answerCallbackQuery: {
text:
'Esstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cae567.control.power", true, 100, false).val +
' An \nEsstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cdbf3a.control.power", true, 200, false).val +
' An\nEsstisch ' + setStateDelayed("yeelight-2.0.color-0x0000000004cae174.control.power", true, 300, false).val +
' An',
showAlert: true
}
});
}
else if (befehl === "%BatBoden") {
sendTo('telegram', {
user: benutzer,
text: "Boden Licht an",
answerCallbackQuery: {
text:
'Bodenlampe ' + setStateDelayed("yeelight-2.0.mono-0x0000000000d03bf9.control.power", true, 100, false).val +
' An',
showAlert: true
}
});
}
else if (befehl === "%BatComputer") {
sendTo('telegram', {
user: benutzer,
text: "Computer Licht an",
answerCallbackQuery: {
text:
'Computer ' + setStateDelayed("yeelight-2.0.color-0x000000000371c98d.control.power", true, 100, false).val +
' An',
showAlert: true
}
});
}
else if (befehl === "%BatYiiBand") {
sendTo('telegram', {
user: benutzer,
text: "YiiBand Licht an",
answerCallbackQuery: {
text:
'YiiBand ' + setStateDelayed("yeelight-2.0.stripe-0x00000000045211ee.control.power", true, 100, false).val +
' An',
showAlert: true
}
});
}
});
Alles anzeigen