NEWS
MegaD 328
-
Bluefox, если порт настроен как P&R (при изменении), как я должен написать скрипт, чтобы по нажатию физической кнопки, в vis так же отображалось что лампочка горит.
При нажатии лампочки в vis переменной megad.0.p7_P7 устанавливаетcя значение в true, физическая лампа загорается. Если я нажимаю на кнопку (короткое нажатие), то переменной присваивается true и соответственно при отжатии присваивается false. Что приводит в vis к выключению лампочки.
UPD. Ошибочка, меняется состояние с true на false это у кнопки (megad.0.p0_P0). Все равно не могу понять :)
UPD. Правильно ли я мыслю?
on('megad.0.p0_P0', function (obj) { if (obj.newState.val === true && getState('megad.0.p7_P7').val === false) { setState ('megad.0.p7_P7', true); log('вкл. порт 7, короткое нажатие'); }else if(obj.newState.val === true && getState('megad.0.p7_P7').val === true){ setState ('megad.0.p7_P7', false); log('выкл. порт 7, короткое нажатие'); } }); ```` `Да всё правильно. Работает? Лампочку в виз надо рисовать по megad.0.p7_P7.
Вот так
[{"tpl":"tplMfdSocketCtrl","data":{"oid":"megad.0.p7_P7","visibility-cond":"==","visibility-val":1,"asButton":true,"oidTrue":"megad.0.p0_P0","oidFalse":"megad.0.p0_P0","oidTrueValue":"false","oidFalseValue":"true","invert_state":false,"iconColor":"#143afa","icon_off":"/vis/widgets/jqui-mfd/img/light_light_dim_0.svg","icon_on":"/vis/widgets/jqui-mfd/img/light_light_dim_100.svg","invert_icon":false},"style":{"left":"680px","top":"176px"},"widgetSet":"jqui-mfd"}] -
Да, заработало.
В твоем элементе у меня почему то значки не отобразились и он не заработал. В логе: <u>megad-0 2015-09-29 00:17:40 error Cannot write the read only port megad.0.p0_P0</u>
И как влияет ID объекта при true: megad.0.p0_P0 и ID объекта при false: megad.0.p0_P0 на лампочку (для чего это нужно)?
У меня вот такой элемент работает
[{"tpl":"tplHqButton","data":{"visibility-cond":"==","visibility-val":1,"oid":"megad.0.p7_P7","min":"false","max":"true","iconName":"img/bulb_off.png","btIconWidth":"56","offsetAuto":"true","leftOffset":"15","topOffset":"55","timeAsInterval":"true","infoLeftFontSize":"12","infoFontRightSize":"12"},"style":{"left":"485px","top":"233px"},"widgetSet":"hqwidgets"}] -
Нажатие кнопки поиска
Error: 2015-09-29 00:31:30 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) Error: 2015-09-29 00:31:30 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) Error: 2015-09-29 00:31:30 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1891:34) Error: 2015-09-29 00:31:30 error at Adapter.emit (events.js:95:17) Error: 2015-09-29 00:31:30 error at Adapter.adapter.config.ports.(anonymous function).value (/opt/iobroker/node_modules/iobroker.megad/main.js:87:17) Error: 2015-09-29 00:31:30 error at discoverMega (/opt/iobroker/node_modules/iobroker.megad/main.js:702:17) Error: 2015-09-29 00:31:30 error at discoverMegaOnIP (/opt/iobroker/node_modules/iobroker.megad/main.js:671:24) Error: 2015-09-29 00:31:30 error at Object.exports.createSocket (dgram.js:130:10) Error: 2015-09-29 00:31:30 error at new Socket (dgram.js:113:16) Error: 2015-09-29 00:31:30 error at newHandle (dgram.js:88:9) Error: 2015-09-29 00:31:30 error Bad socket type specified. Valid types are: udp4, udp6 message 2015-09-29 00:31:30 error messagebox.system.adapter.megad.0 [object Object] Bad socket type specified. Valid types are: udp4, udp6Если используется модуль Datagram Sockets, то там написано: Creates a datagram Socket of the specified types. Valid types are udp4 and udp6.
6305_flot_lueftung.png -
Нажатие кнопки поиска
Error: 2015-09-29 00:31:30 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:134:20) Error: 2015-09-29 00:31:30 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) Error: 2015-09-29 00:31:30 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:1891:34) Error: 2015-09-29 00:31:30 error at Adapter.emit (events.js:95:17) Error: 2015-09-29 00:31:30 error at Adapter.adapter.config.ports.(anonymous function).value (/opt/iobroker/node_modules/iobroker.megad/main.js:87:17) Error: 2015-09-29 00:31:30 error at discoverMega (/opt/iobroker/node_modules/iobroker.megad/main.js:702:17) Error: 2015-09-29 00:31:30 error at discoverMegaOnIP (/opt/iobroker/node_modules/iobroker.megad/main.js:671:24) Error: 2015-09-29 00:31:30 error at Object.exports.createSocket (dgram.js:130:10) Error: 2015-09-29 00:31:30 error at new Socket (dgram.js:113:16) Error: 2015-09-29 00:31:30 error at newHandle (dgram.js:88:9) Error: 2015-09-29 00:31:30 error Bad socket type specified. Valid types are: udp4, udp6 message 2015-09-29 00:31:30 error messagebox.system.adapter.megad.0 [object Object] Bad socket type specified. Valid types are: udp4, udp6Если используется модуль Datagram Sockets, то там написано: Creates a datagram Socket of the specified types. Valid types are udp4 and udp6. `
Версия node.js старая… Попробуй поменять строчку 671 в main.js наvar client = dgram.createSocket('udp4'); -
Вчера всплыла еще такая вещь - при снятии галочки "двойное нажатие" перестали работать скрипты на одиночное нажатие:
on("megad.0.p9_P9", function (obj) { if (obj.newState.val === true) { request(Lamp4); } });В чем может быть подвох? Галочку вернул - она почти не мешает, но это лишняя нагрузка на систему и лишняя задержка для ожидания того, чего не нужно… `
Просто там генерировались 0 и 1 вместо true и false.Можешь в последней версии 0.2.11 поменять строку 934 с
adapter.setState(config.id, config.value, true);на
adapter.setState(config.id, !!config.value, true); ```` `Я так понимаю это уже в 0.2.12 исправлено. А как по поводу моего предыдущего замечания?
@Bosya:Драйвер обновил, но не помогло. Проверил браузером и теперь везде OK, но в Mozilla было замечено что шрифт OK отличается для 0 и остальных. Дальнейший анализ показал, что у ответов сервера разный тип.
Для 0 это - text/html, а для остальных - text/plain. `
-
версия 0.2.12
1. поиск так и не заработал.
2. Считывание misc не заработало, так же по прежнему из поля mode считывает.
3. Пожелание: во вкладке настройка драйверов в столбце "заголовок" сделать переход на мегу при условии что ip прописан в настройках (типа как переходим на редактор vis).
-
версия 0.2.12
1. поиск так и не заработал.
2. Считывание misc не заработало, так же по прежнему из поля mode считывает.
3. Пожелание: во вкладке настройка драйверов в столбце "заголовок" сделать переход на мегу при условии что ip прописан в настройках (типа как переходим на редактор vis). `
4. Убрать поле "Сценарий:", если тип датчика DHT11 или DHT22.5. Выход PWM может быть установлен не на всех выходах (Ограничение Atmega 328p)
-
версия 0.2.12
1. поиск так и не заработал.
2. Считывание misc не заработало, так же по прежнему из поля mode считывает.
3. Пожелание: во вкладке настройка драйверов в столбце "заголовок" сделать переход на мегу при условии что ip прописан в настройках (типа как переходим на редактор vis). `
Ничего не понимаю.А можешь прислать wireshark. Как iobroker ищет?
-
версия 0.2.12
1. поиск так и не заработал.
2. Считывание misc не заработало, так же по прежнему из поля mode считывает.
3. Пожелание: во вкладке настройка драйверов в столбце "заголовок" сделать переход на мегу при условии что ip прописан в настройках (типа как переходим на редактор vis). `
4. Убрать поле "Сценарий:", если тип датчика DHT11 или DHT22.5. Выход PWM может быть установлен не на всех выходах (Ограничение Atmega 328p) `
На каких портах можно pwm?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden