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.
    • V
      Vlad_k last edited by

      2Bluefox

      закинул на git DJONvl/iobroker.ivr

      для работы нужны переменные

      createState('light.1', '');

      createState('light.2', '');

      createState('light.3', '');

      createState('light.4', '');

      пока понимает и интерпретирует фразы управления типа:

      включить или выключить свет в ванной зале детской итп, причем последовательность не имеет значения, проверять на локалхосте

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

        @Vlad_k:

        2Bluefox

        закинул на git DJONvl/iobroker.ivr

        для работы нужны переменные

        createState('light.1', '');

        createState('light.2', '');

        createState('light.3', '');

        createState('light.4', '');

        пока понимает и интерпретирует фразы управления типа:

        включить или выключить свет в ванной зале детской итп, причем последовательность не имеет значения, проверять на локалхосте `
        Отлично. ! Мы доведём драйвер до рабочего вида. Т.к. идея очень интересная. Супер.

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

          сделай в в драйвере телеграм возможность выбора переменной для входящего техта чтоб не только текст2команд можно было отправлять

          1 Reply Last reply Reply Quote 0
          • I
            instalator last edited by

            @Vlad_k:

            сделай в в драйвере телеграм возможность выбора переменной для входящего техта чтоб не только текст2команд можно было отправлять `
            Подпишись на объект скриптом

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

              @instalator:

              Подпишись на объект скриптом `
              ну у меня счас как раз трансляция через скрипт идет а хотелось бы напрямую…

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

                Есть затыки или просто времени нет?

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

                  @Bluefox:

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

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

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

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

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

                  1 Reply Last reply Reply Quote 0
                  • 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

                                            430
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            48
                                            10635
                                            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