ИК
Size: a a a
ИК
a
a
е
SR
i
i
SR
I
АК
A
СA
A
a
A
A
{ // Информация
name: 'Информация',
icon: 'ℹ️',
submenu: [
{
name: 'Температура',
state: Temperature,
icon: '🌡',
submenu: []
},
{
name: 'Влажность',
state: Humidity, // А можно вызвать функцию вот так
icon: '💦',
submenu: []
}
]
},
]
};
/////////// МЕНЮ КОНЕЦ ////////////
/////////// ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ НАЧАЛО /////////////
function Humidity(){
var text = '';
text += '- Влажность в офисе: ' + getState('0_userdata.0.office.nest_3gen.status.CurrentRelativeHumidity').val + '%';
text += '\r\n- Влажность в переговорной: ' + getState('mqtt.0.devices.wb-msw-v3_21.controls.Humidity').val + '%';
return text;
}
function Temperature(){
var text = '';
text += '- Температура в офисе: ' + getState('mqtt.0.devices.wb-msw-v3_21.controls.Humidity').val + '';
text += '\r\n- Температура в переговорной: ' + getState('mqtt.0.devices.wb-msw-v3_21.controls.Temperature').val + '';
return text;
}
A
A
function camera1(){
var text = '';
text += '- Готовлю видео, появится через несколько секунд 👇 ' + '';
var spawn = require('child_process').spawn;
var gm = require('gm');
function getCameraVideo(url, extcmd, tmpfile, callback) {
/*
url - адрес rtsp-потока камеры
extcmd - дополнительный код в команде ffmpeg
filename - имя файла для формирования
callback - функция, вызываемая после получения видео
*/
var time = 3, // длина записи
fps = 15, // частота кадров потока
codec = 'libx264', // h264_omx для Raspberry Pi
size = '720:480'; // результирующий размер видео
// выполняем команду ffmpeg чтобы сделать запись с потока
var ffmpegCommand = '-y -i ' + url + extcmd + ' -t ' + time +
' -f mp4 -vcodec ' + codec +
' -pix_fmt yuv420p -s ' + size + ' -b:v 1500k -vsync vfr -an -r ' + fps + ' ' + tmpfile;
var ffmpeg = spawn('ffmpeg', (ffmpegCommand).split(' '), {});
ffmpeg.stderr.on('data', function(data){
//console.error(data.toString());
});
ffmpeg.on('close', function(code) {
callback(tmpfile);
});
}
getCameraVideo('rtsp://admin:admin@192.168.137.215/rtsph264480p', '', 'C:/iobroker/SmartHome/iobroker-data/files/camera/tmp/video1.mp4', function(filename){
sendTo('telegram.0', {
text: filename,
caption: 'Главный вход',
});
});
return text;
}
A
A