NEWS
Iobroker.socketio
-
только начал разбираться с ioBroker. появилось множество вопросов. с ioBroker решил общаться посредством сокетов. т.к. скрипты для дома написаны и работают.
но вот в брокере ничего не понимаю первый же вопрос. коннект проходит нормально, отправляю данные типа
socketIO.emit('sendTo','dataTemp', {'MyData': '256'})
вижу в логе
debug socketio.0 sendTo "send" to system.adapter.dataTemp from system.adapter.socketio.0
вроде что-то приходит. а что дальше делать не понимаю. как данные вывести? отправить какие-то данные обратно (через этот же сокет) ? `
Ну надо бы сказать куда sendTosocketIO.emit('sendTo', 'sayit.0', 'dataTemp', {'MyData': '256'})
А это уже видел?
https://github.com/ioBroker/ioBroker.so … index.html
https://github.com/ioBroker/ioBroker.socketio#usage
Чего ты хочешь добиться?
-
это уже видел… у меня скрипт на питоне....
хочу добиться, что бы данные туда сюда летали, от скрипта к брокеру....
сейчас пробую на mqtt. тут получаю нормально, но отправить не могу...
-
это уже видел… у меня скрипт на питоне....
хочу добиться, что бы данные туда сюда летали, от скрипта к брокеру....
сейчас пробую на mqtt. тут получаю нормально, но отправить не могу...
http://forum.iobroker.net/viewtopic.php ... 8&start=35 `
Вернёмся к нашим бар.. эээ, к websocket-ам.Тебе просто надо написать:
socketIO.emit('setState', 'javascript.0.dataTemp', 5);
При этом предварительно создав в Javascript драйвере переменную:
createState('dataTemp');
-
Спасибо. это получилось. идем дальше
на эту переменную я поставил лампочку. присылаю на нее 1 - горит, 0 - не горит. всё отлично
нажимаю на на лампочку. по идее обратно должно уходить 1 или 0 ? видимо надо что то еще где то дописать?
-
Спасибо. это получилось. идем дальше
на эту переменную я поставил лампочку. присылаю на нее 1 - горит, 0 - не горит. всё отлично
нажимаю на на лампочку. по идее обратно должно уходить 1 или 0 ? видимо надо что то еще где то дописать? `
Прошу правильнее описывать контекст. Приходится много додумывать:// get all - not recommendet
socketIO.emit('subscribe', '*');
-
мысль понял! спасибо. работает.
небольшая поправка.
socketIO.emit.emit('subscribe', '*'); // не верно
socketIO.emit('subscribe', '*'); // верно
-
ну с этим вроде разобрался. теперь встал вопрос по работе с ардуино.
там нет команды socketIO.emit(….); но есть команда webSocket.sendTXT(String);
так вопрос. как правильно сформировать строку, что бы получился аналог команды
socketIO.emit('setState', 'javascript.0.dataTemp', 5); или socketIO.emit('subscribe', 'javascript.0.house.');
к примеру?
-
сам спросил, сам отвечу.
в моем случае получилось так:
webSocket.sendTXT("42["setState","javascript.0.dataTemp",{"val":5}]");
-
сам спросил, сам отвечу.
в моем случае получилось так:
webSocket.sendTXT("42["setState","javascript.0.dachaIN.00.001",{"val":455}]"); `
Я бы и не смог помочь. Первый раз вижу такую конструкцию.А чем mqtt или mySensors не угодили?
-
mqtt каждый раз после перезагрузки raspberry (на нем стоит) перестает работать на отдачу с сервера клиенту. приходится удалять ветки, они создаются заново, потом приходится выставлять им флаг "publish" и тогда начинает снова работать до следующей перезагрузки. Почему так я не понял.
mySensors не изучал еще не вникал и т.д. а сокетами все работает. нареканий нет.