Navigation

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

    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.hilink

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

      Драйвер для USB модемов Huawei с прошивками Hilink.

      Совместимость E3372 (МТС 827F/829F, МегаФон M150-2, Билайн E3372/E3370, TELE2 E3372р-153

      • подключение, отключение от сети и перезагрузка модема

      • чтение входящих и исходящих сообщений.

      • отправка сообщений.

      • отправка ussd запросов.

      • получение основных параметров модема, информация о трафике.

      https://github.com/bondrogeen/iobroker.hilink

      Настройки драйвера:

      • установка ip адреса модема

      • интервал опроса [мс]

      • выбор отображение статистики трафика стандартное в битах или автоматически (B, KB, MB, GB, TB,)

      ! 380_2.jpg

      Вывод основных данных в iobroker.

      ! 380_1.jpg

      //  Подключение 'conect', отключение 'desconect' от сети и перезагрузка модема 'reboot'
      
      sendTo("hilink.0",'control','reboot',function (response){
          log(JSON.stringify( response, null, 2 ));
      });
      
      sendTo("hilink.0",'control','conect');
      
      // отправка сообщения
      sendTo("hilink.0",'send',{
          phone:  '+7123456789', // номер телефона
          message:  'Проверка работы' // текст сообщение
          },function (response){
          log(JSON.stringify( response, null, 2 ));
      });
      
      sendTo("hilink.0",'send',{phone:'+7123456789',message:  'Проверка работы'});
      
      // чтение сообщений 
      sendTo("hilink.0",'read','inbox',function (response){
           log(JSON.stringify( response, null, 2 ));
      });
      
      /*
      'inbox' входящих, 
      'outbox' исходящих, 
      'new' чтение входящих только новые сообщение 
      */
      
      //отправка ussd запроса
      sendTo("hilink.0",'ussd','*100#',function (response){
           log(JSON.stringify( response, null, 2 ));
      });
      
      // удаление одного сообщения с индексом '40002'
      sendTo("hilink.0",'delete','40002',function (response){
           log(JSON.stringify( response, null, 2 ));
      });
      
      // очистка всех 'outbox' исходящих, 'inbox' входящих сообщений
      sendTo("hilink.0",'clear','outbox',function (response){
           log(JSON.stringify( response, null, 2 ));
      });
      
      // изменить статус 'all' всех  сообщений на прочитанные или если указать '40002' индекс, только одного
      sendTo("hilink.0",'setRead','all',function (response){
          log(JSON.stringify( response, null, 2 ));
      });
      
      sendTo("hilink.0",'setRead','40002');
      
      
      1 Reply Last reply Reply Quote 0
      • I
        instalator last edited by

        @bondrogeen:

        Пытаюсь написать драйвер для модема huawei c hilink прошивками.

        Сделал пакет на nodejs https://www.npmjs.com/package/hilinkhuawei

        Реализовано: получение основных параметров от модема, отправка и чтение смс, ussd, подкл. откл. от сети, перезагрузка модема.

        Добавил его в драйвер, пока вот, что получилось - https://github.com/bondrogeen/iobroker.hilink

        Реализовано в драйвере: установка ip адреса модема и выбор отображение статистики трафика стандартное в битах или автоматически (B, KB, MB, GB, TB,)

        ! 2.jpg

        Вывод основных данных в iobroker.

        ! 1.jpg

        На данный момент все только на начальном уровне.

        Разбираюсь во всех нюансах создания драйвера.

        Есть пару вопросов:

        1. С какой максимальной частотой можно отправлять данный iobroker? (это для общего понимание)

        2. Какая оптимальная частота для обновление данных?

        3. Как подружить драйвер с драйвером javascript? `
          Сделай время опроса настраиваемое через настройки.

        А в настройках можно будет задавать параметры подключения к ОпСоСу?

        1 Reply Last reply Reply Quote 0
        • B
          bondrogeen last edited by

          @instalator:

          Сделай время опроса настраиваемое через настройки.

          А в настройках можно будет задавать параметры подключения к ОпСоСу? `

          Основные настройки задаются через web интерфейс модема.

          Я только хочу реализовать получение данных от модема и канал дополнительный канал оповещения через смс, в случаи отсутствия интернета или тревоги.

          Какие параметры ? apn ?

          или

          время подключение и отключение ?

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

            @bondrogeen:

            @instalator:

            Сделай время опроса настраиваемое через настройки.

            А в настройках можно будет задавать параметры подключения к ОпСоСу? `

            Основные настройки задаются через web интерфейс модема.

            Я только хочу реализовать получение данных от модема и канал дополнительный канал оповещения через смс, в случаи отсутствия интернета или тревоги.

            Какие параметры ? apn ?

            или

            время подключение и отключение ? `
            АПН, логин пароль… номер телефона для дозвона.

            если хочешь смс слать из javascript я тебе пул реквест маленький послал.

            а в драйвере за это отвечает код:

            ! ````
            adapter.on('message', function (obj) {
            if (typeof obj == 'object' && obj.message) {
            if (obj.command == 'send') {
            // e.g. send email or pushover or whatever
            console.log('send command');
            ! // Send response in callback if required
            if (obj.callback) adapter.sendTo(obj.from, obj.command, 'Message received', obj.callback);
            }
            }
            });

            в скрипте надо будет писать примерно так:
            

            sendTo("hilink.0", {
            phone: '+71231233214', //Номер телефона кому шлем смс
            message: 'Нет связи, работаем через модем', //Текст сообщения
            });

            1 Reply Last reply Reply Quote 0
            • B
              bondrogeen last edited by

              @instalator:

              @bondrogeen:

              @instalator:

              Сделай время опроса настраиваемое через настройки.

              А в настройках можно будет задавать параметры подключения к ОпСоСу? `

              Основные настройки задаются через web интерфейс модема.

              Я только хочу реализовать получение данных от модема и канал дополнительный канал оповещения через смс, в случаи отсутствия интернета или тревоги.

              Какие параметры ? apn ?

              или

              время подключение и отключение ? `
              АПН, логин пароль… номер телефона для дозвона.

              если хочешь смс слать из javascript я тебе пул реквест маленький послал.

              а в драйвере за это отвечает код:

              ! ````
              adapter.on('message', function (obj) {
              if (typeof obj == 'object' && obj.message) {
              if (obj.command == 'send') {
              // e.g. send email or pushover or whatever
              console.log('send command');
              ! // Send response in callback if required
              if (obj.callback) adapter.sendTo(obj.from, obj.command, 'Message received', obj.callback);
              }
              }
              });

              в скрипте надо будет писать примерно так:
              

              sendTo("hilink.0", {
              phone: '+71231233214', //Номер телефона кому шлем смс
              message: 'Нет связи, работаем через модем', //Текст сообщения
              });
              ```` `

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

              а вот команды для подключение и отключения и перезагрузки

              сделаю

              Сейчас это реализовано в node вот так

              Подключиться к сети ('conect',callback)

              Отключиться от сети ('desconect',callback)

              Перезагрузка модема ('reboot',callback)

              hilink.control('conect',function(response ){ console.log( JSON.stringify( response, null, 2 ) ); });

              Ответ: *

              { response: 'OK' }

              Только как из правильно реализовать управление, допустим из виджета создать переменную "control" и отслеживать ее?

              Например пришло изменении переменной значение "reboot" отправили в перезагрузку пришло "conect" - подключились

              или есть какие-то другие способы?

              по javascript понял, буду разбираться, спасибо.

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

                @bondrogeen:

                @instalator:

                @bondrogeen:

                Основные настройки задаются через web интерфейс модема.

                Я только хочу реализовать получение данных от модема и канал дополнительный канал оповещения через смс, в случаи отсутствия интернета или тревоги.

                Какие параметры ? apn ?

                или

                время подключение и отключение ? `
                АПН, логин пароль… номер телефона для дозвона.

                если хочешь смс слать из javascript я тебе пул реквест маленький послал.

                а в драйвере за это отвечает код:

                ! ````
                adapter.on('message', function (obj) {
                if (typeof obj == 'object' && obj.message) {
                if (obj.command == 'send') {
                // e.g. send email or pushover or whatever
                console.log('send command');
                ! // Send response in callback if required
                if (obj.callback) adapter.sendTo(obj.from, obj.command, 'Message received', obj.callback);
                }
                }
                });

                в скрипте надо будет писать примерно так:
                

                sendTo("hilink.0", {
                phone: '+71231233214', //Номер телефона кому шлем смс
                message: 'Нет связи, работаем через модем', //Текст сообщения
                });
                ```` `

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

                а вот команды для подключение и отключения и перезагрузки

                сделаю

                Сейчас это реализовано в node вот так

                Подключиться к сети ('conect',callback)

                Отключиться от сети ('desconect',callback)

                Перезагрузка модема ('reboot',callback)

                hilink.control('conect',function(response ){ console.log( JSON.stringify( response, null, 2 ) ); });

                Ответ: *

                { response: 'OK' }

                Только как из правильно реализовать управление, допустим из виджета создать переменную "control" и отслеживать ее?

                Например пришло изменении переменной значение "reboot" отправили в перезагрузку пришло "conect" - подключились

                или есть какие-то другие способы?

                по javascript понял, буду разбираться, спасибо. ` так через объекты в драйвере. Драйвер же может подписаться на свои объекты

                1 Reply Last reply Reply Quote 0
                • B
                  bondrogeen last edited by

                  еще вопрос по поводу хранения смс в iobroker

                  как это можно реализовать, историю, хранить все смс в одной переменной json или разбивать на отдельные смс и с помощью, допустим History, хранить и там?

                  это для реализации в виджете

                  { "response": [

                  { "Smstat": "0", "Index": "40010", "Phone": "+123456789", "Content": "test text", "Date": "2017-02-25 20:37:53", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" },

                  { "Smstat": "0", "Index": "40009", "Phone": "+123456789", "Content": "test text", "Date": "2017-02-25 20:37:50", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" },

                  { "Smstat": "0", "Index": "40008", "Phone": "+123456789", "Content": "test new sms", "Date": "2017-02-25 20:37:47", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" } ],

                  "Count": 3 }

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

                    @bondrogeen:

                    еще вопрос по поводу хранения смс в iobroker

                    как это можно реализовать, историю, хранить все смс в одной переменной json или разбивать на отдельные смс и с помощью, допустим History, хранить и там?

                    это для реализации в виджете

                    { "response": [

                    { "Smstat": "0", "Index": "40010", "Phone": "+123456789", "Content": "test text", "Date": "2017-02-25 20:37:53", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" },

                    { "Smstat": "0", "Index": "40009", "Phone": "+123456789", "Content": "test text", "Date": "2017-02-25 20:37:50", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" },

                    { "Smstat": "0", "Index": "40008", "Phone": "+123456789", "Content": "test new sms", "Date": "2017-02-25 20:37:47", "Sca": "", "SaveType": "4", "Priority": "0", "SmsType": "1" } ],

                    "Count": 3 } ` если список небольшой то json, а если большой то можно из базы данных вытягивать запросом.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bondrogeen last edited by

                      Добавил в настройки интервал опроса.

                      Интегрировал с javascript.

                      Добавил к общее информации последнее смс

                      380_3.jpg

                      1 Reply Last reply Reply Quote 0
                      • F
                        fedotov_andrey last edited by

                        не отправляются сообщения.

                        Остальные команды отрабатывают нормально.

                        В логах ошибок нет.

                        Куда смотреть? :lol:

                        1 Reply Last reply Reply Quote 0
                        • I
                          ivan.cc last edited by

                          Установил драйвер, указал IP модема, но логи постоянно забиты error'ами.

                          ! ````
                          host.Fazenda 2018-12-25 12:51:34.039 info Restart adapter system.adapter.hilink.0 because enabled
                          host.Fazenda 2018-12-25 12:51:34.038 error instance system.adapter.hilink.0 terminated with code 0 (OK)
                          host.Fazenda 2018-12-25 12:51:34.038 error Caught by controller[2]: at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:322:31)
                          host.Fazenda 2018-12-25 12:51:34.038 error Caught by controller[2]: at SAXParser.write (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:1436:13)
                          host.Fazenda 2018-12-25 12:51:34.038 error Caught by controller[2]: at closeTag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:889:7)
                          host.Fazenda 2018-12-25 12:51:34.038 error Caught by controller[2]: at emitNode (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:629:5)
                          host.Fazenda 2018-12-25 12:51:34.038 error Caught by controller[2]: at emit (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:624:35)
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: at SAXParser.onclosetag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:261:26)
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: at Parser.emit (events.js:182:13)
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: at Parser. <anonymous>(/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:303:18)
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:494:25
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:696:35
                          host.Fazenda 2018-12-25 12:51:34.037 error Caught by controller[2]: TypeError: Cannot read property 'MonthDuration' of undefined
                          host.Fazenda 2018-12-25 12:51:34.036 error Caught by controller[1]: at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:322:31)
                          host.Fazenda 2018-12-25 12:51:34.036 error Caught by controller[1]: at SAXParser.write (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:1436:13)
                          host.Fazenda 2018-12-25 12:51:34.036 error Caught by controller[1]: at closeTag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:889:7)
                          host.Fazenda 2018-12-25 12:51:34.036 error Caught by controller[1]: at emitNode (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:629:5)
                          host.Fazenda 2018-12-25 12:51:34.036 error Caught by controller[1]: at emit (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:624:35)
                          host.Fazenda 2018-12-25 12:51:34.035 error Caught by controller[1]: at SAXParser.onclosetag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:261:26)
                          host.Fazenda 2018-12-25 12:51:34.035 error Caught by controller[1]: at Parser.emit (events.js:182:13)
                          host.Fazenda 2018-12-25 12:51:34.035 error Caught by controller[1]: at Parser. <anonymous>(/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:303:18)
                          host.Fazenda 2018-12-25 12:51:34.035 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:494:25
                          host.Fazenda 2018-12-25 12:51:34.035 error Caught by controller[1]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:711:35
                          host.Fazenda 2018-12-25 12:51:34.034 error Caught by controller[1]: TypeError: Cannot read property 'CurrentConnectTime' of undefined
                          host.Fazenda 2018-12-25 12:51:34.034 error Caught by controller[0]: at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:322:31)
                          host.Fazenda 2018-12-25 12:51:34.034 error Caught by controller[0]: at SAXParser.write (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:1436:13)
                          host.Fazenda 2018-12-25 12:51:34.034 error Caught by controller[0]: at closeTag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:889:7)
                          host.Fazenda 2018-12-25 12:51:34.034 error Caught by controller[0]: at emitNode (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:629:5)
                          host.Fazenda 2018-12-25 12:51:34.033 error Caught by controller[0]: at emit (/opt/iobroker/node_modules/iobroker.hilink/node_modules/sax/lib/sax.js:624:35)
                          host.Fazenda 2018-12-25 12:51:34.033 error Caught by controller[0]: at SAXParser.onclosetag (/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:261:26)
                          host.Fazenda 2018-12-25 12:51:34.033 error Caught by controller[0]: at Parser.emit (events.js:182:13)
                          host.Fazenda 2018-12-25 12:51:34.033 error Caught by controller[0]: at Parser. <anonymous>(/opt/iobroker/node_modules/iobroker.hilink/node_modules/xml2js/lib/parser.js:303:18)
                          host.Fazenda 2018-12-25 12:51:34.032 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:494:25
                          host.Fazenda 2018-12-25 12:51:34.032 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.hilink/node_modules/hilinkhuawei/bin/hilink.js:554:44
                          host.Fazenda 2018-12-25 12:51:34.031 error Caught by controller[0]: TypeError: Cannot read property 'CurrentNetworkType' of undefined
                          hilink.0 2018-12-25 12:50:33.804 info config model: 3372s
                          hilink.0 2018-12-25 12:50:33.804 info config setTest: true
                          hilink.0 2018-12-25 12:50:33.804 info config settime: 60
                          hilink.0 2018-12-25 12:50:33.804 info config trafficInfo: auto
                          hilink.0 2018-12-25 12:50:33.804 info config getip: 192.168.2.1
                          hilink.0 2018-12-25 12:50:33.803 info starting. Version 0.2.8 in /opt/iobroker/node_modules/iobroker.hilink, node: v10.9.0
                          host.Fazenda 2018-12-25 12:50:31.946 info instance system.adapter.hilink.0 started with pid 11938
                          host.Fazenda 2018-12-25 12:50:01.906 info Restart adapter system.adapter.hilink.0 because enabled</anonymous></anonymous></anonymous>

                          
                          ioBroker установлен на Orange Pi PC с системой ARMBIAN 5.38 stable Ubuntu 16.04.5 LTS 3.4.113-sun8i, NODE версии 10.9.0, ioBroker версии 1.4.2, ioBroker.Admin версии 3.5.1.
                          
                          Куда копать для исправления ошибок?
                          1 Reply Last reply Reply Quote 0
                          • I
                            ivan.cc last edited by

                            После общения с автором драйвера выяснилось, что для модема E3272, нужно в настройках указать модем E3272h (я указывал E3272s)/ Теперь все работает.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            851
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            4
                            12
                            3196
                            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