Size: a a a

ioBroker smarthome

2019 December 25

S

Sergio in ioBroker smarthome
В описании команд и выяснилось, что у setState 4 параметра, последний колбэк
источник

S

Sergio in ioBroker smarthome
И ещё вопрос в каком смысле используется подтверждение (ack)?
источник

i

instalator in ioBroker smarthome
Sergio
В описании команд и выяснилось, что у setState 4 параметра, последний колбэк
надо смотреть, err точно должен возвращять
источник

i

instalator in ioBroker smarthome
Sergio
И ещё вопрос в каком смысле используется подтверждение (ack)?
это свойство обьекта. Как правило его выставляет драйвер. т.е. означает что устройстов получило команду или ответ пришел именно от устройства
источник

S

Sergio in ioBroker smarthome
Ясно спасибо!
источник

S

Sergio in ioBroker smarthome
А вот с колбеком было бы интересно разобраться, чтоб так сказать обратная связь была, я так понимаю, в это его и есть смысл!
источник

i

instalator in ioBroker smarthome
Sergio
А вот с колбеком было бы интересно разобраться, чтоб так сказать обратная связь была, я так понимаю, в это его и есть смысл!
ну так проверь
источник

i

instalator in ioBroker smarthome
setState('raw', true, (a, b) => {
   log('a = ' + JSON.stringify(a));
   log('b = ' + JSON.stringify(b));
});
источник

i

instalator in ioBroker smarthome
21:17:08.161  info  javascript.0 (451) script.js.ТЕСТОВЫЙ: a = "State \"raw\" not found"
21:17:08.161  info  javascript.0 (451) script.js.ТЕСТОВЫЙ: b = undefined
источник

i

instalator in ioBroker smarthome
setState('test.test', true, (a, b) => {
   log('a = ' + JSON.stringify(a));
   log('b = ' + JSON.stringify(b));
});
источник

i

instalator in ioBroker smarthome
21:17:55.587  info  javascript.0 (451) script.js.ТЕСТОВЫЙ: a = undefined
21:17:55.587  info  javascript.0 (451) script.js.ТЕСТОВЫЙ: b = undefined
источник

i

instalator in ioBroker smarthome
т..е. возвращает err
источник

S

Sergio in ioBroker smarthome
Ясно спасибо!
источник

S

Sergio in ioBroker smarthome
Аск получается для обычного использования особо не нужен
источник

i

instalator in ioBroker smarthome
Sergio
Аск получается для обычного использования особо не нужен
иногда нужен в скриптах, чтобы не зациклится
источник

S

Sergio in ioBroker smarthome
Было бы интересно практический пример его использования, я не нашёл реальных примеров:(
источник

i

instalator in ioBroker smarthome
on({id: 'javascript.0.Rollet.Kitchen.ALL_LED', change: "any"}, function (data){
   //log('Управление светодиодами на шторах кухни - ' + data.state.val);
   if(!data.state.ack){
       setState('mqtt.0.myhome.Kitchen.w1.led', data.state.val);
       setState('mqtt.0.myhome.Kitchen.w2.led', data.state.val);
   }
});
on({id: /.*myhome\.Kitchen\..*\.led$/, change: "ne"}, function (data){
   //log('Управление светодиодами на шторах кухни - ' + data.state.val);
   var led1 = getState('mqtt.0.myhome.Kitchen.w1.led').val;
   var led2 = getState('mqtt.0.myhome.Kitchen.w2.led').val;
   if(led1 || led2){
       setState('javascript.0.Rollet.Kitchen.ALL_LED', {val: true, ack: true} );
   } else if (!led1 && !led2){
       setState('javascript.0.Rollet.Kitchen.ALL_LED', {val: false, ack: true} );
   }
});
источник

В

Вадим in ioBroker smarthome
Спартак К
Ну как бы телега в России запрещена.
решений несколько:
1. Купить VDS на нем поднять свой socks5 прокси
2. Поставить там же где бот прокси и завернуть трафик в Tor
3. Юзать открытые прокси
обратный прокси еще
источник

S

Sergio in ioBroker smarthome
instalator
on({id: 'javascript.0.Rollet.Kitchen.ALL_LED', change: "any"}, function (data){
   //log('Управление светодиодами на шторах кухни - ' + data.state.val);
   if(!data.state.ack){
       setState('mqtt.0.myhome.Kitchen.w1.led', data.state.val);
       setState('mqtt.0.myhome.Kitchen.w2.led', data.state.val);
   }
});
on({id: /.*myhome\.Kitchen\..*\.led$/, change: "ne"}, function (data){
   //log('Управление светодиодами на шторах кухни - ' + data.state.val);
   var led1 = getState('mqtt.0.myhome.Kitchen.w1.led').val;
   var led2 = getState('mqtt.0.myhome.Kitchen.w2.led').val;
   if(led1 || led2){
       setState('javascript.0.Rollet.Kitchen.ALL_LED', {val: true, ack: true} );
   } else if (!led1 && !led2){
       setState('javascript.0.Rollet.Kitchen.ALL_LED', {val: false, ack: true} );
   }
});
Ясно, в каком смысле зациклиттся, спасибо!
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Вадим
обратный прокси еще
есть инструкция как запилить ?
источник