@sergeyygr
Подключил через плагин MQTT, работает штатно.
Posts made by sergeyygr
-
RE: Подключение универсального шлюза управления котлом Nevoton BCG-521
-
RE: Подключение универсального шлюза управления котлом Nevoton BCG-521
Пользователь @Erik написал в Подключение универсального шлюза управления котлом Nevoton BCG-521:
Им и нужно подключать.
Понятно.
-
RE: Подключение универсального шлюза управления котлом Nevoton BCG-521
Пользователь @Erik написал в Подключение универсального шлюза управления котлом Nevoton BCG-521:
@sergeyygr
У него MQTT есть, судя по описанию.Да, есть.
-
RE: Подключение универсального шлюза управления котлом Nevoton BCG-521
@sergeyygr
Попробовал сформировать запрос датчиков, вот что пишет отладчик
На шине два датчика температуры, в приложении на телефоне температуру показывает. -
Подключение универсального шлюза управления котлом Nevoton BCG-521
Ответ: Плагин HTTP-Client
Добрый день! А можно данным плагином связаться с таким устройством https://nevoton.ru/product/ustrojstvo-upravleniya-kotlom-bcg521e/.
Есть документация https://nevoton.ru/docs/instructions/РЭ BCG-5_2_1-E_от_7_10_20_v1_7.pdf -
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Полностью ответ выглядит так
00|02|4c|f3|27|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00
1 байт стартовый
234 - адрес счетчика
5 - код запроса , это все hex
Далее показания по тарифам как есть. Т1 - 024174,58. Т2 - 008445,92. Т3 - 000000,00. Т4 - 000000,00Для варианта 00|02|4c|f3|27|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00 так:
Но каждый тариф нужно будет отдельно запрашиватьconst arr = data.split("|"); if (arr && arr.length > 8) { const t1= parseInt(arr[5]+arr[6]+arr[7]+arr[8], 10); //2417458 callback(null, t1/100); // const t2= parseInt(arr[9]+arr[10]+arr[11]+arr[12], 10); //844592 // callback(null, t2/100); }
Если же в начале тоже есть |, приходит |00|02|4c|f3|27|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00, то индекс сдвигается на 1:
const t1= parseInt(arr[6]+arr[7]+arr[8]+arr[9], 10); //2417458
Спасибо большое, все работает!!!
-
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, добрый день!
А какое показание должно получиться в результате?(|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00 => ??
В прежнем варианте брали четвертый и пятый байты
Полностью ответ выглядит так
00|02|4c|f3|27|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00
1 байт стартовый
234 - адрес счетчика
5 - код запроса , это все hex
Далее показания по тарифам как есть. Т1 - 024174,58. Т2 - 008445,92. Т3 - 000000,00. Т4 - 000000,00 -
RE: Плагин MegaD
@intrapro
Добрый день.
Отказался от pzem, подключился к счетчику меркурий 200.02, получаю сейчас данные в десятичном виде (|02|41|74|58|00|84|45|92|00|00|00|00|00|00|00|00).
Помогите пожалуйста переделать сниппет. Формат запроса и ответа остался прежний. Вероятно надо поменять
// 01|03|02|08|a1 - в таком виде ожидается ответ
const arr = data.split("|");
if (arr && arr.length > 4) {
const val = parseInt(arr[3]+arr[4], 16);
callback(null, val/10000);Сниппет такой
module.exports = callback => { const http = require('http'); http.get('http://192.168.1.151/sec/?uart_tx=010400030002&mode=rs485'); setTimeout(nextReq, 100); // 100 ms function nextReq() { http.get('http://192.168.1.151/sec/?uart_rx=1&mode=rs485', res => { let rawData = ''; res.on('data', chunk => { rawData += chunk; }); res.on('end', () => { const data = rawData; if (data.includes('CRC Error')) { callback('CRC Error'); // Контроллер вернул ошибку CRC return; } // 01|03|02|08|a1 - в таком виде ожидается ответ const arr = data.split("|"); if (arr && arr.length > 4) { const val = parseInt(arr[3]+arr[4], 16); callback(null, val/10000); } else { callback('Не удалось извлечь значение из строки: '+ data); // Данные получены, но парсинг неудачен } }); }); } };
-
RE: Разработка intraHouse V5
Пользователь @DM19 написал в Разработка intraHouse V5:
Пользователь @sergeyygr написал в Разработка intraHouse V5:
И в Cherry не плохо управляется!!
А скажите пожалуйста, как это можно настроить ?
Сейчас точно уже не помню...
У меня на вкладке "Экраны" создан контейнер HTML, в свойствах контейнера выбираем "элемент" и в строке HTML code вставляем следующий скрипт:
<script>
var rad_backcolor="#434242";
var rad_logo = "black";
var rad_autoplay = true;
var rad_width = "responsive";
var rad_width_px = 33;var rad_stations =[['http://ep256.hostingradio.ru:8052/europaplus256.mp3','Европа плюс','europaplus'],['http://ic7.101.ru:8000/a100?userid=0','Авторадио','avtoradio'],['http://retroserver.streamr.ru:8043/retro256.mp3','Ретро FM','retrofmrus'],['http://ic7.101.ru:8000/a1?userid=0','Дискотека 80-х','disco80']];
function loadJS(url) {
const script = document.createElement("script");
script.type = "application/javascript";
script.src = url;
document.body.appendChild(script);
}
loadJS('https://www.radiobells.com/script/v2_1.js');
</script>
<link href="https://www.radiobells.com/script/style.css" type="text/css" rel="stylesheet" />
<div id="radiobells_container">
</div>На форуме была тема, поищите.
-
RE: Разработка intraHouse V5
Пользователь @DM19 написал в Разработка intraHouse V5:
Здравствуйте. Было бы не плохо, если бы в новой версии можно было управлять каким нибудь интернет радио или чем-то подобным.
И в Cherry не плохо управляется!!
У меня это выглядит так. -
RE: Плагин BroadLink
Пользователь @dev написал в Плагин BroadLink:
Добрый день,
рады сообщить о выходе нового плагина, разработанного пользователем (Dmitry Degtyarev aka Deg026) системы intraHouse.
Ознакомиться с плагином можно тут https://ih-systems.com/ru/product/plugin-broadlink/
Github - https://github.com/intrahouseio/intraHouse.plugin-broadlink
В настоящее время протестированы следующие устройства BroadLink:
MP1, MP2, SP1, SP2, SP3, SP3S
Добрый день! А планируется подключать такие?
-
RE: Плагин MegaD
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.
Можно просто добавить смещение в сценарии
case 5: this.assign(kWh,"value", 28 + val/10 ); return;
Более универсально - добавить свойство устройству и редактировать его через интерфейс (правое меню устройства)
const kWh = Device("PZEM_kWh", "Мощность накопленная ", [ {"name":"offset", "note":"Базовое значение мощности", "type":"number", "val":28} ]); ... case 5: this.assign(kWh,"value", kWh.getParam("offset") + val/10 );
Второй вариант классный! Работает!
Выглядит так:
-
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.
Можно просто добавить смещение в сценарии
case 5: this.assign(kWh,"value", 28 + val/10 ); return;
Более универсально - добавить свойство устройству и редактировать его через интерфейс (правое меню устройства)
const kWh = Device("PZEM_kWh", "Мощность накопленная ", [ {"name":"offset", "note":"Базовое значение мощности", "type":"number", "val":28} ]); ... case 5: this.assign(kWh,"value", kWh.getParam("offset") + val/10 );
Второй вариант классный! Работает!
-
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Спасибо большое!
Да не за что. Извините за опечатку
А можно в моем случае как-то корректировать значение кВт/час?
Что имеете в виду?
Сейчас показания 3кВт/час, а надо установить 31кВт/час. Что бы показания совпадали со счетчиком на вводе.
-
RE: Плагин MegaD
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
Спасибо большое!
А можно в моем случае как-то корректировать значение кВт/час?
-
RE: Плагин MegaD
Пользователь @sergeyygr написал в Плагин MegaD:
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
Спасибо большое!
-
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
@sergeyygr, знака вопроса не хватало! Бывает, глаз замылился. А наш эмулятор проглотил
Здорово, что получилось!
А интервал 1 сек нормально отрабатывает?
Да, все хорошо.
-
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
Now is NOT active - означает, что в данный момент сценарий в спячке, т е ожидает сработки триггера.
По обсуждаемому сценарию - вот что выдает отладчик у меня.
Нет плагина megad, поэтому он сразу выходит.20.08 19:12:29.028 Started 20.08 19:12:29.029 plugincCommand { unit: 'megad1', command: { url: '/sec/?uart_tx=010400000001&mode=rs485' } } 20.08 19:12:29.030 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.030 start timer T1 for 0.1 sek 20.08 19:12:29.031 start timer T2 for 2 sek 20.08 19:12:29.176 Done timer T1 20.08 19:12:29.176 exec function getRx 20.08 19:12:29.177 plugincCommand { unit: 'megad1', command: { url: '/sec/uart_rx=1&mode=rs485', onResponse: 'raw' } } 20.08 19:12:29.178 Error: { message: 'Plugin megad1 is not running!' } 20.08 19:12:29.178 exec function getResponse 20.08 19:12:29.179 Stopped
Все заработало. Проверил синтаксис, не правильно формировался запрос.
// Передать запрос на megad1, ответ придет в сценарий (onResponse:'raw')
this.pluginCommand({unit:'megad1', command:{url:'/sec/uart_rx=1&mode=rs485', onResponse:'raw'}}, 'getResponse');
},
Надо - // Передать запрос на megad1, ответ придет в сценарий (onResponse:'raw')
this.pluginCommand({unit:'megad1', command:{url:'/sec/?uart_rx=1&mode=rs485', onResponse:'raw'}}, 'getResponse');
}, -
RE: Плагин MegaD
Пользователь @intrapro написал в Плагин MegaD:
Пользователь @sergeyygr написал в Плагин MegaD:
У Вас другие входы-выходы работают с этим контроллером? Можно посмотреть отладчик плагина - там должны быть запросы от сценария.
Да, работают, вот пример: