У меня срочный вопрос снимается, я добился работы контроллера по протоколу Dallas, согласно рекомендаций Андрея.
https://www.ab-log.ru/forum/viewtopic.p … 291#p33291.
А в целом он конечно остается.
У меня срочный вопрос снимается, я добился работы контроллера по протоколу Dallas, согласно рекомендаций Андрея.
https://www.ab-log.ru/forum/viewtopic.p … 291#p33291.
А в целом он конечно остается.
В общем беда :), заменил старый контроллер СКУД на мега 2561, из-за ошибок (наверное наводки на провод), значения ключей по протоколу Dallas не передаются верно.
Получилось добиться стабильной работы на протоколе Wiegand W26, но теперь Мега не обрабатывает этот протокол.
Haus, можешь помочь?
У кого-нибудь заработал драйвер для чтения ключа с W26? Я обновился на версию 0.4.0, однако в объектах так и висит значение ключа = 0
..само устройство находится в одной подсети, а ioBroker - в другой..
а вот это вполне может быть, неизвестно какие у него сетевые настройки… драйвер Ping его видит?
Да, драйвер Ping видит
Без реального девайса в "Объекты" ничего не появляется. Включаем девайс, с помощью родного софта цепляем к своей сетке, определяем какой айпи выдал роутер, ставим драйвер, обновляем вкладку "Настройки драйверов", в настройках драйвера указываем выданный ему айпи… `
Реальный девайс есть, я его через телефон-то настроил, обучил, он работает через родное приложение. На роутере увидел какой ему выдан IP, этот IP в настройках указал.
Может быть ситуация в том что: само устройство находится в одной подсети, а ioBroker - в другой. И это тот случай, если записи во вкладке Объекты появляются только после обнаружения устройства драйвером, но в других драйверах они появляются сразу, даже если устройства нет.
Сегодня попробую в одну сеть их поставить.
После установки драйвера IR Broadlink Adapter в "Настройки драйверов" broadlink.0 появляется, загорается зеленым. В логах идет запись что запущен.
А в "Объектах" не появляется уровень broadlink.0.
Т.о. настроить его нельзя. Вручную тоже не получилось создать.
Удалял, поставил снова. Не помогло.
Для эксперимента поставил драйвер broadlink2, он появился и в драйверах и в объектах как broadlink2.0. Т.е. с ним все в порядке.
Есть второй сервер iObroker (вообще на другой машине), там такая же ситуация.
Как его правильно установить?
Значения выходят, все получилось. Теперь не могу понять почему так "криво" выходит форматирование. Значения ширины столбцов указанные в настройках не изменяют внешнего вида таблицы. И получается что первые два столбца узкие, третий широкий… `
Так я ж написал - из-за ограничений возможности форматирования (или я просто не нашёл как это делается) перешёл на html-таблицу. `
Вот что я "раскопал": помогает установка знака процента после значения ширины колонки в настройках виджета, тогда таблица меняет внешний вид.
1611___________.png
Пример формирования таблицы из БД, подразумевая что включена запись состояний объектов ("megad.1.p11_Отополение_1_этаж" и "megad.1.p10_Отополение_2_этаж") в настройках.
Скрипт :
! ```
`createState("html_table");
createState('spisok_journal_period',1440);
! if ( !Date.prototype.toMyString ) {
( function() {
! function pad(number) {
var r = String(number);
if ( r.length === 1 ) {
r = '0' + r;
}
return r;
}
! Date.prototype.toMyString = function() {
return this.getUTCFullYear()
+ '-' + pad( this.getUTCMonth() + 1 )
+ '-' + pad( this.getUTCDate() )
+ ' ' + pad( this.getUTCHours() )
+ ':' + pad( this.getUTCMinutes() )
+ ':' + pad( this.getUTCSeconds() );
// + '.' + String( (this.getUTCMilliseconds()/1000).toFixed(3) ).slice( 2, 5 )
// + 'Z';
};
! }() );
}
! function table_climate(period){
sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="megad.1.p11_Отополение_1_этаж" or name="megad.1.p10_Отополение_2_этаж"', function (result) {
if (result.error) {
console.error(result.error);
} else {
var now = new Date();
now.setMinutes(-period);
sendTo('sql.0', 'query', 'SELECT a.id,a.ts,a.val, b.name FROM iobroker.ts_bool as a INNER JOIN iobroker.datapoints as b ON a.id = b.id WHERE ts >= ' + now.getTime() + ' AND a.id in (SELECT id FROM iobroker.datapoints WHERE name="megad.1.p11_Отопление_1_этаж" or name="megad.1.p10_Отополение_2_этаж") order by a.ts desc' , function (result) {
if (result.error) {
console.error(result.error);
} else {
var obj = JSON.stringify(result.result);
obj = JSON.parse(obj );
var obj_html = """;
var table_head ="";
obj_html=obj_html+table_head;
if (obj.length>0)
{
for(var i=0;i<obj.length;i++) {/var/tr="<tr>" ;/tr2="</tr>" mydate="new" date(obj[i]["ts"]);/event_date="myDate.toMyString();" td1="<td>" +event_date+"</td="">";
var objn = getObject (obj[i]["name"],'name');
var id_name=objn.common.name;
var td2="</obj.length;i++)>";
var value = '';
if (obj[i]["val"]==1)
{ value='Вкл';}
if (obj[i]["val"]===0)
{ value='Откл';}
var td3="";
obj_html = obj_html + tr+td1+td2+td3+tr2;
}
}
obj_html = obj_html +"
! <colgroup><col width="\"750\""><col width="\"1500\""> <col width="\"500\""></colgroup>
| Дата | Устройство | Значение |
| "+id_name+" | "+value+" |
! "";
setState("html_table",obj_html);
}
});
}
});}
! var period = getState("javascript.0.spisok_journal_period").val;
table_climate(period);
on({id: 'spisok_journal_period', change: 'any'}, function (objsp) {
! var period = getState("javascript.0.spisok_journal_period").val;
table_climate(period);});`
! Список для выбора временного периода (импортируй элемент в VIS):
~~[code]~~[{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.spisok_journal_period","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"values":"60;1440;10080;43200;525600","texts":"час;сутки;неделя;месяц;год","height":"144","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"open":false,"visibility-groups-action":"hide"},"style":{"left":"100px","top":"23px","width":"93px","height":"39px"},"widgetSet":"jqui"}] [/code]
! Сама таблица создаётся в элементе basic -HTML:
~~[code]~~ Таблица ! ! [/code]
! Есть нюанс - после создания таблицы в vis- редакторе она как бы не видна после задания параметров (у меня прячется в верхний левый угол). Это нормально. В просмотре будет отображаться нормально. Для поиска этого элемента и редактирования в vis-редакторе надо обращаться к этому элементу через список в меню "Выбранный элемент".
! Спасибо. Скрипт пока разобрал голову сломал :).
! После того как разобрался с вашим скриптом, нашел решение для элемента Json Table:
! `~~[code]~~createState("Баня_vis_table_of_temp");
! schedule("*/1 * * * *", function () { // запускаем каждую минутуvar table_of_temp = [{"Помещение": "Прихожая", "Температура пола": getState("megadd.1.p30_B_Temp_Sens1").val + ' °C', "Температура воздуха": "n/a" + ' °C'},
{"Помещение": "Туалет", "Температура пола": getState("megadd.1.p30_B_Temp_Sens1").val + ' °C', "Температура воздуха": getState("megadd.1.p34_Out_Pressure_Sens1").val + ' °C'},
{"Помещение": "Комната отдыха", "Температура пола": getState("megadd.1.p31_B_Temp_Sens2").val + ' °C', "Температура воздуха": "n/a" + ' °C'},
{"Помещение": "Мойка", "Температура пола": getState("megadd.1.p32_B_Temp_Sens3").val + ' °C', "Температура воздуха": "n/a" + ' °C'},
{"Помещение": "Парилка", "Температура пола": getState("megadd.1.p33_B_Temp_Sens4").val + ' °C', "Температура воздуха": getState("megadd.2.p30_B_Temp_Sens5").val + ' °C'}]
setState("Баня_vis_table_of_temp", JSON.stringify(table_of_temp));
});[/code]`! Значения выходят, все получилось. Теперь не могу понять почему так "криво" выходит форматирование. Значения ширины столбцов указанные в настройках не изменяют внешнего вида таблицы. И получается что первые два столбца узкие, третий широкий...
1611____________________.png [/i][/i][/i][/i]
``` `
!
@andrey99986:
! >@evgeny_nd:Добрый день.
Можете объяснить принцип заполнения в VIS объекта Basic Table (Json)?
У меня есть значения температуры, которые считываются с датчиков и хранятся в Megadd.0.ХХХ
Хотел использовать этот элемент, но что-то не получилось разобраться как туда вставить эти данные.
Вручную в описании этого элемента в редакторе указать в описание колонок значения данных в виде Megadd.0.ХХХ указать нельзя.
Нужно указать ID таблицы, а где эту таблицу хранить (видимо в объектах Admin) и как ее заполнять (видимо скриптом из значений Меги), не совсем понятно.
Примеров по форуму (пошаговых) найти не смог. `
Поработав с Basic Table (Json) быстро наткнулся на ограничение форматирования таблицы.
Поэтому загоняю данные как html-таблицу из БД в обычный объект в скриптах, а затем вставляю этот объект в элементе Basic HTML.
По количеству кода - почти одно и то же.
Дать пример с html table или непременно через json table надо?
! Json не обязательно, главное чтобы меньшими временными затратами, но тот же результат.
! Хотите сказать, что можно в скрипте сформировать каким-то образом таблицу и затем передать ее в интерфейс VIS?
! Конечно надо пример :). `
Добрый день.
Можете объяснить принцип заполнения в VIS объекта Basic Table (Json)?
У меня есть значения температуры, которые считываются с датчиков и хранятся в Megadd.0.ХХХ
Хотел использовать этот элемент, но что-то не получилось разобраться как туда вставить эти данные.
Вручную в описании этого элемента в редакторе указать в описание колонок значения данных в виде Megadd.0.ХХХ указать нельзя.
Нужно указать ID таблицы, а где эту таблицу хранить (видимо в объектах Admin) и как ее заполнять (видимо скриптом из значений Меги), не совсем понятно.
Примеров по форуму (пошаговых) найти не смог.