var mode_hm, boost, return_mode_hm, mode_hmip, return_mode_hmip, value, door_state, door_return, last_request, last_received_request, last_message_id, telegram_lampen; // Beschreibe diese Funktion … function menue() { sendTo('telegram.0', { chatId: getState("telegram.0.communicate.requestChatId").val, text: "Aktion wählen", reply_markup: { inline_keyboard: [ [{ text: 'Licht', callback_data: 'menu_licht' }], [{ text: 'Strom', callback_data: 'menu_strom' }], [{ text: 'Heizung', callback_data: 'menu_heizung' }], [{ text: 'Status', callback_data: 'menu_status' }] ], resize_keyboard: true, one_time_keyboard: false } }); } // Beschreibe diese Funktion … function licht() { sendTo('telegram.0', { chatId: getState("telegram.0.communicate.requestChatId").val, text: "Raum wählen", reply_markup: { inline_keyboard: [ [{ text: 'Alle an', callback_data: 'menu_licht_allean' },{ text: 'Alle aus', callback_data: 'menu_licht_alleaus' }], [{ text: 'Schlafen', callback_data: 'menu_licht_schlafen' },{ text: 'Ventilator', callback_data: 'menu_licht_ventilator' },{ text: 'Aurora', callback_data: 'menu_licht_aurora' }], [{ text: 'Wohnzimmer an', callback_data: 'menu_licht_wohnzimmeran' },{ text: 'Wonzimmer aus', callback_data: 'menu_licht_wohnzimmeraus' }], [{ text: 'Schlafzimmer an', callback_data: 'menu_licht_schlafzimmeran' },{ text: 'Schlafzimmer aus', callback_data: 'menu_licht_schlafzimmeraus' }], [{ text: 'Schlafzimmer aus', callback_data: 'menu_licht' }], [{ text: 'Übersicht', callback_data: 'menu' }] ], resize_keyboard: true, one_time_keyboard: false } }); } // Beschreibe diese Funktion … function strom() { sendTo('telegram.0', { chatId: getState("telegram.0.communicate.requestChatId").val, text: "Aktion wählen", reply_markup: { inline_keyboard: [ [{ text: 'TV an', callback_data: 'menu_strom_tvan' },{ text: 'TV aus', callback_data: 'menu_strom_tvaus' }], [{ text: 'PC an', callback_data: 'menu_strom_pcan' },{ text: 'PC aus', callback_data: 'menu_strom_pcaus' }], [{ text: 'Übersicht', callback_data: 'menu' }] ], resize_keyboard: true, one_time_keyboard: false } }); editmessagetext(); } // Beschreibe diese Funktion … function mode_hm2(mode_hm, boost, return_mode_hm) { if (mode_hm == 0) { return_mode_hm = 'Auto'; } else if (mode_hm == 1) { return_mode_hm = 'Manu'; } else if (mode_hm == 3) { return_mode_hm = 'Boost'; } console.log(return_mode_hm); return return_mode_hm; } // Beschreibe diese Funktion … function mode_hmip2(mode_hmip, boost, return_mode_hmip) { if (mode_hmip == 0 && boost == false) { return_mode_hmip = 'Auto'; } else if (mode_hmip == 1) { return_mode_hmip = 'Manu'; } else if (boost == true) { return_mode_hmip = 'Boost'; } console.log(return_mode_hmip); return return_mode_hmip; } // Beschreibe diese Funktion … function logictotext(value) { if (value == true) { status2 = '*An*'; } else { status2 = 'Aus'; } return status2; } // Beschreibe diese Funktion … function doorstotext(door_state, door_return) { if (door_state == true) { door_return = '*Geöffnet!*'; } else { door_return = 'Geschlossen'; } return door_return; } // Beschreibe diese Funktion … function editmessagetext() { if (last_received_request === "menu") { sendTo('telegram', { user: getState("telegram.0.communicate.botSendChatId").val, text: 'New text before buttons', editMessageReplyMarkup: { options: { chat_id: getState("telegram.0.communicate.botSendChatId").val, message_id: getState("telegram.0.communicate.botSendMessageId").val, reply_markup: { inline_keyboard: [ [{ text: 'Button 1', callback_data: '2_1' }], [{ text: 'Button 2', callback_data: '2_2' }] ], } } } }); } } on({id: 'telegram.0.communicate.request', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; last_request = last_received_request; last_received_request = getState("telegram.0.communicate.request").val; last_received_request = last_received_request.slice(((last_received_request.indexOf(']') + 1) - 1), last_received_request.length); last_received_request = last_received_request.slice(1, last_received_request.length); last_received_request = last_received_request.toLowerCase(); last_message_id = getState("telegram.0.communicate.botSendMessageId").val; console.log(('last_request: ' + String(last_request))); console.log(('last_received_request: ' + String(last_received_request))); if (last_received_request == '/menu' || last_received_request == 'menu' || last_received_request == 'übersicht' || last_received_request == 'uebersicht') { menue(); } if (last_received_request == 'menu_licht') { licht(); editmessagetext(); } if (last_received_request == 'menu_strom') { strom(); } // Licht_Alle if (last_received_request == 'alle an') { setState("hue.0.Philips_hue.All.on"/*Philips_hue.All.on*/, true); } else if (last_received_request == 'alle aus') { setState("hue.0.Philips_hue.All.on"/*Philips_hue.All.on*/, false); } // Licht_Schlafen if (last_received_request == 'schlafen') { setStateDelayed("hue.0.Philips_hue.All.on"/*Philips_hue.All.on*/, false, 60000, false); } // Licht_Ventilator if (last_received_request == 'ventilator') { if (compareTime('04:00', '04:30', "not between", null)) { setState("hm-rpc.0.OEQ0622786.1.STATE"/*HM-LC-Sw1PBU-FM OEQ0622786:1.STATE*/, true); setStateDelayed("hm-rpc.0.OEQ0622786.1.STATE"/*HM-LC-Sw1PBU-FM OEQ0622786:1.STATE*/, false, 1800000, true); } } // Licht_Aurora if (last_received_request == 'aurora') { } // Licht_Wohnzimmer if (last_received_request == 'wohnzimmer an') { setState("hue.0.Philips_hue.Wohnzimmer.allOn"/*Philips hue.Wohnzimmer.allOn*/, true); } else if (last_received_request == 'wohnzimmer aus') { setState("hue.0.Philips_hue.Wohnzimmer.allOn"/*Philips hue.Wohnzimmer.allOn*/, false); } // Licht_Schlafzimmer if (last_received_request == 'schlafzimmer an') { setState("hue.0.Philips_hue.Schlafzimmer.allOn"/*Philips hue.Schlafzimmer.allOn*/, true); setState("hue.0.Philips_hue.Büro.allOn"/*Philips hue.Büro.allOn*/, true); } else if (last_received_request == 'schlafzimmer aus') { setState("hue.0.Philips_hue.Schlafzimmer.allOn"/*Philips hue.Schlafzimmer.allOn*/, false); setState("hue.0.Philips_hue.Büro.allOn"/*Philips hue.Büro.allOn*/, false); } // Strom_TV if (last_received_request == 'tv an') { setState("sonoff.0.Fernseher.POWER"/*Fernseher POWER*/, true); } else if (last_received_request == 'tv aus') { setState("sonoff.0.Fernseher.POWER"/*Fernseher POWER*/, false); } // Strom_PC if (last_received_request == 'pc an') { setState("hm-rpc.1.0001D3C99C4FFB.3.STATE"/*HMIP-PSM 0001D3C99C4FFB:3.STATE*/, true); } else if (last_received_request == 'pc aus') { setState("hm-rpc.1.0001D3C99C4FFB.3.STATE"/*HMIP-PSM 0001D3C99C4FFB:3.STATE*/, false); } // Status if (last_received_request == 'status') { console.log(getState("telegram.0.communicate.requestChatId").val); if (getState("hue.0.Philips_hue.All.anyOn").val == true) { telegram_lampen = ['*Lampen*' + '\n',['Wohnzimmer: ',logictotext(getState("hue.0.Philips_hue.Deckenlampe_WoZi.on").val),'\n'].join(''),['TV: ',logictotext(getState("hue.0.Philips_hue.Fernseher_Links.on").val),', ',logictotext(getState("hue.0.Philips_hue.Hue_lightstrip.on").val),'\n'].join(''),['Stehlampen: ',logictotext(getState("hue.0.Philips_hue.Stehlampe_oben.on").val),', ',logictotext(getState("hue.0.Philips_hue.Stehlampe_unten.on").val),'\n'].join(''),['Schlafzimmer: ',logictotext(getState("hue.0.Philips_hue.Deckenlampe_Schlafzimmer.on").val),'\n'].join(''),['Büro: ',logictotext(getState("hue.0.Philips_hue.Büro.anyOn").val),'\n'].join(''),['Bettlicht: ',logictotext(getState("hue.0.Philips_hue.Bett.on").val),'\n'].join(''),'',''].join(''); } else { telegram_lampen = String('*Lampen*' + '\n') + 'Alle Lampen ausgeschaltet'; } sendTo("telegram.0", "send", { text: telegram_lampen, user: 'Jonas', parse_mode: "Markdown" }); sendTo("telegram.0", "send", { text: (['*Steckdosen*' + '\n',['TV: ',logictotext(getState("sonoff.0.Fernseher.POWER").val),'\n'].join(''),['PC: ',logictotext(getState("hm-rpc.1.0001D3C99C4FFB.3.STATE").val),'\n'].join('')].join('')), user: 'Jonas', parse_mode: "Markdown" }); } });