Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Написание собственного драйвера

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Написание собственного драйвера

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

      Хотел попробовать создать свой адаптер. Не смог настроить WebStorm под Windows. По этой ссылке только под линукс https://github.com/ioBroker/ioBroker/wi … ntegration. Какой путь указывать до Nodejs? Просит указать путь до файла, у меня есть только node.exe. Контроллер не запускается

      "C:\Program Files (x86)\JetBrains\WebStorm 9.0.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" iobroker.js start

      Starting ioBroker controller daemon...

      ioBroker controller daemon failed to start: 2

      Error: 2

      Process finished with exit code 0

      1 Reply Last reply Reply Quote 0
      • S
        spectrekr last edited by

        Пытаюсь разобраться с написанием собственного драйвера. Установил среду по вики, добавил свой драйвер. На вкладке "Драйвера" он появился. Жму установить, он не ставит, выдает ошибку 5 "Неизвестный пакет". И соответственно на вкладке "настройки драйверов" не появляется. Хотя папку admin скопировал с рабочего драйвера.

        И еще, как обращаться к настройкам, в файле io-packege.json по примеру создал переменные с значениями по умолчанию, а как их получить в основном js не разобрался:-(

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

          Попробуй начать с https://github.com/ioBroker/ioBroker.template

          Сегодня и завтра нет времени, если не получится, то напишу в среду или четверг

          1 Reply Last reply Reply Quote 0
          • S
            spectrekr last edited by

            Попробовал по инструкции, при выполнении

            grunt rename --name=mynewname --email=email@mail.com --author="Author Name"
            

            получаю ошибку

            ! ````
            Try to rename to "sms"
            Loading "Gruntfile.js" tasks...ERROR

            Error: Cannot find module '/opt/iobroker/node_modules/iobroker.sms/tasks/jscs.js'
            Warning: Task "rename" not found. Use --force to continue.
            ! Aborted due to warnings.
            ! ````
            Grunt пробовал и до переименовывания папки.

            И соотвественно драйвер не появляется.

            UPD.

            Скопировал tasks с нового драйвер SQL и запустил грант, все прошло. Буду дальше разбиратся )

            1 Reply Last reply Reply Quote 0
            • S
              spectrekr last edited by

              А кто какой IDE пользуется, webstorm требует лицензии?

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

                @spectrekr:

                А кто какой IDE пользуется, webstorm требует лицензии? `
                webstorm к сожалению бесплатен только 30 дней.

                Можно использовать VS2015 Community Edition + Node.js Tool (https://www.visualstudio.com/en-us/feat … js-vs.aspx)

                Можно использовать https://github.com/node-inspector/node-inspector и дебажить в chome.

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

                  очередная попытка в написании https://github.com/instalator/ioBroker.starline.

                  После установки выдает ошибку:

                  Server-PC	2016-02-13 23:41:53	error	host.Server-PC instance system.adapter.starline.0 terminated with code 8 (node.js: Cannot find module)
                  
                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @instalator:

                    очередная попытка в написании https://github.com/instalator/ioBroker.starline.

                    После установки выдает ошибку:

                    Server-PC	2016-02-13 23:41:53	error	host.Server-PC instance system.adapter.starline.0 terminated with code 8 (node.js: Cannot find module)
                    ```` `  
                    

                    Если ты напишешь:

                    iobroker stop starline
                    node node_modules/iobroker.starline/main.js
                    
                    

                    Что говорит?

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

                      @Bluefox:

                      Если ты напишешь:

                      iobroker stop starline
                      node node_modules/iobroker.starline/main.js
                      
                      

                      Что говорит? `

                      c:\iobroker>node node_modules/iobroker.js-controller/iobroker.js stop starline
                      
                      Adapter "starline.0 stopped.
                      
                      c:\iobroker>node node_modules/iobroker.starline/main.js
                      
                      c:\iobroker\node_modules\iobroker.starline\main.js:115
                              });
                              ^
                      SyntaxError: Unexpected token }
                          at Module._compile (module.js:439:25)
                          at Object.Module._extensions..js (module.js:474:10)
                          at Module.load (module.js:356:32)
                          at Function.Module._load (module.js:312:12)
                          at Function.Module.runMain (module.js:497:10)
                          at startup (node.js:119:16)
                          at node.js:935:3
                      

                      Понял что косяк в скобках.

                      Еще вопрос, драйвер установил, но как его обновлять при обновлении версии иконки доступности новой версии не появляется.

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

                        @instalator:

                        @Bluefox:

                        Если ты напишешь:

                        iobroker stop starline
                        node node_modules/iobroker.starline/main.js
                        
                        

                        Что говорит? `

                        c:\iobroker>node node_modules/iobroker.js-controller/iobroker.js stop starline
                        
                        Adapter "starline.0 stopped.
                        
                        c:\iobroker>node node_modules/iobroker.starline/main.js
                        
                        c:\iobroker\node_modules\iobroker.starline\main.js:115
                                });
                                ^
                        SyntaxError: Unexpected token }
                            at Module._compile (module.js:439:25)
                            at Object.Module._extensions..js (module.js:474:10)
                            at Module.load (module.js:356:32)
                            at Function.Module._load (module.js:312:12)
                            at Function.Module.runMain (module.js:497:10)
                            at startup (node.js:119:16)
                            at node.js:935:3
                        

                        Понял что косяк в скобках.

                        Еще вопрос, драйвер установил, но как его обновлять при обновлении версии иконки доступности новой версии не появляется. `
                        Надо нажать на значок в админке, где обновления проверяются.

                        Что бы проверка обновлений работала из сети. Надо что бы драйвер был в репозитории.

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

                          @Bluefox:

                          Надо нажать на значок в админке, где обновления проверяются.

                          Что бы проверка обновлений работала из сети. Надо что бы драйвер был в репозитории. `
                          Не совсем понял. Если я локально обновлю файлы админка это увидит? а из сети в репозитории IO или на гите?

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

                            @instalator:

                            @Bluefox:

                            Надо нажать на значок в админке, где обновления проверяются.

                            Что бы проверка обновлений работала из сети. Надо что бы драйвер был в репозитории. Не совсем понял. Если я локально обновлю файлы админка это увидит? а из сети в репозитории IO или на гите?
                            Я тоже не совсем понял. Забей и как только обновляешь файлы локально просто перезапускай драйвер. А циферки версии не важно при локальной установке.

                            P.S. Забей, но не сдавайся 🙂
                            6305_datenpunkte.jpg
                            6305_kueche.jpg

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

                              @Bluefox:

                              Я тоже не совсем понял. Забей и как только обновляешь файлы локально просто перезапускай драйвер. А циферки версии не важно при локальной установке.

                              P.S. Забей, но не сдавайся 🙂 `
                              помогай, не получается получить ответ от сервера

                              https://github.com/instalator/ioBroker.starline

                              С гет запросом все норм а вот на пост отвечает всегда 504 Gateway Time-out

                              Добавлено:

                              С POST запросом разобрался. Как запустить schedule в драйвере?

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

                                Из-за чего в логах возникает ошибка:???

                                Server-PC	2016-02-16 20:50:12	info	host.Server-PC Restart adapter system.adapter.admin.0 because enabled
                                Server-PC	2016-02-16 20:50:12	error	host.Server-PC instance system.adapter.admin.0 terminated with code 7 (Adapter already running)
                                Server-PC	2016-02-16 20:50:12	info	host.Server-PC Restart adapter system.adapter.mqtt.0 because enabled
                                Server-PC	2016-02-16 20:50:12	error	host.Server-PC instance system.adapter.mqtt.0 terminated with code 7 (Adapter already running)
                                Server-PC	2016-02-16 20:50:11	info	host.Server-PC Restart adapter system.adapter.ping.1 because enabled
                                Server-PC	2016-02-16 20:50:11	error	host.Server-PC instance system.adapter.ping.1 terminated with code 7 (Adapter already running)
                                Server-PC	2016-02-16 20:50:11	info	host.Server-PC Restart adapter system.adapter.ping.1 because enabled
                                Server-PC	2016-02-16 20:50:11	error	host.Server-PC instance system.adapter.ping.1 terminated with code 7 (Adapter already running)
                                Server-PC	2016-02-16 20:50:09	info	host.Server-PC Restart adapter system.adapter.sayit.0 because enabled
                                Server-PC	2016-02-16 20:50:09	error	host.Server-PC instance system.adapter.sayit.0 terminated with code 7 (Adapter already running)
                                Server-PC	2016-02-16 20:50:09	info	host.Server-PC Restart adapter system.adapter.sayit.0 because enabled
                                Server-PC	2016-02-16 20:50:09	error	host.Server-PC instance system.adapter.sayit.0 terminated with code 7 (Adapter already running)
                                
                                1 Reply Last reply Reply Quote 0
                                • V
                                  Vlad_k last edited by

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

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

                                    как можно из виджета (js) получить переменные из настроек драйвера?

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

                                      @instalator:

                                      как можно из виджета (js) получить переменные из настроек драйвера? `

                                      [{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,"refreshInterval":"0","gestures-offsetX":0,"gestures-offsetY":0,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"\n    \n\n"},"style":{"left":"168px","top":"263px","width":"814px","height":"335px"},"widgetSet":"basic"}]
                                      
                                      

                                      То есть:

                                          vis.conn.getObject('system.adapter.admin.0', function (err, obj) {
                                              $('.my-super-class').html(JSON.stringify(obj, null, 2));   
                                          });
                                      
                                      

                                      А ты не хочешь сделать это настраиваемым?

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      734
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      4
                                      17
                                      3782
                                      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