NEWS
Простейшая логика
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ Я пытался создать сцену для этого/ В свойствах сцены указывал триггер, но оно не работает корректно(минимальное время обновления mqtt - 5 сек). Сразу после срабатывания триггера желаемый контакт меняет значение, но на долю секунды и реле не успевает сработать. Подскажите как реализовать желаемое) Заранее благодарен) Ps: на geektimes в комментах BlueFox упоминал blockly как среду визуального программирования, но полазив по немецкой ветке с переводчиком я так понял, что он его только запиливает… Или я что-то упустил? Про Node-Red я молчу/ по мне так штука бесполезная/ ни мануальв ни разьяснений в инете я не нашел/ помоему в целях автоматизации дома он бесполезен/ Если не прав - давайте обсудим) Кому интересно вот статья https://geektimes.ru/post/277154/ 
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ Я пытался создать сцену для этого/ В свойствах сцены указывал триггер, но оно не работает корректно(минимальное время обновления mqtt - 5 сек). Сразу после срабатывания триггера желаемый контакт меняет значение, но на долю секунды и реле не успевает сработать. Подскажите как реализовать желаемое) Заранее благодарен) Ps: на geektimes в комментах BlueFox упоминал blockly как среду визуального программирования, но полазив по немецкой ветке с переводчиком я так понял, что он его только запиливает… Или я что-то упустил? Про Node-Red я молчу/ по мне так штука бесполезная/ ни мануальв ни разьяснений в инете я не нашел/ помоему в целях автоматизации дома он бесполезен/ Если не прав - давайте обсудим) Кому интересно вот статья https://geektimes.ru/post/277154/ ` 
 Но ты вполне можешь его установить написав 4 строчки:cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.javascript/tarball/master iobroker upload javascript iobroker start javascriptПосле обновления в браузере должен blockly появится 
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ Я пытался создать сцену для этого/ В свойствах сцены указывал триггер, но оно не работает корректно(минимальное время обновления mqtt - 5 сек). Сразу после срабатывания триггера желаемый контакт меняет значение, но на долю секунды и реле не успевает сработать. Подскажите как реализовать желаемое) Заранее благодарен) Ps: на geektimes в комментах BlueFox упоминал blockly как среду визуального программирования, но полазив по немецкой ветке с переводчиком я так понял, что он его только запиливает… Или я что-то упустил? Про Node-Red я молчу/ по мне так штука бесполезная/ ни мануальв ни разьяснений в инете я не нашел/ помоему в целях автоматизации дома он бесполезен/ Если не прав - давайте обсудим) Кому интересно вот статья https://geektimes.ru/post/277154/ ` 
 Но ты вполне можешь его установить написав 4 строчки:cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.javascript/tarball/master iobroker upload javascript iobroker start javascriptПосле обновления в браузере должен blockly появится ` Сделал. А куда смотреть теперь? Последняя команда выдает ошибку root@orangepipc:/opt/iobroker# iobroker start javascript events.js:141 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE :::9001 at Object.exports._errnoException (util.js:873:11) at exports._exceptionWithHostPort (util.js:896:20) at Server._listen2 (net.js:1250:14) at listen (net.js:1286:10) at Server.listen (net.js:1382:5) at _initWebServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:2634:24) at /opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:147:9 at new ObjectsInMemServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:154:7) at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2406:27) at Timer.listOnTimeout (timers.js:92:15) Все))) Завелось)) Спасибо) Сделал эти команды/ после чего в консоли iobroker stop/start - после iobroker upload javascript iobroker start javascript Обновил браузер. В разделе со скриптами создал новый скрипт и blockly загрузился) буду изучать) 
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ Я пытался создать сцену для этого/ В свойствах сцены указывал триггер, но оно не работает корректно(минимальное время обновления mqtt - 5 сек). Сразу после срабатывания триггера желаемый контакт меняет значение, но на долю секунды и реле не успевает сработать. Подскажите как реализовать желаемое) Заранее благодарен) Ps: на geektimes в комментах BlueFox упоминал blockly как среду визуального программирования, но полазив по немецкой ветке с переводчиком я так понял, что он его только запиливает… Или я что-то упустил? Про Node-Red я молчу/ по мне так штука бесполезная/ ни мануальв ни разьяснений в инете я не нашел/ помоему в целях автоматизации дома он бесполезен/ Если не прав - давайте обсудим) Кому интересно вот статья https://geektimes.ru/post/277154/ ` 
 Но ты вполне можешь его установить написав 4 строчки:cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.javascript/tarball/master iobroker upload javascript iobroker start javascriptПосле обновления в браузере должен blockly появится ` Сделал. А куда смотреть теперь? ` 
 На вкладку скрипты
 48_2016-07-27_21_14_23-pi_raspberrypi___.png
- 
					
					
					
					
 Но ты вполне можешь его установить написав 4 строчки: cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.javascript/tarball/master iobroker upload javascript iobroker start javascriptПосле обновления в браузере должен blockly появится ` Сделал. А куда смотреть теперь? На вкладку скрипты
 Сделал) Все работает) спасибо
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ ` Па пробуй вот это http://www.ab-log.ru/forum/viewtopic.php?f=1&t=1130 в iobroker через megad драйвер http://forum.iobroker.net/viewtopic.php?f=16&t=2722 Там можно сразу сценарий прописать, если сервер отвалится выполнит что пропишите. А для iobroker скриптик on('megad.3.p3_P3', function (obj) { if (obj.newState.val === true && getState('megad.3.p7_P7').val === false) { setState ('megad.3.p7_P7', true); } else if(obj.newState.val === false && getState('megad.3.p7_P7').val === true){ setState ('megad.3.p7_P7', false); } });
- 
					
					
					
					
 Сделал. А куда смотреть теперь? На вкладку скрипты
 Сделал) Все работает) спасибо `
 Я только что добавил блоки в javascript. Проделай ту же процедуру ещё раз.
- 
					
					
					
					
 Добрый день! Подскажите знающие люди можно ли создавать правила логики чем нибудь помимо скриптов? Языка я не знаю(да и времени особо нет разбираться) поэтому для меня это создает неудобства( Задача для начала самая тривиальная: Есть у меня Esp, датчик движения и лампочка и реле) Я хочу чтобы по сигналу от датчика движения загоралась лампа/ ` Па пробуй вот это http://www.ab-log.ru/forum/viewtopic.php?f=1&t=1130 в iobroker через megad драйвер http://forum.iobroker.net/viewtopic.php?f=16&t=2722 Там можно сразу сценарий прописать, если сервер отвалится выполнит что пропишите. А для iobroker скриптик on('megad.3.p3_P3', function (obj) { if (obj.newState.val === true && getState('megad.3.p7_P7').val === false) { setState ('megad.3.p7_P7', true); } else if(obj.newState.val === false && getState('megad.3.p7_P7').val === true){ setState ('megad.3.p7_P7', false); } }); ```` `Спасибо Вам за наводку) Но к сожалению меня не впечатлило/ Думаю что оригинальная железка работает намного лучше/ А на Esp это прошивка грузится через раз, постоянно отваливается, и вообще чтото сама по себе творит/ в админку пройти с 3 раза удается…. На данный момент ничего лучше http://wifi-iot.com/ не пробовал/ стоит 110 рублей за лицензию на одно устройство/ и куча радостей из коробки(не сочтите за рекламу. продукт реально стоящий) Остановлюсь на связке iobroker + mqtt 
- 
					
					
					
					
 Спасибо Вам за наводку) Но к сожалению меня не впечатлило/ Думаю что оригинальная железка работает намного лучше/ А на Esp это прошивка грузится через раз, постоянно отваливается, и вообще чтото сама по себе творит/ в админку пройти с 3 раза удается…. ` По дому работает на данный момент 5 устройств, без перебойно 24часа, на нескольких (в светильниках) ещё даже старые прошивки. Даже рядом не наблюдаю описанных вами глюков, всё работает чётко.  
- 
					
					
					
					
 Спасибо Вам за наводку) Но к сожалению меня не впечатлило/ Думаю что оригинальная железка работает намного лучше/ А на Esp это прошивка грузится через раз, постоянно отваливается, и вообще чтото сама по себе творит/ в админку пройти с 3 раза удается…. ` По дому работает на данный момент 5 устройств, без перебойно 24часа, на нескольких (в светильниках) ещё даже старые прошивки. Даже рядом не наблюдаю описанных вами глюков, всё работает чётко.  ` `Может я что не так делал? Делал так: прошил на esp 0.3.2 настроил wifi настроил мега адептер и тут самое интересное - считал значения с устройства? - будь добр перезагрузи его чтобы адаптер с ним соединился записал значения на устройство? - перезагрузи Часто меняешь значения параметров? перезагрузи Ну в общем не стабильно все как-то( ну или я криворукий) Были у меня большие надежды на эту прошивку т.к. хочу в перспективе купить настоящие megaD. Видимо буду сам собирать подобие MegaD на ардуине с сетевым модулем. 
- 
					
					
					
					
 Спасибо Вам за наводку) Но к сожалению меня не впечатлило/ Думаю что оригинальная железка работает намного лучше/ А на Esp это прошивка грузится через раз, постоянно отваливается, и вообще чтото сама по себе творит/ в админку пройти с 3 раза удается…. ` По дому работает на данный момент 5 устройств, без перебойно 24часа, на нескольких (в светильниках) ещё даже старые прошивки. Даже рядом не наблюдаю описанных вами глюков, всё работает чётко.  ` `Может я что не так делал? Делал так: прошил на esp 0.3.2 настроил wifi настроил мега адептер и тут самое интересное - считал значения с устройства? - будь добр перезагрузи его чтобы адаптер с ним соединился записал значения на устройство? - перезагрузи Часто меняешь значения параметров? перезагрузи Ну в общем не стабильно все как-то( ну или я криворукий) Были у меня большие надежды на эту прошивку т.к. хочу в перспективе купить настоящие megaD. Видимо буду сам собирать подобие MegaD на ардуине с сетевым модулем. ` Аха уже надо :lol: Драйвер Megad не для этого устройства, автор MegadESP использует api MegaD-328 + фишки Заполнять нужно руками, читайте тему http://forum.iobroker.net/viewtopic.php?f=16&t=2722 
- 
					
					
					
					
 Создал такой скрипт```` 
 on('megad.0.p0_P0', function (obj) {
 if (obj.newState.val < 32 && getState('megad.0.p13_P13').val === false) {
 log('Включаем нагрев');
 setState ('megad.0.p13_P13', true);
 }
 else if(obj.newState.val > 32 && getState('megad.0.p13_P13').val === true){
 log('Выключаем нагрев');
 setState ('megad.0.p13_P13', false);
 }
 });выполняет роль термостата если температура ниже 32 то на вызоде P13 включено, если меньше - то выключено. Есть такой красивый элемент в HQwidgets - inner temperarure Допустим в поле "ID актуальной температуры:" написано: need_Temp1 Как привязать "ID актуальной температуры:" с условием в скрипте?
- 
					
					
					
					
 Создал такой скрипт```` 
 on('megad.0.p0_P0', function (obj) {
 if (obj.newState.val < 32 && getState('megad.0.p13_P13').val === false) {
 log('Включаем нагрев');
 setState ('megad.0.p13_P13', true);
 }
 else if(obj.newState.val > 32 && getState('megad.0.p13_P13').val === true){
 log('Выключаем нагрев');
 setState ('megad.0.p13_P13', false);
 }
 });выполняет роль термостата если температура ниже 32 то на вызоде P13 включено, если меньше - то выключено. Есть такой красивый элемент в HQwidgets - inner temperarure Допустим в поле "ID актуальной температуры:" написано: need_Temp1 Как привязать "ID актуальной температуры:" с условием в скрипте? `Что такое "need_Temp1" ? Это то куда будет писаться 32? 
- 
					
					
					
					
 Создал такой скрипт```` 
 on('megad.0.p0_P0', function (obj) {
 if (obj.newState.val < 32 && getState('megad.0.p13_P13').val === false) {
 log('Включаем нагрев');
 setState ('megad.0.p13_P13', true);
 }
 else if(obj.newState.val > 32 && getState('megad.0.p13_P13').val === true){
 log('Выключаем нагрев');
 setState ('megad.0.p13_P13', false);
 }
 });выполняет роль термостата если температура ниже 32 то на вызоде P13 включено, если меньше - то выключено. Есть такой красивый элемент в HQwidgets - inner temperarure Допустим в поле "ID актуальной температуры:" написано: need_Temp1 Как привязать "ID актуальной температуры:" с условием в скрипте? `Что такое "need_Temp1" ? Это то куда будет писаться 32? ` 
 Это я просто ввел сам руками, как это было сделано в DemoView версии с лампочками.Подразумевалось, что это будет та температура, которая будет задаваться крутилкой в виджете. В скрипте она сейчас жестко привязана и равна 32. Хочется это значение менять в виджете, а что-бы оно само менялось в скрипте. Получается в виджете "HQwidgets - inner temperarure" нельзя установить желаемую температуру (крутилкой)? И отображать реальную температуру внутри кружка, как это сделано с влажностью? Тогда для чего там есть маленькое серое поле вверху справа? Там еже и объект "Вентель есть" :-). Что-то тяжеловато методом "тыка" осваивать возможности виджетов. PS: немного разобрался… Прописываю в : ID объекта: - need_temp1 (вписываю руками) ID влажности: - megad.0.p1_P1_humidity ID актуальной температуры: - megad.0.p0_P0 Необходимо передать значение need_temp1 в скрипт (вместо значения 32 в условии). 
- 
					
					
					
					
 Создал такой скрипт```` 
 on('megad.0.p0_P0', function (obj) {
 if (obj.newState.val < 32 && getState('megad.0.p13_P13').val === false) {
 log('Включаем нагрев');
 setState ('megad.0.p13_P13', true);
 }
 else if(obj.newState.val > 32 && getState('megad.0.p13_P13').val === true){
 log('Выключаем нагрев');
 setState ('megad.0.p13_P13', false);
 }
 });выполняет роль термостата если температура ниже 32 то на вызоде P13 включено, если меньше - то выключено. Есть такой красивый элемент в HQwidgets - inner temperarure Допустим в поле "ID актуальной температуры:" написано: need_Temp1 Как привязать "ID актуальной температуры:" с условием в скрипте? `Что такое "need_Temp1" ? Это то куда будет писаться 32? ` 
 Это я просто ввел сам руками, как это было сделано в DemoView версии с лампочками.Подразумевалось, что это будет та температура, которая будет задаваться крутилкой в виджете. В скрипте она сейчас жестко привязана и равна 32. Хочется это значение менять в виджете, а что-бы оно само менялось в скрипте. Получается в виджете "HQwidgets - inner temperarure" нельзя установить желаемую температуру (крутилкой)? И отображать реальную температуру внутри кружка, как это сделано с влажностью? Тогда для чего там есть маленькое серое поле вверху справа? Там еже и объект "Вентель есть" :-). Что-то тяжеловато методом "тыка" осваивать возможности виджетов. PS: немного разобрался… Прописываю в : ID объекта: - need_temp1 (вписываю руками) ID влажности: - megad.0.p1_P1_humidity ID актуальной температуры: - megad.0.p0_P0 Необходимо передать значение need_temp1 в скрипт (вместо значения 32 в условии). ` function checkTemperature () { if (getState('megad.0.p0_P0').val < getState('need_temp1').val - 2 && getState('megad.0.p13_P13').val === false) { log('Включаем нагрев'); setState ('megad.0.p13_P13', true); } else if(getState('megad.0.p0_P0').val > getState('need_temp1').val && getState('megad.0.p13_P13').val === true){ log('Выключаем нагрев'); setState ('megad.0.p13_P13', false); } } createState('need_temp1', function () { on('need_temp1', checkTemperature); }); on('megad.0.p0_P0', checkTemperature);в vis использовать ID: javascript.0.need_temp1 И тебе надо встроить гистерезис, а то при температуре в например 32 у тебя будет насос туда сюда постоянно включаться. 
- 
					
					
					
					
 Пытаюсь в Blokly состряпать скрипт управления релюшкой в зависимости от сенсора качества воздуха. Почему то не хочет управлять. В Обьектах меняю 3.1_LIGHT.V_STATUS на true-false, релюшка работает. Подскажите, где я не прав… 
 1502_iobroker-1.jpeg
 1502_iobroker-2.jpeg
- 
					
					
					
					
 Пытаюсь в Bloskly состряпать скрипт управления релюшкой в зависимости от сенсора качества воздуха. Почему то не хочет управлять. В Обьектах меняю 3.1_LIGHT.V_STATUS на true-false, релюшка работает. Подскажите, где я не прав… ` 
 А не пробовал вместо 1/0 использовать true/false. Это другой блок из логики.
- 
					
					
					
					
 Пробовал, тож не реагирует. Из VIS прекрастно релюшка управляется. 
- 
					
					
					
					
 Ну тут надо появиться смекалку и проверить части по отдельности. Сначала просто вызвать "установить " без триггера. Если идет, то встроить дебаг в триггер и посмотреть печатается ли что нибудь. 
- 
					
					
					
					
 Получается условия больше, меньше и равно не хотят работать  
 1502_iobroker-3.jpeg
 
		
	 
		
	