Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Iobroker.socketio

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Iobroker.socketio

    This topic has been deleted. Only users with topic management privileges can see it.
    • Bluefox
      Bluefox last edited by

      @Vlad_k:

      @Bluefox:

      Есть затыки или просто времени нет? `
      пробую запустить драйвер на арм системе , перегружается…

      exception: Object включить has no method 'includes'
      

      я так полагаю ругается на

            var val;//todo перенести в юнит
                      if (lower.includes("вклю")) {
                          val = 1;
                      }
                      if (lower.includes("выклю")) {
                          val = 0;
                      }
      

      куда мог деться метод? под виндой работает… `
      Какой тип у lower?

      1 Reply Last reply Reply Quote 0
      • V
        Vlad_k last edited by

        стринговый, пришлось переписать на индексоф чтоб заработало````
        if (lower.indexOf("вклю") !=-1) {

        1 Reply Last reply Reply Quote 0
        • P
          pmaster last edited by

          только начал разбираться с ioBroker. появилось множество вопросов. с ioBroker решил общаться посредством сокетов. т.к. скрипты для дома написаны и работают.

          но вот в брокере ничего не понимаю 😞 первый же вопрос. коннект проходит нормально, отправляю данные типа

          socketIO.emit('sendTo','dataTemp', {'MyData': '256'})

          вижу в логе

          debug socketio.0 sendTo "send" to system.adapter.dataTemp from system.adapter.socketio.0

          вроде что-то приходит. а что дальше делать не понимаю. как данные вывести? отправить какие-то данные обратно (через этот же сокет) ?

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @pmaster:

            только начал разбираться с ioBroker. появилось множество вопросов. с ioBroker решил общаться посредством сокетов. т.к. скрипты для дома написаны и работают.

            но вот в брокере ничего не понимаю 😞 первый же вопрос. коннект проходит нормально, отправляю данные типа

            socketIO.emit('sendTo','dataTemp', {'MyData': '256'})

            вижу в логе

            debug socketio.0 sendTo "send" to system.adapter.dataTemp from system.adapter.socketio.0

            вроде что-то приходит. а что дальше делать не понимаю. как данные вывести? отправить какие-то данные обратно (через этот же сокет) ? `
            Ну надо бы сказать куда sendTo

            socketIO.emit('sendTo', 'sayit.0', 'dataTemp', {'MyData': '256'})

            А это уже видел?

            https://github.com/ioBroker/ioBroker.so … index.html

            https://github.com/ioBroker/ioBroker.socketio#usage

            Чего ты хочешь добиться?

            1 Reply Last reply Reply Quote 0
            • P
              pmaster last edited by

              это уже видел… у меня скрипт на питоне....

              хочу добиться, что бы данные туда сюда летали, от скрипта к брокеру....

              сейчас пробую на mqtt. тут получаю нормально, но отправить не могу...

              http://forum.iobroker.net/viewtopic.php ... 8&start=35

              1 Reply Last reply Reply Quote 0
              • Bluefox
                Bluefox last edited by

                @pmaster:

                это уже видел… у меня скрипт на питоне....

                хочу добиться, что бы данные туда сюда летали, от скрипта к брокеру....

                сейчас пробую на mqtt. тут получаю нормально, но отправить не могу...

                http://forum.iobroker.net/viewtopic.php ... 8&start=35 `
                Вернёмся к нашим бар.. эээ, к websocket-ам. 🙂

                Тебе просто надо написать:

                socketIO.emit('setState', 'javascript.0.dataTemp', 5);
                

                При этом предварительно создав в Javascript драйвере переменную:

                createState('dataTemp');
                
                1 Reply Last reply Reply Quote 0
                • P
                  pmaster last edited by

                  Спасибо. это получилось. идем дальше 🙂

                  на эту переменную я поставил лампочку. присылаю на нее 1 - горит, 0 - не горит. всё отлично

                  нажимаю на на лампочку. по идее обратно должно уходить 1 или 0 ? видимо надо что то еще где то дописать?

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @pmaster:

                    Спасибо. это получилось. идем дальше 🙂

                    на эту переменную я поставил лампочку. присылаю на нее 1 - горит, 0 - не горит. всё отлично

                    нажимаю на на лампочку. по идее обратно должно уходить 1 или 0 ? видимо надо что то еще где то дописать? `
                    Прошу правильнее описывать контекст. Приходится много додумывать:

                    // get all - not recommendet

                    socketIO.emit('subscribe', '*');

                    1 Reply Last reply Reply Quote 0
                    • P
                      pmaster last edited by

                      мысль понял! спасибо. работает.

                      небольшая поправка.

                      socketIO.emit.emit('subscribe', '*'); // не верно

                      socketIO.emit('subscribe', '*'); // верно

                      🙂

                      1 Reply Last reply Reply Quote 0
                      • P
                        pmaster last edited by

                        ну с этим вроде разобрался. теперь встал вопрос по работе с ардуино.

                        там нет команды socketIO.emit(….); но есть команда webSocket.sendTXT(String);

                        так вопрос. как правильно сформировать строку, что бы получился аналог команды

                        socketIO.emit('setState', 'javascript.0.dataTemp', 5); или socketIO.emit('subscribe', 'javascript.0.house.');

                        к примеру?

                        1 Reply Last reply Reply Quote 0
                        • P
                          pmaster last edited by

                          сам спросил, сам отвечу.

                          в моем случае получилось так:

                          webSocket.sendTXT("42["setState","javascript.0.dataTemp",{"val":5}]");

                          1 Reply Last reply Reply Quote 0
                          • Bluefox
                            Bluefox last edited by

                            @pmaster:

                            сам спросил, сам отвечу.

                            в моем случае получилось так:

                            webSocket.sendTXT("42["setState","javascript.0.dachaIN.00.001",{"val":455}]"); `
                            Я бы и не смог помочь. Первый раз вижу такую конструкцию.

                            А чем mqtt или mySensors не угодили?

                            1 Reply Last reply Reply Quote 0
                            • P
                              pmaster last edited by

                              mqtt каждый раз после перезагрузки raspberry (на нем стоит) перестает работать на отдачу с сервера клиенту. приходится удалять ветки, они создаются заново, потом приходится выставлять им флаг "publish" и тогда начинает снова работать до следующей перезагрузки. Почему так я не понял.

                              mySensors не изучал еще не вникал и т.д. а сокетами все работает. нареканий нет.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              798
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

                              4
                              48
                              10578
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo