Статья

Оповещения для Умного Дома на ioBroker через SMS

Отправлять будем, используя сервис SMS.ru. Данный сервис позволяет слать 5 сообщений в день на свой номер бесплатно, а на другие номера тарифы от ~20 коп. до ~2 руб., что весьма бюджетно.

Итак, регистрируемся по ссылке (эта ссылка партнерская, получаем по ней 10 руб. на счет и 20% скидки), идем в раздел "Программистам", копируем свой api_id:

И вставляем вместо "ВАШ_ID_ПОЛУЧЕННЫЙ_НА_САЙТЕ" скрипта IOBROKER:

var request = require('request'); var my_API_ID = 'ВАШ_ID_ПОЛУЧЕННЫЙ_НА_САЙТЕ'; createState('SMS.status',0); createState('SMS.status_code',0); createState('SMS.numbers',0); createState('SMS.message',0); createState('SMS.balance',0); function sendSMS() { // log('Link: ' + link); request('https://sms.ru/sms/send?partner_id=235959&api_id=' + my_API_ID + '&to=' + getState("javascript.0.SMS.numbers").val + '&msg=' + encodeURIComponent(getState("javascript.0.SMS.message").val) + '&json=1', cb(function(error, response, body) { if(error) log('Problem with request: ' + error, 'error'); else { var jsonContent = JSON.parse(body); // log('Body: ' + body); // log('Status: ' + jsonContent.status); // log('Status_code: ' + jsonContent.status_code); // log('Balance: ' + jsonContent.balance); setState("javascript.0.SMS.status", jsonContent.status, true); setState("javascript.0.SMS.status_code", jsonContent.status_code, true); setState("javascript.0.SMS.balance", jsonContent.balance, true); } })); } // schedule("* * * * *", sendSMS);

Использовать просто - заполняем поля message и numbers (номеров можно несколько, через запятую) и вызываем функцию sendSMS();

Лайфхак — регистрируемся (уже своей ссылке) на несколько аккаунтов под номерами, на которые будем потом отправлять оповещения (для жен, детей, бабушек) и используем эти «свои» номера бесплатно (ну почти, в пределах 5 шт. в день...)


Есть npm пакет специально для этого сайта, у меня в скрипте используется он, кода минимум))

5 бесплатных СМС только при условии что текст каждой СМС укладывается в одно сообщение

Использую эту возможность дома и в больших продакшн-проектах

Автор молодец!

А как npm пакет называется?

Думаю скрипт все же меньше памяти отъедает, нежели npm-пакет... а IOB тем и хорош, что цель можно достигнуть различными путями :-)

Спасибо за статью ;) будем ждать следующих )))

на чем этот иоброкер крутиться? У меня стоит на дебиан, попробовал повторить,  не появились записи в объектах! 



Ubuntu-сервер на апельсинке, но это без разницы. Создаем новый скрипт, копируем в него приведенный в статье код (не забываем поменять id на свой), запускаем и пользуемся, иногда объекты появляются не сразу, надо нажать кнопочку "Обновить"


2000x2000x_image.jpg?1542100784

В логах есть ошибки?

Спасибо за статью. А как вызвать функцию sendSMS();

if (какое-то событие) sendSMS();

Насколько я понимаю, в 2023 такой фокус не выйдет?
https://sms.ru/price

Пишут, что необходима регистрация имени отправителя...

Вернуться назад
Вернуться назад