NEWS
MegaD 328
-
Пытался разобраться, что происходит.
Вначале поменял скрипт на управление объектом (P6) ioBroker, а не портом меги. Не помогло.
Потом отключил полностью порт 7(NC) на меге. И скрипт стал запускаться каждый раз при плановом опросе меги.
Выключил порт 7 (не используется) в настройках драйвера. Скрипт перестал запускаться.
Включил порт 7 (IN) на меге. - без изменений
Включил порт 7 (Циф.вход) в настройках драйвера. Сохранил (сохранить и выйти)
Скрипт не запускается вообще, объекта megad.0.p7_P7 не создалось.
Остановился в экспериментах.
09.11.2015 Продолжил
Поменял управляющий порт на 8. Та же самая петрушка.
Удалил полностью все драйвера меги, перепрошил мегу со стиранием настроек. Настроил заново мегу, поставил драйвер, считал с меги настройки, сохранил. Все как было так и осталось. В момент планового опроса меги происходит повторный вызов скрипта. ППЦ.
-
@kID:Поползал по настройкам драйвера и появилось много вопросов.
1. Зацепил новую мегу, сконфигурировал на ней порты, установил еще один драйвер, считал настройки с портов в драйвер
при этом в колонке комната для порта P14 сразу появилось значение Гараж, хотя я еще там ничего не менял. Возможно это значение я выставлял этому порту во время предыдущих экспериментов. Т.е драйвер не полностью подчищает за собой историю во время удаления и при новом создании ее использует.
Нажал кнопу сохранить и выйти, при этом создались объекты filename="Скриншот 2015-11-07 12.25.27_1.jpg" index="3">~~
однако при последующем входе в настройки драйвера колонка комната пуста. filename="Скриншот 2015-11-07 12.38.41.jpg" index="2">~~ `
Судя по всему это баг. Но не страшный.@kID:2. Не совсем понимаю смысл кнопки добавить порт. Создаю порт P16, выбираю тип Inernal Sensor -> сохранить выйти, нового объекта не создается. Соответственно контролировать его значение я не могу. `
Не могу воспроизвести
После того, как закрыл и открыл снов
@kID:3. Как называется левая колонка в окошке драйвера как менять ее значения и как ей пользоваться filename="Скриншот 2015-11-07 12.38.41_1.jpg" index="1">~~ `
Это, я так понимаю, имя порта. Разве нет?@kID:Это значение ни где не фигурирует, в частности порт A6-P14 в драйвере а в списке объектов p14_P14 `
Баг. -
@kID:2. Не совсем понимаю смысл кнопки добавить порт. Создаю порт P16, выбираю тип Inernal Sensor -> сохранить выйти, нового объекта не создается. Соответственно контролировать его значение я не могу. `
@Bluefox:Не могу воспроизвести `
Я имею в виду что на закладке объекты ( в дереве соответствующей меге)не создалось этого порта.@kID:3. Как называется левая колонка в окошке драйвера как менять ее значения и как ей пользоваться `
@Bluefox:Это, я так понимаю, имя порта. Разве нет? `
А что тогда в колонке под названием имя?И еще на вашем скриншоте драйвера как то особенно прописаны порты. Надо так как у вас т.е ioBroker webport указать 8081
А порт прописанный на меге вписываем в строчку к ее адресу?
-
@kID:Вот еще какая штука выявилась
Простой скрипт при замыкании P7 инвертирует P6
var request = require('request'); var url = 'http://192.168.88.12/sec/?pt=0&cmd=6:2'; on('megad.0.p7_P7', function (obj) { log((new Date()).toString() + " " + JSON.stringify(obj.newState)); if (obj.newState.val === 'true' || obj.newState.val === true) { request(url); } });
Однако работает это следующим образом: вначале скрипт отрабатывает как надо, но затем когда происходит плановый опрос все повторяется опять. (Я так понял)
! megad.0 2015-11-07 13:42:56 debug inMem message megad.0.* megad.0.p7_P7
! javascript.0 2015-11-07 13:42:56 info javascript.0 script.js.Mega_script_p7: Sat Nov 07 2015 13:42:56 GMT+0600 (NOVT) {"val":false,"ts":1446882176,"ack":true,"lc":1446882176,"from":"system.adapter.megad.0"}
! megad.0 2015-11-07 13:42:56 debug inMem message megad.0.* megad.0.p15_A7
! megad.0 2015-11-07 13:42:56 debug inMem message megad.0.* megad.0.p14_A6
! megad.0 2015-11-07 13:42:56 debug inMem message megad.0.* megad.0.p13_P13
! megad.0 2015-11-07 13:42:56 debug inMem message megad.0.* megad.0.p7_P7
! megad.0 2015-11-07 13:42:56 debug megad.0 detected new value on port [15]: 25, calc state 25
! megad.0 2015-11-07 13:42:56 debug megad.0 detected new value on port [14]: 31, calc state 31
! megad.0 2015-11-07 13:42:56 debug megad.0 reported new state for port 7 - 0
! megad.0 2015-11-07 13:42:56 debug megad.0 detected new state on port [7]: 0
! megad.0 2015-11-07 13:42:56 debug megad.0 Response for 192.168.88.12[all]: OFF;OFF;;;;;OFF;OFF/31;OFF/3;;;;;;31;25
! javascript.0 2015-11-07 13:42:56 info javascript.0 script.js.Mega_script_p7: Sat Nov 07 2015 13:42:56 GMT+0600 (NOVT) {"val":true,"ts":1446882176,"ack":true,"lc":1446882176,"from":"system.adapter.megad.0"}
! megad.0 2015-11-07 13:42:56 debug megad.0 getPortState http://192.168.88.12/sec/?cmd=all
! megad.0 2015-11-07 13:42:38 debug inMem message megad.0.* megad.0.p7_P7
! javascript.0 2015-11-07 13:42:38 info javascript.0 script.js.Mega_script_p7: Sat Nov 07 2015 13:42:38 GMT+0600 (NOVT) {"val":false,"ts":1446882158,"ack":true,"lc":1446882158,"from":"system.adapter.megad.0"}
! megad.0 2015-11-07 13:42:37 debug inMem message megad.0.* megad.0.p7_P7
! megad.0 2015-11-07 13:42:37 debug megad.0 reported new state for port 7 - true
! javascript.0 2015-11-07 13:42:37 info javascript.0 script.js.Mega_script_p7: Sat Nov 07 2015 13:42:37 GMT+0600 (NOVT) {"val":true,"ts":1446882158,"ack":true,"lc":1446882158,"from":"system.adapter.megad.0"}
! megad.0 2015-11-07 13:42:37 debug megad.0 detected new state on port [7]: true `
Обновил версию. Можешь попробовать? -
@kID:Я имею в виду что на закладке объекты ( в дереве соответствующей меге)не создалось этого порта. `
Иногда надо в admin нажимать F5. У меня работает
@kID:3. Как называется левая колонка в окошке драйвера как менять ее значения и как ей пользоваться
А что тогда в колонке под названием имя? `
Можно задать собственное имя порта. И как то надо же нумеровать порты. Я бы их мог назвать 0-15.А так можно сделать p0_light, p1_fan, p3_temperature итд.
@kID:И еще на вашем скриншоте драйвера как то особенно прописаны порты. Надо так как у вас т.е ioBroker webport указать 8081
А порт прописанный на меге вписываем в строчку к ее адресу? `
У меня симулятор меги, а не настоящая мега. Но я сделал так, что когда мега будет не только на 80м порту работать, то и это будет поддерживаться. А симулятор бежит на 8087 -
Обновил версию. Можешь попробовать? `
По сработке портов все как было, так и осталось. Я вот что думаю: У Вас получилось воспроизвести описанную мной ситуацию? Может это мне удалось словить какой то зловредный глюк. Потому как описываемая мной ситуация достаточна критична, но никто кроме меня это не подтверждает.Если надо то буду писать логи и экспериментировать, но если это только моя проблема то наверно надо просто все переустановить.
И дальше по созданию нового порта
@kID:Я имею в виду что на закладке объекты ( в дереве соответствующей меге) не создалось этого порта. `
@Bluefox:Иногда надо в admin нажимать F5. У меня работает `
У меня так не получаетсяДобавляю новый драйвер, считываю настройки с меги и сразу добавляю новый порт. Сохраняю.
filename="Скриншот 2015-11-11 19.30.50.jpg" index="2">~~
Смотрю в лог какие объекты создались. P16 нету.
filename="Скриншот 2015-11-11 19.30.38.jpg" index="1">~~
Соответственно в списках объектов тоже пусто (даже после F5)
filename="Скриншот 2015-11-11 19.31.05.jpg" index="0">~~
Но заметте тип порта я указываю InernalSensor. При любом другом типе все получается. -
Я смог воспроизвести ошибку. Там что то всё поломалось после прошлой оптимизации.
Я поправил и с твоим скриптом ошибок больше не было.
Ну хоть trace покажи.
-
Ну хоть trace покажи. `
Если буду знать где он у меня то обязательно покажу :lol:Это Вы про лог?
-
-
Да я лог имел ввиду. `
А дебаг включить только у драйвера меги? -
Да
-
Ну хоть trace покажи. `
! ````
megad.0 2015-11-12 22:03:10 debug inMem message megad.0.* megad.0.p8_P8
megad.0 2015-11-12 22:03:09 debug inMem message megad.0.* megad.0.p15_A7
megad.0 2015-11-12 22:03:09 debug inMem message megad.0.* megad.0.p14_A6
javascript.0 2015-11-12 22:03:10 info javascript.0 script.js.Mega_script_p8: Thu Nov 12 2015 22:03:10 GMT+0600 (NOVT) {"val":false,"ts":1447344190,"ack":true,"lc":1447344190,"from":"system.adapter.megad.0"}
megad.0 2015-11-12 22:03:09 debug inMem message megad.0.* megad.0.p13_P13
megad.0 2015-11-12 22:03:09 debug megad.0 set state for port 8 back to false
megad.0 2015-11-12 22:03:09 debug inMem message megad.0.* megad.0.p8_P8
megad.0 2015-11-12 22:03:09 debug inMem message megad.0.* megad.0.p6_P6
megad.0 2015-11-12 22:03:09 debug megad.0 detected new value on port [15]: 0, calc state 0
megad.0 2015-11-12 22:03:09 debug megad.0 detected new value on port [14]: 0, calc state 0
megad.0 2015-11-12 22:03:09 debug megad.0 reported new state for port 8 - true
megad.0 2015-11-12 22:03:09 debug megad.0 detected new state on port [8]: 0
megad.0 2015-11-12 22:03:09 debug megad.0 detected new value on port [6]: true
megad.0 2015-11-12 22:03:09 debug megad.0 Response for 192.168.88.12[all]: OFF;OFF;;;;;ON;OFF/3;OFF/9;;;;;;0;0
javascript.0 2015-11-12 22:03:09 info javascript.0 script.js.Mega_script_p8: [object Object]
javascript.0 2015-11-12 22:03:09 info javascript.0 script.js.Mega_script_p8: Thu Nov 12 2015 22:03:09 GMT+0600 (NOVT) {"val":true,"ts":1447344190,"ack":true,"lc":1447344190,"from":"system.adapter.megad.0"}
megad.0 2015-11-12 22:03:09 debug megad.0 getPortState http://192.168.88.12/sec/?cmd=all
megad.0 2015-11-12 22:02:47 debug inMem message megad.0.* megad.0.p8_P8
javascript.0 2015-11-12 22:02:47 info javascript.0 script.js.Mega_script_p8: Thu Nov 12 2015 22:02:47 GMT+0600 (NOVT) {"val":false,"ts":1447344167,"ack":true,"lc":1447344167,"from":"system.adapter.megad.0"}
megad.0 2015-11-12 22:02:47 debug megad.0 set state for port 8 back to false
javascript.0 2015-11-12 22:02:47 info javascript.0 script.js.Mega_script_p8: [object Object]
megad.0 2015-11-12 22:02:47 debug inMem message megad.0.* megad.0.p8_P8
javascript.0 2015-11-12 22:02:47 info javascript.0 script.js.Mega_script_p8: Thu Nov 12 2015 22:02:47 GMT+0600 (NOVT) {"val":true,"ts":1447344167,"ack":true,"lc":1447344167,"from":"system.adapter.megad.0"}
megad.0 2015-11-12 22:02:47 debug megad.0 reported new state for port 8 - true
megad.0 2015-11-12 22:02:47 debug megad.0 detected new state on port [8]: true
megad.0 2015-11-12 22:02:40 debug inMem message megad.0.* megad.0.p15_A7
megad.0 2015-11-12 22:02:40 debug inMem message megad.0.* megad.0.p14_A6
megad.0 2015-11-12 22:02:39 debug inMem message megad.0.* megad.0.p13_P13
megad.0 2015-11-12 22:02:39 debug inMem message megad.0.* megad.0.p6_P6
megad.0 2015-11-12 22:02:39 debug inMem message megad.0.* megad.0.p1_P1
megad.0 2015-11-12 22:02:39 debug inMem message megad.0.* megad.0.p0_P0
megad.0 2015-11-12 22:02:39 debug megad.0 detected new value on port [15]: 14, calc state 14
megad.0 2015-11-12 22:02:39 debug megad.0 detected new value on port [14]: 18, calc state 18
megad.0 2015-11-12 22:02:39 debug megad.0 detected new state on port [8]: 0
megad.0 2015-11-12 22:02:39 debug megad.0 detected new state on port [7]: 0
megad.0 2015-11-12 22:02:39 debug megad.0 detected new value on port [6]: false
megad.0 2015-11-12 22:02:39 debug megad.0 detected new value on port [1]: false
megad.0 2015-11-12 22:02:39 debug megad.0 detected new value on port [0]: false
megad.0 2015-11-12 22:02:39 debug megad.0 Response for 192.168.88.12[all]: OFF;OFF;;;;;OFF;OFF/3;OFF/8;;;;;;18;14
megad.0 2015-11-12 22:02:39 debug megad.0 getPortState http://192.168.88.12/sec/?cmd=allКак то так ~~@Bluefox:~~ > Я поправил и с твоим скриптом ошибок больше не было. ` Я всяко не претендую на правильность в своем скрипте, если он противоречит канонам программирования подскажите где ;)
-
Спасибо с версией 1.0.6 повторного изменения состояния входа не происходит и скрипт заработал как надо.
Но появился, либо ранее был не замечен следующий глюк:
Попытался пересадить вторую мегу - megad.1 на другой порт (81) в драйвере и на устройстве. Тут же перестали восприниматься команды от megad.0 драйвер и устройство которой висели на 80 порту. Когда в устройстве megad.0 поменял на 81 порт все заработало, но в этот момент в драйвере megad.0 прописан 80 порт. Получается что слушается лишь порт устройства с более высоким номером.
-
@kID:Спасибо с версией 1.0.6 повторного изменения состояния входа не происходит и скрипт заработал как надо.
Но появился, либо ранее был не замечен следующий глюк:
Попытался пересадить вторую мегу - megad.1 на другой порт (81) в драйвере и на устройстве. Тут же перестали восприниматься команды от megad.0 драйвер и устройство которой висели на 80 порту. Когда в устройстве megad.0 поменял на 81 порт все заработало, но в этот момент в драйвере megad.0 прописан 80 порт. Получается что слушается лишь порт устройства с более высоким номером. `
А зачем пересаживать мегу на 81 порт? Оставь обе меги на 80. Драйвера умеют посылать друг другу сообщения. -
А зачем пересаживать мегу на 81 порт? Оставь обе меги на 80. Драйвера умеют посылать друг другу сообщения. `
А чего тогда мега с более высоким порядковым номером ругаетсяmegad.1 2015-11-16 20:16:08 warn megad.1 port 81 already in use
Да и в общем просто хотел попробовать.
-
@kID:А зачем пересаживать мегу на 81 порт? Оставь обе меги на 80. Драйвера умеют посылать друг другу сообщения. `
А чего тогда мега с более высоким порядковым номером ругаетсяmegad.1 2015-11-16 20:16:08 warn megad.1 port 81 already in use
Да и в общем просто хотел попробовать. `
Ну по идее должно работать, т.к. у меня симулятор на 8087 а ioBroker на 7878.А как ты настроил порты?
ioBroker - mega.0 - 80 => MegaD1 80
ioBroker - mega.1 - 81 => MegaD2 81
? Или как?
-
А как ты настроил порты?
ioBroker - mega.0 - 80 => MegaD1 80
ioBroker - mega.1 - 81 => MegaD2 81 `
Да так, но при этом MegaD1 драйвер не слышалЕсли сделать
ioBroker - mega.0 - 80 => MegaD1 81
ioBroker - mega.1 - 81 => MegaD2 81
То все работало
Поэтому перенес все на 80 порт. Но при этом ioBroker - mega.1 ругался на занятость порта.
Но сейчас хотел наделать скриншотов и перегрузился - стало работать
ioBroker - mega.0 - 80 => MegaD1 80
ioBroker - mega.1 - 81 => MegaD2 81
так и
ioBroker - mega.0 - 80 => MegaD1 81
ioBroker - mega.1 - 81 => MegaD2 81
Как то так :roll: короче работает, по мере добавления устройств буду следить
Или лучше всех посадить на один порт и не смотреть на варнинги?
4002_screenshot.38.jpg
4002_screenshot.18.png -
@kID:Как то так :roll: короче работает, по мере добавления устройств буду следить
Или лучше всех посадить на один порт и не смотреть на варнинги? `
Я бы хотел добить этот драйвер. Так что лучше следить -
Вопрос к знатокам MegaD. Сейчас планирую один проект, для ioBroker нужны надежные модули ввода-вывода… У меня собственно два вопроса:
<size size="150">1.</size> Насколько надежен сейчас девайс от ab-log.ru и насколько проработан драйвер? Просмотрел тему - я так понял основная проблема - добавление новых фишек в MegaD и слебое описание сего функционала - надо рыть форум по меги, так? Может скинемся сообществом и купим BlueFox одну железку, чтобы он не работал с адаптером "вслепую"?
<size size="150">2.</size> Кто нибудь использует функционал скриптов в самой MegaD?
~~![](</s><URL url=)<link_text text="http://ab-log.ru/files/Image/smart_hous ... heme-5.jpg">http://ab-log.ru/files/Image/smart_house/ethernet/MegaD-328/scheme-5.jpg</link_text>" />
Есть такая картинка и описание: "Но и это еще не все. MegaD-328 может всецело подчиняться серверу, но как только произойдет сбой и сервер исчезнет из сети, MegaD-328 при возникновении события (например, нажатия кнопки-выключателя света) будет самостоятельно переключать лампы в зависимости от настроек по умолчанию, которые заданы пользователем."
Т.е. правильно я понимаю - если связь есть (критерий наличия связи - ответ на HTTP-запрос?) с сервером - то работаем как модуль ввода-вывода, если нет - выполняем команды по внутреннему скрипту (нажали кнопку - включился свет, вентилятор, etc)?
<size size="150">3.</size> Интересна возможность работы МегаД через РОЕ, не настоящее, колхозное имею ввиду)) Т.е. оранжевая и зеленая пара - данные, синяя и коричневая пары - питание. Эээ, в описании указано что сеть то 10Мбит, а не 100, т.е. хватит и одной пары в кабеле типа UTP…
Заранее спасибо всем!~~
-
Вопрос к знатокам MegaD. Сейчас планирую один проект, для ioBroker нужны надежные модули ввода-вывода… У меня собственно два вопроса:
<size size="150">1.</size> Насколько надежен сейчас девайс от ab-log.ru и насколько проработан драйвер? Просмотрел тему - я так понял основная проблема - добавление новых фишек в MegaD и слебое описание сего функционала - надо рыть форум по меги, так? Может скинемся сообществом и купим BlueFox одну железку, чтобы он не работал с адаптером "вслепую"?
<size size="150">2.</size> Кто нибудь использует функционал скриптов в самой MegaD?
Есть такая картинка и описание: "Но и это еще не все. MegaD-328 может всецело подчиняться серверу, но как только произойдет сбой и сервер исчезнет из сети, MegaD-328 при возникновении события (например, нажатия кнопки-выключателя света) будет самостоятельно переключать лампы в зависимости от настроек по умолчанию, которые заданы пользователем."
Т.е. правильно я понимаю - если связь есть (критерий наличия связи - ответ на HTTP-запрос?) с сервером - то работаем как модуль ввода-вывода, если нет - выполняем команды по внутреннему скрипту (нажали кнопку - включился свет, вентилятор, etc)?
<size size="150">3.</size> Интересна возможность работы МегаД через РОЕ, не настоящее, колхозное имею ввиду)) Т.е. оранжевая и зеленая пара - данные, синяя и коричневая пары - питание. Эээ, в описании указано что сеть то 10Мбит, а не 100, т.е. хватит и одной пары в кабеле типа UTP…
Заранее спасибо всем! `
Перезжаю с мажора на ioBroker. BlueFox, низкий поклон за труды!
В мажоре раньше до появления драйвера так и работала мега или на своих php скриптах, т.е. если сервер не отвечает в течении пары сек., то выполняются скрипты по умолчанию. На ioBroker сечас проверил с скриптами по умолчанию в меге, работает как в описании на мегу, т.е. все гут. Еще есть NetAction (Net) - В этом поле записывается URL, который MegaD-328 вызывает независимо от того, есть сервер или его нет, т.е. меги могут общаться между собой мимо сервера.
По поводу скинутся BlueFox на мегу, поддерживаю, ток BlueFox пусть в личку сообщит куда кидать.
BlueFox, сколько пользователей установило себе драйверов MegaD?
И еще вопрос BlueFox, в MegaD если порт настроен как вход (in), то там еще счетчик на каждом входе, сейчас он в драйвере ioBroker не доступен, у меня счетчик газа через него считает.
Счетчики http://ab-log.ru/smart-house/ethernet/megad-328-api
Для каждого порта типа In (Вход) устройство сохраняет количество срабатываний, согласно настройкам порта.
Значение счетчика указывается на странице конфигурирования порта через слеш (максимальное значение 65535)
ON/1 (Порт активен/количество срабатываний 1)
Обнуление/задание исходного значения счетчика
С помощью параметра "cnt" можно задать любое значение счетчика.
Пример
http://192.168.0.14/sec/?pt=3&cnt=200
считать состояние порта -> http://192.168.0.52/sec/?pt=2&cmd=get
ответ -> OFF/39