Установка ioBroker на ОС Linux

02 ноября 2018, 09:32

Всем привет!

У многих возникает проблема с первой установкой ioBroker на ПК/Одноплатник (она-же Raspberry/Малина к ним-же относятся оранджы, бананы и т.д.))) под операционной системой Linux. В этой статье пройдём по основным пунктам которые будут актуальны практически в любой сборке Линукс

Установку из под Windows в этой статье рассматривать не буду так-как Windows операционка сама по себе очень прожорливая, а нам дороги каждый МБ оперативной памяти, конечно ioBroker на Windows имеет место быть если у вас позволяет железо, а с Linux ну прям совсем туго.

И так, устанавливаем на ПК/Лаптоп/Малинку понравившуюся сборку Линукс или используем уже имеющуюся. Для ПК/Лаптоп я бы посоветовал (и дальше в статье её буду использовать) сборку Linux Mint 19

Для Малинки (или другого одноплатника) DietPi  но это не принципиально :)

Саму установку ОС опустим, она расписана уже сотни раз

Начнём :)


У НАС УСТАНОВЛЕН ЛИНУКС И ИМЕЕТСЯ ДОСТУП К СИСТЕМЕ ПО SSH

Первым делом приведём нашу ОС в актуальное состояние

sudo apt-get update
sudo apt-get upgrade

Ожидаем завершения, на одноплатниках это может занять определённое колличество времени.

Удаляем если уже была в системе установленна ранее или прилагалась в сборке ОС ноду. Просто строку за строкой отрабатываем следующие команды

Входим с правами root (или перед всеми командами добавляем команду sudo)

sudo su
apt-get --purge remove node
apt-get --purge remove nodejs
apt-get autoremove
reboot

Устанавливаем ноду 8 и несколько необходимых пакетов

sudo su
apt-get install curl
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs
apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev -y
apt-get install -y libudev-dev libpam0g-dev
apt-get install build-essential libpcap-dev -y
npm install -g node-gyp
npm install -g npm@latest

Проверяем всё ли правильно установилось командами

node -v
npm -v

должны увидеть вывод примерно как на скрине ниже (версии актуальны на 1.11.2018)

Выходим из root командой exit

Установим serialport, он может нам пригодится в будущем кто использует стики zigbee, z-wave и т.д.

sudo npm install -g serialport --unsafe-perm

Командой serialport-list выводим имеющиеся сериальные порты и что в них установлено

serialport-list

Подготовка к установке ioBroker закончена, переходим непосредственно к самой установке ioBroker (все команды отрабатываем построчно)

sudo su
cd /opt
mkdir iobroker
cd iobroker
npm install iobroker --unsafe-perm

Готово!

Запоминаем что всё что делаем с ioBroker делаем из директории /opt/iobroker

Соответственно переход у нас такой

cd  /opt/iobroker

Базовые команды

sudo iobroker start
sudo iobroker stop
sudo iobroker restart

Больше узнать о доступных командах можем командой

iobroker -h

Командой iobroker start запускаем iobroker и он должен будет доступен по адресу из браузера

http://ип_вашей_системы:8081

Небольшой обзор админки мы проведём в следующей статье.

Удачи!


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Илья Гитлин (iGitlin)

    понятно и доходчиво, ждем продолжения

  2. (lopezzz)
    (lopezzz) 11 месяцев назад

    Подскажите. А iobroker сам после перезагрузки стартует? Или каждый раз ручками надо запускать?

    • F. Alexander (Alex1808)
      F. Alexander (Alex1808) отредактировано 11 месяцев назад

      Должен сам. Если у вас после ребута сам не стартует то встало криво и файл автостарта не закинулся в службу. Просто сделайте поверх ещё раз (из под юзера)

      cd /opt/iobroker
      sudo npm install iobroker --unsafe-perm
      • (lopezzz)
        (lopezzz) отредактировано 11 месяцев назад

        Огромное спасибо. Помогло. На Ubuntu server 16 04 ставил. Все отлично по вашей инструкции установилось, только автостарт не взлетел сразу. 

      • (Myxo-Mop)
        (Myxo-Mop) отредактировано 11 месяцев назад

        А как, просто взять и закинуть файл автостарта в службу? Поставить поверх от имени юзера - я не смог...

      • (cimvit)
        (cimvit) 11 месяцев назад

         Не помогло не стартует сам. что еще можно сделать

  3. Сергей Макаров (Pooh)
    Сергей Макаров (Pooh) 10 месяцев назад
    1. Это устаревший способ. Установка самого ioBroker теперь делается скриптом:
    2. curl -sL https://raw.githubusercontent...." target="_blank" title="https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh">https://raw.githubusercontent....">https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh">https://raw.githubusercontent.... | bash -
    • F. Alexander (Alex1808)
      F. Alexander (Alex1808) 10 месяцев назад

      Ничего он не устаревший, в скрипте те-же команды на установку с NPM ;) разве-что папки создаёт автоматом

    • (slava)
      (slava) 10 месяцев назад
      Отлично! По статье не заработало, а этим способом завелось с пол пинка!

  4. (fareek)
    (fareek) 10 месяцев назад

    Добрый день. Подскажите, нужно ли перед установкой iobroker на  OS Linux Mint 19.1 ставить какие нить пакеты. делал все как описано у вас в описании... но iobroker не стартует. У меня есть опыт работы с iobroker  только на Raspberry pi. Проблем с установкой вообще не было. а тут просто ступор уже. 


    • F. Alexander (Alex1808)
      F. Alexander (Alex1808) 10 месяцев назад

      повторите

      cd /opt/iobroker
      sudo npm install iobroker --unsafe-perm
      • (fareek)
        (fareek) 10 месяцев назад

        Повторял и ситуация не меняется... пробовал и с правами root и без... в чем может быть еще проблема?

      • Сергей Макаров (Pooh)
        Сергей Макаров (Pooh) 10 месяцев назад

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

    • Сергей Макаров (Pooh)
      Сергей Макаров (Pooh) 10 месяцев назад

      curl -sL https://raw.githubusercontent...." target="_blank" title="https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh">https://raw.githubusercontent....">https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh">https://raw.githubusercontent.... | bash -

  5. (fareek)
    (fareek) 10 месяцев назад

    это полный скрипт? 

  6. (fareek)
    (fareek) 10 месяцев назад

    информация из этого источника? http://www.iobroker.net/docu/?...

    " target="_blank" title="http://www.iobroker.net/docu/?page_id=8323&lang=de">http://www.iobroker.net/docu/?...

    ">http://www.iobroker.net/docu/?page_id=8323&lang=de">http://www.iobroker.net/docu/?...

  7. Сергей Макаров (Pooh)
    Сергей Макаров (Pooh) 10 месяцев назад

    да вроде оттуда

  8. (fareek)
    (fareek) 10 месяцев назад

    Все отлично.. скрипт работает. всем советую.

  9. (Silverow)
    (Silverow) 10 месяцев назад

    Я конечно понимаю, что "установка ОС расписана много раз", но добавьте пожалуйста, хотя бы раздел про права. После установки с нуля на debian очень много ошибок с ними имею.

    • Сергей Макаров (Pooh)
      Сергей Макаров (Pooh) 9 месяцев назад

      При установке скриптом не нужно заморачиваться с правами, установку можно запустить и от юзера и от рута, скрипт при необходимости запросит разрешения. Он теперь создает юзера iobroker и устанавливает в его домашнюю папку

      • Роман Эсмедляев (Mr_REM_Esq)
        Роман Эсмедляев (Mr_REM_Esq) 8 месяцев назад
        Поставил с помощью скрипта. Теперь он стартует с правами пользователя "ioBroker". Из-за этого не хватает прав, например, на запуск HAM в глобальном режиме. Раньше, когда запускал его с правами root (sudo iobroker start), такой проблемы не было. Как это поправить?

        • Сергей Макаров (Pooh)
          Сергей Макаров (Pooh) 8 месяцев назад

          добавить пользователя ioBroker в группу HAM

          • Роман Эсмедляев (Mr_REM_Esq)
            Роман Эсмедляев (Mr_REM_Esq) 7 месяцев назад
            Нет такой группы.

          • Роман Эсмедляев (Mr_REM_Esq)
            Роман Эсмедляев (Mr_REM_Esq) отредактировано 7 месяцев назад

            А вот это реакция на попытку обновить hombridge из web-морды:

            USER: iobroker 

            DIR: /usr/lib/node_modules 

            CMD: sudo -E -n npm --no-update-notifier install --unsafe-perm homebridge@latest 

            sudo: a password is required Command failed. Please review log for details

            • (dimonchik88)
              (dimonchik88) 7 месяцев назад

              добавь в /etc/sudoers.d/iobroker строчку: 

               iobroker ALL=(ALL) NOPASSWD: ALL

              • Роман Эсмедляев (Mr_REM_Esq)
                Роман Эсмедляев (Mr_REM_Esq) 7 месяцев назад
                Добавил. Ничего не изменилось.

                USER: iobroker DIR: /usr/lib/node_modules

                CMD: sudo -E -n npm --no-update-notifier install --unsafe-perm homebridge@latest

                sudo: a password is required Command failed. Please review log for details

  10. (avtomat78)
    (avtomat78) 9 месяцев назад

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

    npm install -g node-gyp
    
    npm ERR! code EAI_AGAIN
    npm ERR! errno EAI_AGAIN
    npm ERR! request to <a href="https://registry.npmjs.org/node-gyp" class="redactor-autoparser-object">https://registry.npmjs.org/nod...</a> failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2019-02-04T20_22_55_702Z-debug.log
    
    • F. Alexander (Alex1808)
      F. Alexander (Alex1808) 9 месяцев назад

      Попробуй устаноку скрипта из под root

      sudo su

      • (avtomat78)
        (avtomat78) 9 месяцев назад
        Попробовал, во время установки вылезли эти ошибки, но брокер завелся, спасибо!

        ImportError: No module named compiler.ast

        gyp ERR! configure error

        gyp ERR! stack Error: `gyp` failed with exit code: 1

        gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)

        gyp ERR! stack at emitTwo (events.js:126:13)

        gyp ERR! stack at ChildProcess.emit (events.js:214:7)

        gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

        gyp ERR! System Linux 4.14.79-v7+

        gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

        gyp ERR! cwd /opt/iobroker/node_modules/serialport

        gyp ERR! node -v v8.15.0

        gyp ERR! node-gyp -v v3.8.0

        gyp ERR! not ok

        • F. Alexander (Alex1808)
          F. Alexander (Alex1808) 9 месяцев назад

          sudo npm install -g node-gyp --unsafe-perm
          sudo npm install -g serialport --unsafe-perm

          • (avtomat78)
            (avtomat78) 9 месяцев назад

            первая команда отработала без ошибок, при выполнении  sudo npm install -g serialport --unsafe-perm выдал ощибки

            ImportError: No module named compiler.ast

            gyp ERR! configure error

            gyp ERR! stack Error: `gyp` failed with exit code: 1

            gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)

            gyp ERR! stack at emitTwo (events.js:126:13)

            gyp ERR! stack at ChildProcess.emit (events.js:214:7)

            gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

            gyp ERR! System Linux 4.14.79-v7+

            gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

            gyp ERR! cwd /usr/lib/node_modules/serialport/node_modules/@serialport/bindings

            gyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0

            gyp ERR! not ok npm ERR! code ELIFECYCLE

            npm ERR! errno 1

            npm ERR! @serialport/bindings@2.0.7 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`

            npm ERR! Exit status 1

            npm ERR!

            npm ERR! Failed at the @serialport/bindings@2.0.7 install script.

            npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

            npm ERR! A complete log of this run can be found in:

            npm ERR! /root/.npm/_logs/2019-02-06T07_59_03_649Z-debug.log

          • (avtomat78)
            (avtomat78) отредактировано 9 месяцев назад

            При попытке установки в брокере homekit выдает ошибку, и вот такой лог файл:

            0 info it worked if it ends with ok

            1 verbose cli [ '/usr/bin/node',

            1 verbose cli '/usr/bin/npm',

            1 verbose cli 'install',

            1 verbose cli 'iobroker.yahka',

            1 verbose cli '--production',

            1 verbose cli '--save',

            1 verbose cli '--prefix',

            1 verbose cli '/opt/iobroker' ]

            2 info using npm@6.4.1

            3 info using node@v8.15.0

            4 verbose npm-session c98e29a62c3c3991

            5 silly install loadCurrentTree

            6 silly install readLocalPackageData

            7 http fetch GET 200 https://registry.npmjs.org/iob..." target="_blank" title="https://registry.npmjs.org/iobroker.yahka">https://registry.npmjs.org/iob...">https://registry.npmjs.org/iobroker.yahka">https://registry.npmjs.org/iob... 154ms (from cache)

            8 silly pacote tag manifest for iobroker.yahka@latest fetched in 251ms

            9 timing stage:loadCurrentTree Completed in 18446ms

            10 silly install loadIdealTree

            11 silly install cloneCurrentTreeToIdealTree

            12 timing stage:loadIdealTree:cloneCurrentTree Completed in 139ms

            13 silly install loadShrinkwrap

            14 timing stage:loadIdealTree:loadShrinkwrap Completed in 4302ms

            15 silly install loadAllDepsIntoIdealTree

            16 silly resolveWithNewModule iobroker.yahka@0.9.1 checking installable status

            17 http fetch GET 200 https://registry.npmjs.org/hap..." target="_blank" title="https://registry.npmjs.org/hap-nodejs">https://registry.npmjs.org/hap...">https://registry.npmjs.org/hap-nodejs">https://registry.npmjs.org/hap... 49ms (from cache)

            18 silly pacote range manifest for hap-nodejs@^0.4.48 fetched in 74ms

            19 silly resolveWithNewModule hap-nodejs@0.4.48 checking installable status

            20 http fetch GET 200 https://registry.npmjs.org/cur..." target="_blank" title="https://registry.npmjs.org/curve25519-n">https://registry.npmjs.org/cur...">https://registry.npmjs.org/curve25519-n">https://registry.npmjs.org/cur... 31ms (from cache)

            21 silly pacote range manifest for curve25519-n@^1.2.0 fetched in 39ms

            22 silly resolveWithNewModule curve25519-n@1.4.0 checking installable status

            23 timing stage:loadIdealTree:loadAllDepsIntoIdealTree Completed in 10692ms

            24 timing stage:loadIdealTree Completed in 19381ms

            25 silly currentTree iobroker.inst@2.0.2

            25 silly currentTree ├── @coolaj86/urequest@1.3.6

            25 silly currentTree ├── @serialport/parser-byte-length@1.0.5

            25 silly currentTree ├── @serialport/parser-cctalk@1.0.5

            25 silly currentTree ├── @serialport/parser-delimiter@1.0.5

            25 silly currentTree ├── @serialport/parser-readline@1.0.5

            25 silly currentTree ├── @serialport/parser-ready@1.0.5

            25 silly currentTree ├── @serialport/parser-regex@1.0.5

            25 silly currentTree ├── accepts@1.3.5

            25 silly currentTree ├── acme-v2@1.5.2

            25 silly currentTree ├── acme@1.2.0

            25 silly currentTree ├── after@0.8.2

            25 silly currentTree ├── ajv@6.8.1

            25 silly currentTree ├── ansi-bgblack@0.1.1

            25 silly currentTree ├── ansi-bgblue@0.1.1

            25 silly currentTree ├── ansi-bgcyan@0.1.1

            25 silly currentTree ├── ansi-bggreen@0.1.1

            25 silly currentTree ├── ansi-bgmagenta@0.1.1

            25 silly currentTree ├── ansi-bgred@0.1.1

            25 silly currentTree ├── ansi-bgwhite@0.1.1

            25 silly currentTree ├── ansi-bgyellow@0.1.1

            25 silly currentTree ├── ansi-black@0.1.1

            25 silly currentTree ├── ansi-blue@0.1.1

            25 silly currentTree ├── ansi-bold@0.1.1

            25 silly currentTree ├── ansi-colors@0.2.0

            25 silly currentTree ├── ansi-cyan@0.1.1

            25 silly currentTree ├── ansi-dim@0.1.1

            25 silly currentTree ├── ansi-gray@0.1.1

            25 silly currentTree ├── ansi-green@0.1.1

            25 silly currentTree ├── ansi-grey@0.1.1

            25 silly currentTree ├── ansi-hidden@0.1.1

            25 silly currentTree ├── ansi-inverse@0.1.1

            25 silly currentTree ├── ansi-italic@0.1.1

            25 silly currentTree ├── ansi-magenta@0.1.1

            25 silly currentTree ├── ansi-red@0.1.1

            25 silly currentTree ├── ansi-regex@2.1.1

            25 silly currentTree ├── ansi-reset@0.1.1

            25 silly currentTree ├── ansi-strikethrough@0.1.1

            25 silly currentTree ├── ansi-styles@2.2.1

            25 silly currentTree ├── ansi-underline@0.1.1

            25 silly currentTree ├── ansi-white@0.1.1

            25 silly currentTree ├── ansi-wrap@0.1.0

            25 silly currentTree ├── ansi-yellow@0.1.1

            25 silly currentTree ├── aproba@1.2.0

            25 silly currentTree ├─┬ are-we-there-yet@1.1.5

            25 silly currentTree │ ├── isarray@1.0.0

            25 silly currentTree │ ├── readable-stream@2.3.6

            25 silly currentTree │ └── string_decoder@1.1.1

            25 silly currentTree ├── arr-flatten@1.1.0

            25 silly currentTree ├─┬ arr-swap@1.0.1

            25 silly currentTree │ └── is-number@3.0.0

            25 silly currentTree ├── array-flatten@1.1.1

            25 silly currentTree ├── arraybuffer.slice@0.0.6

            25 silly currentTree ├── asn1@0.2.4

            25 silly currentTree ├── assert-plus@1.0.0

            25 silly currentTree ├── async-limiter@1.0.0

            25 silly currentTree ├── async@2.6.1

            25 silly currentTree ├── asynckit@0.4.0

            25 silly currentTree ├── aws-sign2@0.7.0

            25 silly currentTree ├── aws4@1.8.0

            25 silly currentTree ├── backo2@1.0.2

            25 silly currentTree ├── balanced-match@1.0.0

            25 silly currentTree ├── base64-arraybuffer@0.1.5

            25 silly currentTree ├── base64id@1.0.0

            25 silly currentTree ├── bcrypt-pbkdf@1.0.2

            25 silly currentTree ├── better-assert@1.0.2

            25 silly currentTree ├── bindings@1.3.0

            25 silly currentTree ├─┬ bl@1.2.2

            25 silly currentTree │ ├── isarray@1.0.0

            25 silly currentTree │ ├── readable-stream@2.3.6

            25 silly currentTree │ └── string_decoder@1.1.1

            25 silly currentTree ├── blob@0.0.4

            25 silly currentTree ├── bluebird@3.5.3

            25 silly currentTree ├── body-parser@1.18.3

            25 silly currentTree ├─┬ bonjour-hap@3.5.1

            25 silly currentTree │ ├── array-flatten@2.1.2

            25 silly currentTree │ └── deep-equal@1.0.1

            25 silly currentTree ├── brace-expansion@1.1.11

            25 silly currentTree ├── buffer-alloc-unsafe@1.1.0

            25 silly currentTree ├── buffer-alloc@1.2.0

            25 silly currentTree ├── buffer-equal-constant-time@1.0.1

            25 silly currentTree ├── buffer-fill@1.0.0

            25 silly currentTree ├── buffer-indexof@1.1.1

            25 silly currentTree ├── buffer-shims@1.0.0

            25 silly currentTree ├── busboy@0.2.14

            25 silly currentTree ├── bytes@3.0.0

            25 silly currentTree ├── callsite@1.0.0

            25 silly currentTree ├── camelcase@3.0.0

            25 silly currentTree ├── caseless@0.12.0

            25 silly currentTree ├── cert-info@1.5.0

            25 silly currentTree ├── chalk@1.1.3

            25 silly currentTree ├── charenc@0.0.2

            25 silly currentTree ├── choices-separator@2.0.0

            25 silly currentTree ├── chownr@1.1.1

            25 silly currentTree ├── cliui@3.2.0

            25 silly currentTree ├─┬ clone-deep@1.0.0

            25 silly currentTree │ └── kind-of@5.1.0

            25 silly currentTree ├── code-point-at@1.1.0

            25 silly currentTree ├── collection-visit@1.0.0

            25 silly currentTree ├── colors@1.3.3

            25 silly currentTree ├── combined-stream@1.0.7

            25 silly currentTree ├── commander@2.19.0

            25 silly currentTree ├── component-bind@1.0.0

            25 silly currentTree ├── component-emitter@1.1.2

            25 silly currentTree ├── component-inherit@0.0.3

            25 silly currentTree ├── concat-map@0.0.1

            25 silly currentTree ├── connect-flash@0.1.1

            25 silly currentTree ├── console-control-strings@1.1.0

            25 silly currentTree ├── content-disposition@0.5.2

            25 silly currentTree ├── content-type@1.0.4

            25 silly currentTree ├── cookie-parser@1.4.3

            25 silly currentTree ├── cookie-signature@1.0.6

            25 silly currentTree ├── cookie@0.3.1

            25 silly currentTree ├── copy-descriptor@0.1.1

            25 silly currentTree ├── core-js@2.3.0

            25 silly currentTree ├── core-util-is@1.0.2

            25 silly currentTree ├── crc@3.4.4

            25 silly currentTree ├── cron-parser@2.7.3

            25 silly currentTree ├── cross-spawn@5.1.0

            25 silly currentTree ├── crypt@0.0.2

            25 silly currentTree ├── cycle@1.0.3

            25 silly currentTree ├── daemonize2@0.4.2

            25 silly currentTree ├── dashdash@1.14.1

            25 silly currentTree ├── debug@2.6.9

            25 silly currentTree ├── decamelize@1.2.0

            25 silly currentTree ├── decimal.js@7.5.1

            25 silly currentTree ├── decompress-response@3.3.0

            25 silly currentTree ├── deep-equal@0.2.2

            25 silly currentTree ├── deep-extend@0.6.0

            25 silly currentTree ├── define-properties@1.1.3

            25 silly currentTree ├── define-property@1.0.0

            25 silly currentTree ├── delayed-stream@1.0.0

            25 silly currentTree ├── delegates@1.0.0

            25 silly currentTree ├── depd@1.1.2

            25 silly currentTree ├── destroy@1.0.4

            25 silly currentTree ├── detect-libc@1.0.3

            25 silly currentTree ├── dev-null@0.1.1

            25 silly currentTree ├── dgram@1.0.1

            25 silly currentTree ├── dicer@0.2.5

            25 silly currentTree ├── dns-equal@1.0.0

            25 silly currentTree ├── dns-packet@1.3.1

            25 silly currentTree ├── dns-txt@2.0.2

            25 silly currentTree ├── double-ended-queue@2.1.0-0

            25 silly currentTree ├── ecc-jsbn@0.1.2

            25 silly currentTree ├── ecdsa-sig-formatter@1.0.10

            25 silly currentTree ├── ed25519-hap@0.0.5

            25 silly currentTree ├── ee-first@1.1.1

            25 silly currentTree ├── encodeurl@1.0.2

            25 silly currentTree ├── end-of-stream@1.4.1

            25 silly currentTree ├─┬ engine.io-client@1.8.2

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── debug@2.3.3

            25 silly currentTree │ └── ms@0.7.2

            25 silly currentTree ├── engine.io-parser@1.3.2

            25 silly currentTree ├─┬ engine.io@1.8.2

            25 silly currentTree │ ├── accepts@1.3.3

            25 silly currentTree │ ├── debug@2.3.3

            25 silly currentTree │ └── ms@0.7.2

            25 silly currentTree ├── error-ex@1.3.2

            25 silly currentTree ├── error-symbol@0.1.0

            25 silly currentTree ├── es6-promise@3.0.2

            25 silly currentTree ├── escape-html@1.0.3

            25 silly currentTree ├── escape-string-regexp@1.0.5

            25 silly currentTree ├── etag@1.8.1

            25 silly currentTree ├── execa@0.7.0

            25 silly currentTree ├── expand-template@1.1.1

            25 silly currentTree ├─┬ express-fileupload@0.4.1

            25 silly currentTree │ └── fs-extra@4.0.3

            25 silly currentTree ├── express-session@1.15.6

            25 silly currentTree ├─┬ express@4.16.4

            25 silly currentTree │ └── statuses@1.4.0

            25 silly currentTree ├── extend-shallow@2.0.1

            25 silly currentTree ├── extend@3.0.2

            25 silly currentTree ├── extsprintf@1.3.0

            25 silly currentTree ├── eyes@0.1.8

            25 silly currentTree ├── fast-deep-equal@2.0.1

            25 silly currentTree ├── fast-json-stable-stringify@2.0.0

            25 silly currentTree ├── fast-srp-hap@1.0.1

            25 silly currentTree ├─┬ finalhandler@1.1.1

            25 silly currentTree │ └── statuses@1.4.0

            25 silly currentTree ├── find-up@1.1.2

            25 silly currentTree ├── for-in@1.0.2

            25 silly currentTree ├── for-own@1.0.0

            25 silly currentTree ├── forever-agent@0.6.1

            25 silly currentTree ├── form-data@2.3.3

            25 silly currentTree ├── forwarded@0.1.2

            25 silly currentTree ├── fresh@0.5.2

            25 silly currentTree ├── fs-constants@1.0.0

            25 silly currentTree ├── fs-extra@7.0.1

            25 silly currentTree ├── fs-minipass@1.2.5

            25 silly currentTree ├── fs.realpath@1.0.0

            25 silly currentTree ├── function-bind@1.1.1

            25 silly currentTree ├── gauge@2.7.4

            25 silly currentTree ├── get-caller-file@1.0.3

            25 silly currentTree ├── get-stream@3.0.0

            25 silly currentTree ├── getpass@0.1.7

            25 silly currentTree ├── github-from-package@0.0.0

            25 silly currentTree ├── glob@7.1.3

            25 silly currentTree ├── glossy@0.1.7

            25 silly currentTree ├── graceful-fs@4.1.15

            25 silly currentTree ├── greenlock@2.6.7

            25 silly currentTree ├── hap-nodejs-community-types@0.2.1

            25 silly currentTree ├── har-schema@2.0.0

            25 silly currentTree ├── har-validator@5.1.3

            25 silly currentTree ├── has-ansi@2.0.0

            25 silly currentTree ├── has-binary@0.1.7

            25 silly currentTree ├─┬ has-binary2@1.0.3

            25 silly currentTree │ └── isarray@2.0.1

            25 silly currentTree ├── has-cors@1.1.0

            25 silly currentTree ├── has-unicode@2.0.1

            25 silly currentTree ├── has@1.0.3

            25 silly currentTree ├─┬ homebridge-plugin-wrapper@1.0.0

            25 silly currentTree │ └── semver@5.0.3

            25 silly currentTree ├── hosted-git-info@2.7.1

            25 silly currentTree ├── http-errors@1.6.3

            25 silly currentTree ├── http-signature@1.2.0

            25 silly currentTree ├── i@0.3.6

            25 silly currentTree ├── iconv-lite@0.4.23

            25 silly currentTree ├── immediate@3.0.6

            25 silly currentTree ├── indexof@0.0.1

            25 silly currentTree ├── inflight@1.0.6

            25 silly currentTree ├── info-symbol@0.1.0

            25 silly currentTree ├── inherits@2.0.3

            25 silly currentTree ├── ini@1.3.5

            25 silly currentTree ├── invert-kv@1.0.0

            25 silly currentTree ├─┬ iobroker.admin@3.5.10

            25 silly currentTree │ ├── accepts@1.3.5

            25 silly currentTree │ ├── after@0.8.2

            25 silly currentTree │ ├── ajv@6.8.1

            25 silly currentTree │ ├── array-flatten@1.1.1

            25 silly currentTree │ ├── arraybuffer.slice@0.0.6

            25 silly currentTree │ ├── asn1@0.2.4

            25 silly currentTree │ ├── assert-plus@1.0.0

            25 silly currentTree │ ├── asynckit@0.4.0

            25 silly currentTree │ ├── aws-sign2@0.7.0

            25 silly currentTree │ ├── aws4@1.8.0

            25 silly currentTree │ ├── backo2@1.0.2

            25 silly currentTree │ ├── base64-arraybuffer@0.1.5

            25 silly currentTree │ ├── base64id@1.0.0

            25 silly currentTree │ ├── bcrypt-pbkdf@1.0.2

            25 silly currentTree │ ├── better-assert@1.0.2

            25 silly currentTree │ ├── blob@0.0.4

            25 silly currentTree │ ├── body-parser@1.18.3

            25 silly currentTree │ ├── busboy@0.2.14

            25 silly currentTree │ ├── bytes@3.0.0

            25 silly currentTree │ ├── callsite@1.0.0

            25 silly currentTree │ ├── caseless@0.12.0

            25 silly currentTree │ ├── charenc@0.0.2

            25 silly currentTree │ ├── combined-stream@1.0.7

            25 silly currentTree │ ├── component-bind@1.0.0

            25 silly currentTree │ ├── component-emitter@1.1.2

            25 silly currentTree │ ├── component-inherit@0.0.3

            25 silly currentTree │ ├── connect-flash@0.1.1

            25 silly currentTree │ ├── content-disposition@0.5.2

            25 silly currentTree │ ├── content-type@1.0.4

            25 silly currentTree │ ├── cookie-parser@1.4.3

            25 silly currentTree │ ├── cookie-signature@1.0.6

            25 silly currentTree │ ├── cookie@0.3.1

            25 silly currentTree │ ├── core-util-is@1.0.2

            25 silly currentTree │ ├── crc@3.4.4

            25 silly currentTree │ ├── crypt@0.0.2

            25 silly currentTree │ ├── dashdash@1.14.1

            25 silly currentTree │ ├── debug@2.6.9

            25 silly currentTree │ ├── delayed-stream@1.0.0

            25 silly currentTree │ ├── depd@1.1.2

            25 silly currentTree │ ├── destroy@1.0.4

            25 silly currentTree │ ├── dicer@0.2.5

            25 silly currentTree │ ├── ecc-jsbn@0.1.2

            25 silly currentTree │ ├── ee-first@1.1.1

            25 silly currentTree │ ├── encodeurl@1.0.2

            25 silly currentTree │ ├─┬ engine.io-client@1.8.2

            25 silly currentTree │ │ ├── component-emitter@1.2.1

            25 silly currentTree │ │ ├── debug@2.3.3

            25 silly currentTree │ │ └── ms@0.7.2

            25 silly currentTree │ ├── engine.io-parser@1.3.2

            25 silly currentTree │ ├─┬ engine.io@1.8.2

            25 silly currentTree │ │ ├── accepts@1.3.3

            25 silly currentTree │ │ ├── debug@2.3.3

            25 silly currentTree │ │ └── ms@0.7.2

            25 silly currentTree │ ├── escape-html@1.0.3

            25 silly currentTree │ ├── etag@1.8.1

            25 silly currentTree │ ├── express-fileupload@0.4.1

            25 silly currentTree │ ├── express-session@1.15.6

            25 silly currentTree │ ├─┬ express@4.16.4

            25 silly currentTree │ │ └── statuses@1.4.0

            25 silly currentTree │ ├── extend@3.0.2

            25 silly currentTree │ ├── extsprintf@1.3.0

            25 silly currentTree │ ├── fast-deep-equal@2.0.1

            25 silly currentTree │ ├── fast-json-stable-stringify@2.0.0

            25 silly currentTree │ ├─┬ finalhandler@1.1.1

            25 silly currentTree │ │ └── statuses@1.4.0

            25 silly currentTree │ ├── forever-agent@0.6.1

            25 silly currentTree │ ├── form-data@2.3.3

            25 silly currentTree │ ├── forwarded@0.1.2

            25 silly currentTree │ ├── fresh@0.5.2

            25 silly currentTree │ ├── fs-extra@4.0.3

            25 silly currentTree │ ├── getpass@0.1.7

            25 silly currentTree │ ├── graceful-fs@4.1.15

            25 silly currentTree │ ├── har-schema@2.0.0

            25 silly currentTree │ ├── har-validator@5.1.3

            25 silly currentTree │ ├── has-binary@0.1.7

            25 silly currentTree │ ├── has-cors@1.1.0

            25 silly currentTree │ ├── http-errors@1.6.3

            25 silly currentTree │ ├── http-signature@1.2.0

            25 silly currentTree │ ├── iconv-lite@0.4.23

            25 silly currentTree │ ├── indexof@0.0.1

            25 silly currentTree │ ├── inherits@2.0.3

            25 silly currentTree │ ├── ipaddr.js@1.8.0

            25 silly currentTree │ ├── is-buffer@1.1.6

            25 silly currentTree │ ├── is-typedarray@1.0.0

            25 silly currentTree │ ├── isarray@0.0.1

            25 silly currentTree │ ├── isstream@0.1.2

            25 silly currentTree │ ├── jsbn@0.1.1

            25 silly currentTree │ ├── json-schema-traverse@0.4.1

            25 silly currentTree │ ├── json-schema@0.2.3

            25 silly currentTree │ ├── json-stringify-safe@5.0.1

            25 silly currentTree │ ├── json3@3.3.2

            25 silly currentTree │ ├── jsonfile@4.0.0

            25 silly currentTree │ ├── jsprim@1.4.1

            25 silly currentTree │ ├── md5@2.2.1

            25 silly currentTree │ ├── media-typer@0.3.0

            25 silly currentTree │ ├── merge-descriptors@1.0.1

            25 silly currentTree │ ├── methods@1.1.2

            25 silly currentTree │ ├── mime-db@1.37.0

            25 silly currentTree │ ├── mime-types@2.1.21

            25 silly currentTree │ ├── mime@1.4.1

            25 silly currentTree │ ├── ms@2.0.0

            25 silly currentTree │ ├── negotiator@0.6.1

            25 silly currentTree │ ├── oauth-sign@0.9.0

            25 silly currentTree │ ├── object-assign@4.1.0

            25 silly currentTree │ ├── object-component@0.0.3

            25 silly currentTree │ ├── on-finished@2.3.0

            25 silly currentTree │ ├── on-headers@1.0.1

            25 silly currentTree │ ├── options@0.0.6

            25 silly currentTree │ ├── parsejson@0.0.3

            25 silly currentTree │ ├── parseqs@0.0.5

            25 silly currentTree │ ├── parseuri@0.0.5

            25 silly currentTree │ ├── parseurl@1.3.2

            25 silly currentTree │ ├── passport-local@1.0.0

            25 silly currentTree │ ├── passport-strategy@1.0.0

            25 silly currentTree │ ├── passport.socketio@3.7.0

            25 silly currentTree │ ├── passport@0.4.0

            25 silly currentTree │ ├── path-to-regexp@0.1.7

            25 silly currentTree │ ├── pause@0.0.1

            25 silly currentTree │ ├── performance-now@2.1.0

            25 silly currentTree │ ├── proxy-addr@2.0.4

            25 silly currentTree │ ├── psl@1.1.31

            25 silly currentTree │ ├── punycode@2.1.1

            25 silly currentTree │ ├── qs@6.5.2

            25 silly currentTree │ ├── random-bytes@1.0.0

            25 silly currentTree │ ├── range-parser@1.2.0

            25 silly currentTree │ ├── raw-body@2.3.3

            25 silly currentTree │ ├── readable-stream@1.1.14

            25 silly currentTree │ ├── request@2.88.0

            25 silly currentTree │ ├── safe-buffer@5.1.2

            25 silly currentTree │ ├── safer-buffer@2.1.2

            25 silly currentTree │ ├─┬ send@0.16.2

            25 silly currentTree │ │ └── statuses@1.4.0

            25 silly currentTree │ ├── serve-static@1.13.2

            25 silly currentTree │ ├── setprototypeof@1.1.0

            25 silly currentTree │ ├─┬ socket.io-adapter@0.5.0

            25 silly currentTree │ │ ├── debug@2.3.3

            25 silly currentTree │ │ └── ms@0.7.2

            25 silly currentTree │ ├─┬ socket.io-client@1.7.2

            25 silly currentTree │ │ ├── component-emitter@1.2.1

            25 silly currentTree │ │ ├── debug@2.3.3

            25 silly currentTree │ │ └── ms@0.7.2

            25 silly currentTree │ ├─┬ socket.io-parser@2.3.1

            25 silly currentTree │ │ ├── debug@2.2.0

            25 silly currentTree │ │ └── ms@0.7.1

            25 silly currentTree │ ├─┬ socket.io@1.7.2

            25 silly currentTree │ │ ├── debug@2.3.3

            25 silly currentTree │ │ └── ms@0.7.2

            25 silly currentTree │ ├── sshpk@1.16.1

            25 silly currentTree │ ├── statuses@1.5.0

            25 silly currentTree │ ├── streamifier@0.1.1

            25 silly currentTree │ ├── streamsearch@0.1.2

            25 silly currentTree │ ├── string_decoder@0.10.31

            25 silly currentTree │ ├── to-array@0.1.4

            25 silly currentTree │ ├─┬ tough-cookie@2.4.3

            25 silly currentTree │ │ └── punycode@1.4.1

            25 silly currentTree │ ├── tunnel-agent@0.6.0

            25 silly currentTree │ ├── tweetnacl@0.14.5

            25 silly currentTree │ ├── type-is@1.6.16

            25 silly currentTree │ ├── uid-safe@2.1.5

            25 silly currentTree │ ├── ultron@1.0.2

            25 silly currentTree │ ├── universalify@0.1.2

            25 silly currentTree │ ├── unpipe@1.0.0

            25 silly currentTree │ ├── uri-js@4.2.2

            25 silly currentTree │ ├── utils-merge@1.0.1

            25 silly currentTree │ ├── uuid@3.3.2

            25 silly currentTree │ ├── vary@1.1.2

            25 silly currentTree │ ├── verror@1.10.0

            25 silly currentTree │ ├── ws@1.1.1

            25 silly currentTree │ ├── wtf-8@1.0.0

            25 silly currentTree │ ├── xmlhttprequest-ssl@1.5.3

            25 silly currentTree │ ├── xtend@4.0.1

            25 silly currentTree │ └── yeast@0.1.2

            25 silly currentTree ├─┬ iobroker.discovery@1.2.4

            25 silly currentTree │ ├── ansi-gray@0.1.1

            25 silly currentTree │ ├── ansi-regex@2.1.1

            25 silly currentTree │ ├── ansi-wrap@0.1.0

            25 silly currentTree │ ├── arr-flatten@1.1.0

            25 silly currentTree │ ├── async@2.6.1

            25 silly currentTree │ ├── bluebird@3.5.3

            25 silly currentTree │ ├── collection-visit@1.0.0

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── copy-descriptor@0.1.1

            25 silly currentTree │ ├── core-util-is@1.0.2

            25 silly currentTree │ ├── debug@2.2.0

            25 silly currentTree │ ├── define-property@1.0.0

            25 silly currentTree │ ├── dgram@1.0.1

            25 silly currentTree │ ├── dns-packet@1.3.1

            25 silly currentTree │ ├── extend-shallow@2.0.1

            25 silly currentTree │ ├── extend@3.0.2

            25 silly currentTree │ ├── for-in@1.0.2

            25 silly currentTree │ ├── for-own@1.0.0

            25 silly currentTree │ ├── inherits@2.0.3

            25 silly currentTree │ ├── ini@1.3.5

            25 silly currentTree │ ├── ip@1.1.5

            25 silly currentTree │ ├─┬ is-accessor-descriptor@1.0.0

            25 silly currentTree │ │ └── kind-of@6.0.2

            25 silly currentTree │ ├── is-buffer@1.1.6

            25 silly currentTree │ ├─┬ is-data-descriptor@1.0.0

            25 silly currentTree │ │ └── kind-of@6.0.2

            25 silly currentTree │ ├─┬ is-descriptor@1.0.2

            25 silly currentTree │ │ └── kind-of@6.0.2

            25 silly currentTree │ ├── is-extendable@0.1.1

            25 silly currentTree │ ├── is-plain-object@2.0.4

            25 silly currentTree │ ├── is-windows@1.0.2

            25 silly currentTree │ ├── isarray@1.0.0

            25 silly currentTree │ ├── isobject@3.0.1

            25 silly currentTree │ ├── kind-of@3.2.2

            25 silly currentTree │ ├── lodash@4.17.11

            25 silly currentTree │ ├── map-visit@1.0.0

            25 silly currentTree │ ├── mdns-discovery@0.2.6

            25 silly currentTree │ ├── minimist@1.2.0

            25 silly currentTree │ ├─┬ mkdirp@0.5.1

            25 silly currentTree │ │ └── minimist@0.0.8

            25 silly currentTree │ ├── ms@0.7.1

            25 silly currentTree │ ├── netmask@1.0.6

            25 silly currentTree │ ├─┬ node-ssdp@3.3.0

            25 silly currentTree │ │ ├── debug@3.2.6

            25 silly currentTree │ │ └── ms@2.1.1

            25 silly currentTree │ ├─┬ object-copy@0.1.0

            25 silly currentTree │ │ ├── define-property@0.2.5

            25 silly currentTree │ │ ├── is-accessor-descriptor@0.1.6

            25 silly currentTree │ │ ├── is-data-descriptor@0.1.4

            25 silly currentTree │ │ └─┬ is-descriptor@0.1.6

            25 silly currentTree │ │ └── kind-of@5.1.0

            25 silly currentTree │ ├── object-visit@1.0.1

            25 silly currentTree │ ├── once@1.4.0

            25 silly currentTree │ ├── os-homedir@1.0.2

            25 silly currentTree │ ├── process-nextick-args@2.0.0

            25 silly currentTree │ ├── readable-stream@2.3.6

            25 silly currentTree │ ├── safe-buffer@5.1.2

            25 silly currentTree │ ├─┬ static-extend@0.1.2

            25 silly currentTree │ │ ├── define-property@0.2.5

            25 silly currentTree │ │ ├─┬ is-accessor-descriptor@0.1.6

            25 silly currentTree │ │ │ └── kind-of@3.2.2

            25 silly currentTree │ │ ├─┬ is-data-descriptor@0.1.4

            25 silly currentTree │ │ │ └── kind-of@3.2.2

            25 silly currentTree │ │ ├── is-descriptor@0.1.6

            25 silly currentTree │ │ └── kind-of@5.1.0

            25 silly currentTree │ ├── string_decoder@1.1.1

            25 silly currentTree │ ├── strip-ansi@3.0.1

            25 silly currentTree │ ├── time-stamp@1.1.0

            25 silly currentTree │ ├── to-object-path@0.3.0

            25 silly currentTree │ ├── util-deprecate@1.0.2

            25 silly currentTree │ ├── wrappy@1.0.2

            25 silly currentTree │ └── xtend@4.0.1

            25 silly currentTree ├── iobroker.ham@1.0.0

            25 silly currentTree ├─┬ iobroker.js-controller@1.4.2

            25 silly currentTree │ ├── ansi-regex@3.0.0

            25 silly currentTree │ ├── arraybuffer.slice@0.0.7

            25 silly currentTree │ ├── blob@0.0.5

            25 silly currentTree │ ├── camelcase@4.1.0

            25 silly currentTree │ ├── cliui@4.1.0

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── debug@3.1.0

            25 silly currentTree │ ├── engine.io-client@3.2.1

            25 silly currentTree │ ├── engine.io-parser@2.1.3

            25 silly currentTree │ ├── engine.io@3.2.1

            25 silly currentTree │ ├── find-up@2.1.0

            25 silly currentTree │ ├── is-fullwidth-code-point@2.0.0

            25 silly currentTree │ ├── isarray@2.0.1

            25 silly currentTree │ ├── os-locale@2.1.0

            25 silly currentTree │ ├── socket.io-adapter@1.1.1

            25 silly currentTree │ ├── socket.io-client@2.1.1

            25 silly currentTree │ ├── socket.io-parser@3.2.0

            25 silly currentTree │ ├── socket.io@2.1.1

            25 silly currentTree │ ├── string-width@2.1.1

            25 silly currentTree │ ├── strip-ansi@4.0.0

            25 silly currentTree │ ├── ultron@1.1.1

            25 silly currentTree │ ├── which-module@2.0.0

            25 silly currentTree │ ├── ws@3.3.3

            25 silly currentTree │ ├── xmlhttprequest-ssl@1.5.5

            25 silly currentTree │ ├── yargs-parser@9.0.2

            25 silly currentTree │ └── yargs@11.1.0

            25 silly currentTree ├── iobroker.megad@1.2.1

            25 silly currentTree ├── iobroker@2.0.2

            25 silly currentTree ├── ip@1.1.5

            25 silly currentTree ├── ipaddr.js@1.8.0

            25 silly currentTree ├─┬ is-accessor-descriptor@1.0.0

            25 silly currentTree │ └── kind-of@6.0.2

            25 silly currentTree ├── is-arrayish@0.2.1

            25 silly currentTree ├── is-buffer@1.1.6

            25 silly currentTree ├─┬ is-data-descriptor@1.0.0

            25 silly currentTree │ └── kind-of@6.0.2

            25 silly currentTree ├─┬ is-descriptor@1.0.2

            25 silly currentTree │ └── kind-of@6.0.2

            25 silly currentTree ├── is-extendable@0.1.1

            25 silly currentTree ├── is-fullwidth-code-point@1.0.0

            25 silly currentTree ├── is-nan@1.2.1

            25 silly currentTree ├── is-number@6.0.0

            25 silly currentTree ├── is-plain-object@2.0.4

            25 silly currentTree ├── is-stream@1.1.0

            25 silly currentTree ├── is-typedarray@1.0.0

            25 silly currentTree ├── is-utf8@0.2.1

            25 silly currentTree ├── is-windows@1.0.2

            25 silly currentTree ├── is@3.3.0

            25 silly currentTree ├── isarray@0.0.1

            25 silly currentTree ├── isexe@2.0.0

            25 silly currentTree ├── isobject@3.0.1

            25 silly currentTree ├── isstream@0.1.2

            25 silly currentTree ├── jsbn@0.1.1

            25 silly currentTree ├── json-schema-traverse@0.4.1

            25 silly currentTree ├── json-schema@0.2.3

            25 silly currentTree ├── json-stringify-safe@5.0.1

            25 silly currentTree ├── json3@3.3.2

            25 silly currentTree ├── jsonfile@4.0.0

            25 silly currentTree ├─┬ jsonwebtoken@8.4.0

            25 silly currentTree │ └── ms@2.1.1

            25 silly currentTree ├── jsprim@1.4.1

            25 silly currentTree ├─┬ jszip@3.1.5

            25 silly currentTree │ ├── isarray@1.0.0

            25 silly currentTree │ ├── process-nextick-args@1.0.7

            25 silly currentTree │ └── readable-stream@2.0.6

            25 silly currentTree ├── jwa@1.2.0

            25 silly currentTree ├── jws@3.2.1

            25 silly currentTree ├── kind-of@3.2.2

            25 silly currentTree ├── koalas@1.0.2

            25 silly currentTree ├── lazy-cache@2.0.2

            25 silly currentTree ├── lcid@1.0.0

            25 silly currentTree ├── le-challenge-fs@2.0.8

            25 silly currentTree ├── le-sni-auto@2.1.6

            25 silly currentTree ├── le-store-certbot@2.2.1

            25 silly currentTree ├── lie@3.1.1

            25 silly currentTree ├── load-json-file@1.1.0

            25 silly currentTree ├─┬ locate-path@2.0.0

            25 silly currentTree │ └── path-exists@3.0.0

            25 silly currentTree ├── lodash.includes@4.3.0

            25 silly currentTree ├── lodash.isboolean@3.0.3

            25 silly currentTree ├── lodash.isinteger@4.0.4

            25 silly currentTree ├── lodash.isnumber@3.0.3

            25 silly currentTree ├── lodash.isplainobject@4.0.6

            25 silly currentTree ├── lodash.isstring@4.0.1

            25 silly currentTree ├── lodash.once@4.1.1

            25 silly currentTree ├── lodash@4.17.11

            25 silly currentTree ├── log-ok@0.1.1

            25 silly currentTree ├── log-utils@0.2.1

            25 silly currentTree ├── long-timeout@0.1.1

            25 silly currentTree ├─┬ lru-cache@4.1.5

            25 silly currentTree │ └── yallist@2.1.2

            25 silly currentTree ├── macaddress@0.2.9

            25 silly currentTree ├── map-visit@1.0.0

            25 silly currentTree ├── md5@2.2.1

            25 silly currentTree ├─┬ mdns-discovery@0.2.6

            25 silly currentTree │ ├── debug@2.2.0

            25 silly currentTree │ └── ms@0.7.1

            25 silly currentTree ├── media-typer@0.3.0

            25 silly currentTree ├── mem@1.1.0

            25 silly currentTree ├── merge-descriptors@1.0.1

            25 silly currentTree ├── methods@1.1.2

            25 silly currentTree ├── mime-db@1.37.0

            25 silly currentTree ├── mime-types@2.1.21

            25 silly currentTree ├── mime@1.4.1

            25 silly currentTree ├── mimic-fn@1.2.0

            25 silly currentTree ├── mimic-response@1.0.1

            25 silly currentTree ├── minimatch@3.0.4

            25 silly currentTree ├── minimist@1.2.0

            25 silly currentTree ├── minipass@2.3.5

            25 silly currentTree ├── minizlib@1.2.1

            25 silly currentTree ├─┬ mixin-object@2.0.1

            25 silly currentTree │ └── for-in@0.1.8

            25 silly currentTree ├─┬ mkdirp@0.5.1

            25 silly currentTree │ └── minimist@0.0.8

            25 silly currentTree ├── mock-require@3.0.3

            25 silly currentTree ├── moment-timezone@0.5.23

            25 silly currentTree ├── moment@2.24.0

            25 silly currentTree ├── ms@2.0.0

            25 silly currentTree ├── multicast-dns-service-types@1.1.0

            25 silly currentTree ├── multicast-dns@6.2.3

            25 silly currentTree ├── mute-stream@0.0.7

            25 silly currentTree ├── nan@2.12.1

            25 silly currentTree ├── ncp@2.0.0

            25 silly currentTree ├── negotiator@0.6.1

            25 silly currentTree ├── netmask@1.0.6

            25 silly currentTree ├── node-abi@2.7.0

            25 silly currentTree ├── node-forge@0.7.6

            25 silly currentTree ├── node-persist@0.0.11

            25 silly currentTree ├── node-schedule@1.3.1

            25 silly currentTree ├─┬ node-ssdp@3.3.0

            25 silly currentTree │ ├── debug@3.2.6

            25 silly currentTree │ └── ms@2.1.1

            25 silly currentTree ├── node.extend@2.0.2

            25 silly currentTree ├── noop-logger@0.1.1

            25 silly currentTree ├── normalize-package-data@2.5.0

            25 silly currentTree ├── normalize-path@2.1.1

            25 silly currentTree ├── npm-run-path@2.0.2

            25 silly currentTree ├── npmlog@4.1.2

            25 silly currentTree ├── number-is-nan@1.0.1

            25 silly currentTree ├── oauth-sign@0.9.0

            25 silly currentTree ├── object-assign@4.1.0

            25 silly currentTree ├── object-component@0.0.3

            25 silly currentTree ├─┬ object-copy@0.1.0

            25 silly currentTree │ ├── define-property@0.2.5

            25 silly currentTree │ ├── is-accessor-descriptor@0.1.6

            25 silly currentTree │ ├── is-data-descriptor@0.1.4

            25 silly currentTree │ └─┬ is-descriptor@0.1.6

            25 silly currentTree │ └── kind-of@5.1.0

            25 silly currentTree ├── object-keys@1.0.12

            25 silly currentTree ├── object-visit@1.0.1

            25 silly currentTree ├── on-finished@2.3.0

            25 silly currentTree ├── on-headers@1.0.1

            25 silly currentTree ├── once@1.4.0

            25 silly currentTree ├── options@0.0.6

            25 silly currentTree ├── os-homedir@1.0.2

            25 silly currentTree ├── os-locale@1.4.0

            25 silly currentTree ├── p-finally@1.0.0

            25 silly currentTree ├── p-limit@1.3.0

            25 silly currentTree ├── p-locate@2.0.0

            25 silly currentTree ├── p-try@1.0.0

            25 silly currentTree ├── pako@1.0.8

            25 silly currentTree ├── parse-json@2.2.0

            25 silly currentTree ├── parsejson@0.0.3

            25 silly currentTree ├── parseqs@0.0.5

            25 silly currentTree ├── parseuri@0.0.5

            25 silly currentTree ├── parseurl@1.3.2

            25 silly currentTree ├── passport-local@1.0.0

            25 silly currentTree ├── passport-strategy@1.0.0

            25 silly currentTree ├── passport.socketio@3.7.0

            25 silly currentTree ├── passport@0.4.0

            25 silly currentTree ├── path-exists@2.1.0

            25 silly currentTree ├── path-is-absolute@1.0.1

            25 silly currentTree ├── path-key@2.0.1

            25 silly currentTree ├── path-parse@1.0.6

            25 silly currentTree ├── path-to-regexp@0.1.7

            25 silly currentTree ├── path-type@1.1.0

            25 silly currentTree ├── pause@0.0.1

            25 silly currentTree ├── performance-now@2.1.0

            25 silly currentTree ├── pify@2.3.0

            25 silly currentTree ├── pinkie-promise@2.0.1

            25 silly currentTree ├── pinkie@2.0.4

            25 silly currentTree ├── pkginfo@0.4.1

            25 silly currentTree ├── pointer-symbol@1.0.0

            25 silly currentTree ├── prebuild-install@4.0.0

            25 silly currentTree ├── process-nextick-args@2.0.0

            25 silly currentTree ├── promirepl@1.0.1

            25 silly currentTree ├── prompt-actions@3.0.2

            25 silly currentTree ├─┬ prompt-base@4.1.0

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── debug@3.2.6

            25 silly currentTree │ └── ms@2.1.1

            25 silly currentTree ├── prompt-checkbox@2.2.0

            25 silly currentTree ├─┬ prompt-choices@4.1.0

            25 silly currentTree │ ├── clone-deep@4.0.1

            25 silly currentTree │ ├── define-property@2.0.2

            25 silly currentTree │ ├── kind-of@6.0.2

            25 silly currentTree │ └── shallow-clone@3.0.0

            25 silly currentTree ├── prompt-list@3.2.0

            25 silly currentTree ├─┬ prompt-question@5.0.2

            25 silly currentTree │ ├── debug@3.2.6

            25 silly currentTree │ ├── kind-of@5.1.0

            25 silly currentTree │ └── ms@2.1.1

            25 silly currentTree ├── prompt-radio@1.2.1

            25 silly currentTree ├─┬ prompt@1.0.0

            25 silly currentTree │ ├── async@1.0.0

            25 silly currentTree │ └─┬ winston@2.1.1

            25 silly currentTree │ ├── colors@1.0.3

            25 silly currentTree │ └── pkginfo@0.3.1

            25 silly currentTree ├── proxy-addr@2.0.4

            25 silly currentTree ├── pseudomap@1.0.2

            25 silly currentTree ├── psl@1.1.31

            25 silly currentTree ├── pump@2.0.1

            25 silly currentTree ├── punycode@2.1.1

            25 silly currentTree ├── pyconf@1.1.6

            25 silly currentTree ├── q@1.1.2

            25 silly currentTree ├── qs@6.5.2

            25 silly currentTree ├── radio-symbol@2.0.0

            25 silly currentTree ├── random-bytes@1.0.0

            25 silly currentTree ├── range-parser@1.2.0

            25 silly currentTree ├── raw-body@2.3.3

            25 silly currentTree ├── rc@1.2.8

            25 silly currentTree ├── read-pkg-up@1.0.1

            25 silly currentTree ├── read-pkg@1.1.0

            25 silly currentTree ├── read@1.0.7

            25 silly currentTree ├── readable-stream@1.1.14

            25 silly currentTree ├─┬ readline-ui@2.2.3

            25 silly currentTree │ ├── ansi-regex@3.0.0

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── is-fullwidth-code-point@2.0.0

            25 silly currentTree │ ├── string-width@2.1.1

            25 silly currentTree │ └── strip-ansi@4.0.0

            25 silly currentTree ├─┬ readline-utils@2.2.3

            25 silly currentTree │ └── is-number@3.0.0

            25 silly currentTree ├── redis-commands@1.4.0

            25 silly currentTree ├── redis-parser@2.6.0

            25 silly currentTree ├── redis@2.8.0

            25 silly currentTree ├── remove-trailing-separator@1.1.0

            25 silly currentTree ├── request@2.88.0

            25 silly currentTree ├── require-directory@2.1.1

            25 silly currentTree ├── require-main-filename@1.0.1

            25 silly currentTree ├── resolve@1.10.0

            25 silly currentTree ├── revalidator@0.1.8

            25 silly currentTree ├── rimraf@2.6.3

            25 silly currentTree ├── rsa-compat@1.9.2

            25 silly currentTree ├── safe-buffer@5.1.2

            25 silly currentTree ├── safe-replace@1.1.0

            25 silly currentTree ├── safer-buffer@2.1.2

            25 silly currentTree ├── semver@5.6.0

            25 silly currentTree ├─┬ send@0.16.2

            25 silly currentTree │ └── statuses@1.4.0

            25 silly currentTree ├─┬ serialport@6.2.2

            25 silly currentTree │ ├── debug@3.2.6

            25 silly currentTree │ └── ms@2.1.1

            25 silly currentTree ├── serve-static@1.13.2

            25 silly currentTree ├── set-blocking@2.0.0

            25 silly currentTree ├── set-getter@0.1.0

            25 silly currentTree ├── set-value@3.0.0

            25 silly currentTree ├── setprototypeof@1.1.0

            25 silly currentTree ├─┬ shallow-clone@1.0.0

            25 silly currentTree │ └── kind-of@5.1.0

            25 silly currentTree ├── shebang-command@1.2.0

            25 silly currentTree ├── shebang-regex@1.0.0

            25 silly currentTree ├── signal-exit@3.0.2

            25 silly currentTree ├── simple-concat@1.0.0

            25 silly currentTree ├── simple-get@2.8.1

            25 silly currentTree ├─┬ socket.io-adapter@0.5.0

            25 silly currentTree │ ├── debug@2.3.3

            25 silly currentTree │ └── ms@0.7.2

            25 silly currentTree ├─┬ socket.io-client@1.7.2

            25 silly currentTree │ ├── component-emitter@1.2.1

            25 silly currentTree │ ├── debug@2.3.3

            25 silly currentTree │ └── ms@0.7.2

            25 silly currentTree ├─┬ socket.io-parser@2.3.1

            25 silly currentTree │ ├── debug@2.2.0

            25 silly currentTree │ └── ms@0.7.1

            25 silly currentTree ├─┬ socket.io@1.7.2

            25 silly currentTree │ ├── debug@2.3.3

            25 silly currentTree │ └── ms@0.7.2

            25 silly currentTree ├── sorted-array-functions@1.2.0

            25 silly currentTree ├── spdx-correct@3.1.0

            25 silly currentTree ├── spdx-exceptions@2.2.0

            25 silly currentTree ├── spdx-expression-parse@3.0.0

            25 silly currentTree ├── spdx-license-ids@3.0.3

            25 silly currentTree ├── sshpk@1.16.1

            25 silly currentTree ├── stack-trace@0.0.10

            25 silly currentTree ├─┬ static-extend@0.1.2

            25 silly currentTree │ ├── define-property@0.2.5

            25 silly currentTree │ ├─┬ is-accessor-descriptor@0.1.6

            25 silly currentTree │ │ └── kind-of@3.2.2

            25 silly currentTree │ ├─┬ is-data-descriptor@0.1.4

            25 silly currentTree │ │ └── kind-of@3.2.2

            25 silly currentTree │ ├── is-descriptor@0.1.6

            25 silly currentTree │ └── kind-of@5.1.0

            25 silly currentTree ├── statuses@1.5.0

            25 silly currentTree ├── streamifier@0.1.1

            25 silly currentTree ├── streamsearch@0.1.2

            25 silly currentTree ├── string_decoder@0.10.31

            25 silly currentTree ├── string-width@1.0.2

            25 silly currentTree ├── strip-ansi@3.0.1

            25 silly currentTree ├── strip-bom@2.0.0

            25 silly currentTree ├── strip-color@0.1.0

            25 silly currentTree ├── strip-eof@1.0.0

            25 silly currentTree ├── strip-json-comments@2.0.1

            25 silly currentTree ├── success-symbol@0.1.0

            25 silly currentTree ├── supports-color@2.0.0

            25 silly currentTree ├─┬ tar-fs@1.16.3

            25 silly currentTree │ └── pump@1.0.3

            25 silly currentTree ├─┬ tar-stream@1.6.2

            25 silly currentTree │ ├── isarray@1.0.0

            25 silly currentTree │ ├── readable-stream@2.3.6

            25 silly currentTree │ └── string_decoder@1.1.1

            25 silly currentTree ├── tar@4.4.8

            25 silly currentTree ├── terminal-paginator@2.0.2

            25 silly currentTree ├── thunky@1.0.3

            25 silly currentTree ├── time-stamp@1.1.0

            25 silly currentTree ├── to-array@0.1.4

            25 silly currentTree ├── to-buffer@1.1.1

            25 silly currentTree ├── to-object-path@0.3.0

            25 silly currentTree ├── toggle-array@1.0.1

            25 silly currentTree ├─┬ tough-cookie@2.4.3

            25 silly currentTree │ └── punycode@1.4.1

            25 silly currentTree ├── tunnel-agent@0.6.0

            25 silly currentTree ├── tweetnacl@0.14.5

            25 silly currentTree ├── type-is@1.6.16

            25 silly currentTree ├── uid-safe@2.1.5

            25 silly currentTree ├── ultron@1.0.2

            25 silly currentTree ├── universalify@0.1.2

            25 silly currentTree ├─┬ unix-dgram@0.2.3

            25 silly currentTree │ ├── bindings@1.1.1

            25 silly currentTree │ └── nan@2.3.5

            25 silly currentTree ├── unpipe@1.0.0

            25 silly currentTree ├── uri-js@4.2.2

            25 silly currentTree ├── ursa-optional@0.9.10

            25 silly currentTree ├── util-deprecate@1.0.2

            25 silly currentTree ├── util@0.10.4

            25 silly currentTree ├─┬ utile@0.3.0

            25 silly currentTree │ ├── async@0.9.2

            25 silly currentTree │ └── ncp@1.0.1

            25 silly currentTree ├── utils-merge@1.0.1

            25 silly currentTree ├── uuid@3.3.2

            25 silly currentTree ├── validate-npm-package-license@3.0.4

            25 silly currentTree ├── vary@1.1.2

            25 silly currentTree ├── verror@1.10.0

            25 silly currentTree ├── warning-symbol@0.1.0

            25 silly currentTree ├── which-module@1.0.0

            25 silly currentTree ├── which-pm-runs@1.0.0

            25 silly currentTree ├── which@1.3.1

            25 silly currentTree ├── wide-align@1.1.3

            25 silly currentTree ├─┬ window-size@1.1.1

            25 silly currentTree │ └── is-number@3.0.0

            25 silly currentTree ├── winston-daily-rotate-file@1.7.2

            25 silly currentTree ├── winston-syslog@1.2.6

            25 silly currentTree ├─┬ winston@2.4.4

            25 silly currentTree │ ├── async@1.0.0

            25 silly currentTree │ └── colors@1.0.3

            25 silly currentTree ├── wrap-ansi@2.1.0

            25 silly currentTree ├── wrappy@1.0.2

            25 silly currentTree ├── ws@1.1.1

            25 silly currentTree ├── wtf-8@1.0.0

            25 silly currentTree ├── xmlhttprequest-ssl@1.5.3

            25 silly currentTree ├── xtend@4.0.1

            25 silly currentTree ├── y18n@3.2.1

            25 silly currentTree ├── yallist@3.0.3

            25 silly currentTree ├── yargs-parser@5.0.0

            25 silly currentTree ├── yargs@7.1.0

            25 silly currentTree └── yeast@0.1.2

            26 silly idealTree iobroker.inst@2.0.2

            26 silly idealTree ├── @coolaj86/urequest@1.3.6

            26 silly idealTree ├── @serialport/parser-byte-length@1.0.5

            26 silly idealTree ├── @serialport/parser-cctalk@1.0.5

            26 silly idealTree ├── @serialport/parser-delimiter@1.0.5

            26 silly idealTree ├── @serialport/parser-readline@1.0.5

            26 silly idealTree ├── @serialport/parser-ready@1.0.5

            26 silly idealTree ├── @serialport/parser-regex@1.0.5

            26 silly idealTree ├── accepts@1.3.5

            26 silly idealTree ├── acme-v2@1.5.2

            26 silly idealTree ├── acme@1.2.0

            26 silly idealTree ├── after@0.8.2

            26 silly idealTree ├── ajv@6.8.1

            26 silly idealTree ├── ansi-bgblack@0.1.1

            26 silly idealTree ├── ansi-bgblue@0.1.1

            26 silly idealTree ├── ansi-bgcyan@0.1.1

            26 silly idealTree ├── ansi-bggreen@0.1.1

            26 silly idealTree ├── ansi-bgmagenta@0.1.1

            26 silly idealTree ├── ansi-bgred@0.1.1

            26 silly idealTree ├── ansi-bgwhite@0.1.1

            26 silly idealTree ├── ansi-bgyellow@0.1.1

            26 silly idealTree ├── ansi-black@0.1.1

            26 silly idealTree ├── ansi-blue@0.1.1

            26 silly idealTree ├── ansi-bold@0.1.1

            26 silly idealTree ├── ansi-colors@0.2.0

            26 silly idealTree ├── ansi-cyan@0.1.1

            26 silly idealTree ├── ansi-dim@0.1.1

            26 silly idealTree ├── ansi-gray@0.1.1

            26 silly idealTree ├── ansi-green@0.1.1

            26 silly idealTree ├── ansi-grey@0.1.1

            26 silly idealTree ├── ansi-hidden@0.1.1

            26 silly idealTree ├── ansi-inverse@0.1.1

            26 silly idealTree ├── ansi-italic@0.1.1

            26 silly idealTree ├── ansi-magenta@0.1.1

            26 silly idealTree ├── ansi-red@0.1.1

            26 silly idealTree ├── ansi-regex@2.1.1

            26 silly idealTree ├── ansi-reset@0.1.1

            26 silly idealTree ├── ansi-strikethrough@0.1.1

            26 silly idealTree ├── ansi-styles@2.2.1

            26 silly idealTree ├── ansi-underline@0.1.1

            26 silly idealTree ├── ansi-white@0.1.1

            26 silly idealTree ├── ansi-wrap@0.1.0

            26 silly idealTree ├── ansi-yellow@0.1.1

            26 silly idealTree ├── aproba@1.2.0

            26 silly idealTree ├─┬ are-we-there-yet@1.1.5

            26 silly idealTree │ ├── isarray@1.0.0

            26 silly idealTree │ ├── readable-stream@2.3.6

            26 silly idealTree │ └── string_decoder@1.1.1

            26 silly idealTree ├── arr-flatten@1.1.0

            26 silly idealTree ├─┬ arr-swap@1.0.1

            26 silly idealTree │ └── is-number@3.0.0

            26 silly idealTree ├── array-flatten@1.1.1

            26 silly idealTree ├── arraybuffer.slice@0.0.6

            26 silly idealTree ├── asn1@0.2.4

            26 silly idealTree ├── assert-plus@1.0.0

            26 silly idealTree ├── async-limiter@1.0.0

            26 silly idealTree ├── async@2.6.1

            26 silly idealTree ├── asynckit@0.4.0

            26 silly idealTree ├── aws-sign2@0.7.0

            26 silly idealTree ├── aws4@1.8.0

            26 silly idealTree ├── backo2@1.0.2

            26 silly idealTree ├── balanced-match@1.0.0

            26 silly idealTree ├── base64-arraybuffer@0.1.5

            26 silly idealTree ├── base64id@1.0.0

            26 silly idealTree ├── bcrypt-pbkdf@1.0.2

            26 silly idealTree ├── better-assert@1.0.2

            26 silly idealTree ├── bindings@1.3.0

            26 silly idealTree ├─┬ bl@1.2.2

            26 silly idealTree │ ├── isarray@1.0.0

            26 silly idealTree │ ├── readable-stream@2.3.6

            26 silly idealTree │ └── string_decoder@1.1.1

            26 silly idealTree ├── blob@0.0.4

            26 silly idealTree ├── bluebird@3.5.3

            26 silly idealTree ├── body-parser@1.18.3

            26 silly idealTree ├─┬ bonjour-hap@3.5.1

            26 silly idealTree │ ├── array-flatten@2.1.2

            26 silly idealTree │ └── deep-equal@1.0.1

            26 silly idealTree ├── brace-expansion@1.1.11

            26 silly idealTree ├── buffer-alloc-unsafe@1.1.0

            26 silly idealTree ├── buffer-alloc@1.2.0

            26 silly idealTree ├── buffer-equal-constant-time@1.0.1

            26 silly idealTree ├── buffer-fill@1.0.0

            26 silly idealTree ├── buffer-indexof@1.1.1

            26 silly idealTree ├── buffer-shims@1.0.0

            26 silly idealTree ├── busboy@0.2.14

            26 silly idealTree ├── bytes@3.0.0

            26 silly idealTree ├── callsite@1.0.0

            26 silly idealTree ├── camelcase@3.0.0

            26 silly idealTree ├── caseless@0.12.0

            26 silly idealTree ├── cert-info@1.5.0

            26 silly idealTree ├── chalk@1.1.3

            26 silly idealTree ├── charenc@0.0.2

            26 silly idealTree ├── choices-separator@2.0.0

            26 silly idealTree ├── chownr@1.1.1

            26 silly idealTree ├── cliui@3.2.0

            26 silly idealTree ├─┬ clone-deep@1.0.0

            26 silly idealTree │ └── kind-of@5.1.0

            26 silly idealTree ├── code-point-at@1.1.0

            26 silly idealTree ├── collection-visit@1.0.0

            26 silly idealTree ├── colors@1.3.3

            26 silly idealTree ├── combined-stream@1.0.7

            26 silly idealTree ├── commander@2.19.0

            26 silly idealTree ├── component-bind@1.0.0

            26 silly idealTree ├── component-emitter@1.1.2

            26 silly idealTree ├── component-inherit@0.0.3

            26 silly idealTree ├── concat-map@0.0.1

            26 silly idealTree ├── connect-flash@0.1.1

            26 silly idealTree ├── console-control-strings@1.1.0

            26 silly idealTree ├── content-disposition@0.5.2

            26 silly idealTree ├── content-type@1.0.4

            26 silly idealTree ├── cookie-parser@1.4.3

            26 silly idealTree ├── cookie-signature@1.0.6

            26 silly idealTree ├── cookie@0.3.1

            26 silly idealTree ├── copy-descriptor@0.1.1

            26 silly idealTree ├── core-js@2.3.0

            26 silly idealTree ├── core-util-is@1.0.2

            26 silly idealTree ├── crc@3.4.4

            26 silly idealTree ├── cron-parser@2.7.3

            26 silly idealTree ├── cross-spawn@5.1.0

            26 silly idealTree ├── crypt@0.0.2

            26 silly idealTree ├── curve25519-n@1.4.0

            26 silly idealTree ├── cycle@1.0.3

            26 silly idealTree ├── daemonize2@0.4.2

            26 silly idealTree ├── dashdash@1.14.1

            26 silly idealTree ├── debug@2.6.9

            26 silly idealTree ├── decamelize@1.2.0

            26 silly idealTree ├── decimal.js@7.5.1

            26 silly idealTree ├── decompress-response@3.3.0

            26 silly idealTree ├── deep-equal@0.2.2

            26 silly idealTree ├── deep-extend@0.6.0

            26 silly idealTree ├── define-properties@1.1.3

            26 silly idealTree ├── define-property@1.0.0

            26 silly idealTree ├── delayed-stream@1.0.0

            26 silly idealTree ├── delegates@1.0.0

            26 silly idealTree ├── depd@1.1.2

            26 silly idealTree ├── destroy@1.0.4

            26 silly idealTree ├── detect-libc@1.0.3

            26 silly idealTree ├── dev-null@0.1.1

            26 silly idealTree ├── dgram@1.0.1

            26 silly idealTree ├── dicer@0.2.5

            26 silly idealTree ├── dns-equal@1.0.0

            26 silly idealTree ├── dns-packet@1.3.1

            26 silly idealTree ├── dns-txt@2.0.2

            26 silly idealTree ├── double-ended-queue@2.1.0-0

            26 silly idealTree ├── ecc-jsbn@0.1.2

            26 silly idealTree ├── ecdsa-sig-formatter@1.0.10

            26 silly idealTree ├── ed25519-hap@0.0.5

            26 silly idealTree ├── ee-first@1.1.1

            26 silly idealTree ├── encodeurl@1.0.2

            26 silly idealTree ├── end-of-stream@1.4.1

            26 silly idealTree ├─┬ engine.io-client@1.8.2

            26 silly idealTree │ ├── component-emitter@1.2.1

            26 silly idealTree │ ├── debug@2.3.3

            26 silly idealTree │ └── ms@0.7.2

            26 silly idealTree ├── engine.io-parser@1.3.2

            26 silly idealTree ├─┬ engine.io@1.8.2

            26 silly idealTree │ ├── accepts@1.3.3

            26 silly idealTree │ ├── debug@2.3.3

            26 silly idealTree │ └── ms@0.7.2

            26 silly idealTree ├── error-ex@1.3.2

            26 silly idealTree ├── error-symbol@0.1.0

            26 silly idealTree ├── es6-promise@3.0.2

            26 silly idealTree ├── escape-html@1.0.3

            26 silly idealTree ├── escape-string-regexp@1.0.5

            26 silly idealTree ├── etag@1.8.1

            26 silly idealTree ├── execa@0.7.0

            26 silly idealTree ├── expand-template@1.1.1

            26 silly idealTree ├─┬ express-fileupload@0.4.1

            26 silly idealTree │ └── fs-extra@4.0.3

            26 silly idealTree ├── express-session@1.15.6

            26 silly idealTree ├─┬ express@4.16.4

            26 silly idealTree │ └── statuses@1.4.0

            26 silly idealTree ├── extend-shallow@2.0.1

            26 silly idealTree ├── extend@3.0.2

            26 silly idealTree ├── extsprintf@1.3.0

            26 silly idealTree ├── eyes@0.1.8

            26 silly idealTree ├── fast-deep-equal@2.0.1

            26 silly idealTree ├── fast-json-stable-stringify@2.0.0

            26 silly idealTree ├── fast-srp-hap@1.0.1

            26 silly idealTree ├─┬ finalhandler@1.1.1

            26 silly idealTree │ └── statuses@1.4.0

            26 silly idealTree ├── find-up@1.1.2

            26 silly idealTree ├── for-in@1.0.2

            26 silly idealTree ├── for-own@1.0.0

            26 silly idealTree ├── forever-agent@0.6.1

            26 silly idealTree ├── form-data@2.3.3

            26 silly idealTree ├── forwarded@0.1.2

            26 silly idealTree ├── fresh@0.5.2

            26 silly idealTree ├── fs-constants@1.0.0

            26 silly idealTree ├── fs-extra@7.0.1

            26 silly idealTree ├── fs-minipass@1.2.5

            26 silly idealTree ├── fs.realpath@1.0.0

            26 silly idealTree ├── function-bind@1.1.1

            26 silly idealTree ├── gauge@2.7.4

            26 silly idealTree ├── get-caller-file@1.0.3

            26 silly idealTree ├── get-stream@3.0.0

            26 silly idealTree ├── getpass@0.1.7

            26 silly idealTree ├── github-from-package@0.0.0

            26 silly idealTree ├── glob@7.1.3

            26 silly idealTree ├── glossy@0.1.7

            26 silly idealTree ├── graceful-fs@4.1.15

            26 silly idealTree ├── greenlock@2.6.7

            26 silly idealTree ├── hap-nodejs-community-types@0.2.1

            26 silly idealTree ├── hap-nodejs@0.4.48

            26 silly idealTree ├── har-schema@2.0.0

            26 silly idealTree ├── har-validator@5.1.3

            26 silly idealTree ├── has-ansi@2.0.0

            26 silly idealTree ├── has-binary@0.1.7

            26 silly idealTree ├─┬ has-binary2@1.0.3

            26 silly idealTree │ └── isarray@2.0.1

            26 silly idealTree ├── has-cors@1.1.0

            26 silly idealTree ├── has-unicode@2.0.1

            26 silly idealTree ├── has@1.0.3

            26 silly idealTree ├─┬ homebridge-plugin-wrapper@1.0.0

            26 silly idealTree │ └── semver@5.0.3

            26 silly idealTree ├── hosted-git-info@2.7.1

            26 silly idealTree ├── http-errors@1.6.3

            26 silly idealTree ├── http-signature@1.2.0

            26 silly idealTree ├── i@0.3.6

            26 silly idealTree ├── iconv-lite@0.4.23

            26 silly idealTree ├── immediate@3.0.6

            26 silly idealTree ├── indexof@0.0.1

            26 silly idealTree ├── inflight@1.0.6

            26 silly idealTree ├── info-symbol@0.1.0

            26 silly idealTree ├── inherits@2.0.3

            26 silly idealTree ├── ini@1.3.5

            26 silly idealTree ├── invert-kv@1.0.0

            26 silly idealTree ├─┬ iobroker.admin@3.5.10

            26 silly idealTree │ ├── accepts@1.3.5

            26 silly idealTree │ ├── after@0.8.2

            26 silly idealTree │ ├── ajv@6.8.1

            26 silly idealTree │ ├── array-flatten@1.1.1

            26 silly idealTree │ ├── arraybuffer.slice@0.0.6

            26 silly idealTree │ ├── asn1@0.2.4

            26 silly idealTree │ ├── assert-plus@1.0.0

            26 silly idealTree │ ├── asynckit@0.4.0

            26 silly idealTree │ ├── aws-sign2@0.7.0

            26 silly idealTree │ ├── aws4@1.8.0

            26 silly idealTree │ ├── backo2@1.0.2

            26 silly idealTree │ ├── base64-arraybuffer@0.1.5

            26 silly idealTree │ ├── base64id@1.0.0

            26 silly idealTree │ ├── bcrypt-pbkdf@1.0.2

            26 silly idealTree │ ├── better-assert@1.0.2

            26 silly idealTree │ ├── blob@0.0.4

            26 silly idealTree │ ├── body-parser@1.18.3

            26 silly idealTree │ ├── busboy@0.2.14

            26 silly idealTree │ ├── bytes@3.0.0

            26 silly idealTree │ ├── callsite@1.0.0

            26 silly idealTree │ ├── caseless@0.12.0

            26 silly idealTree │ ├── charenc@0.0.2

            26 silly idealTree │ ├── combined-stream@1.0.7

            26 silly idealTree │ ├── component-bind@1.0.0

            26 silly idealTree │ ├── component-emitter@1.1.2

            26 silly idealTree │ ├── component-inherit@0.0.3

            26 silly idealTree │ ├── connect-flash@0.1.1

            26 silly idealTree │ ├── content-disposition@0.5.2

            26 silly idealTree │ ├── content-type@1.0.4

            26 silly idealTree │ ├── cookie-parser@1.4.3

            26 silly idealTree │ ├── cookie-signature@1.0.6

            26 silly idealTree │ ├── cookie@0.3.1

            26 silly idealTree │ ├── core-util-is@1.0.2

            26 silly idealTree │ ├── crc@3.4.4

            26 silly idealTree │ ├── crypt@0.0.2

            26 silly idealTree │ ├── dashdash@1.14.1

            26 silly idealTree │ ├── debug@2.6.9

            26 silly idealTree │ ├── delayed-stream@1.0.0

            26 silly idealTree │ ├── depd@1.1.2

            26 silly idealTree │ ├── destroy@1.0.4

            26 silly idealTree │ ├── dicer@0.2.5

            26 silly idealTree │ ├── ecc-jsbn@0.1.2

            26 silly idealTree │ ├── ee-first@1.1.1

            26 silly idealTree │ ├── encodeurl@1.0.2

            26 silly idealTree │ ├─┬ engine.io-client@1.8.2

            26 silly idealTree │ │ ├── component-emitter@1.2.1

            26 silly idealTree │ │ ├── debug@2.3.3

            26 silly idealTree │ │ └── ms@0.7.2

            26 silly idealTree │ ├── engine.io-parser@1.3.2

            26 silly idealTree │ ├─┬ engine.io@1.8.2

            26 silly idealTree │ │ ├── accepts@1.3.3

            26 silly idealTree │ │ ├── debug@2.3.3

            26 silly idealTree │ │ └── ms@0.7.2

            26 silly idealTree │ ├── escape-html@1.0.3

            2

      • (avtomat78)
        (avtomat78) отредактировано 9 месяцев назад

        Попробовал, во время установки вылезли эти ошибки, но брокер завелся, спасибо!

        ImportError: No module named compiler.ast

        gyp ERR! configure error

        gyp ERR! stack Error: `gyp` failed with exit code: 1

        gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)

        gyp ERR! stack at emitTwo (events.js:126:13)

        gyp ERR! stack at ChildProcess.emit (events.js:214:7)

        gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)

        gyp ERR! System Linux 4.14.79-v7+

        gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

        gyp ERR! cwd /opt/iobroker/node_modules/serialport

        gyp ERR! node -v v8.15.0

        gyp ERR! node-gyp -v v3.8.0

        gyp ERR! not ok


        Но возникла другая проблема, из за которой я и решил переставить брокер с винды на малинку,

        при попытке установить в брокере драйвер Homekit онже яшка вываливаются следующие ошибки, они же не давали поставить этот драйвер в виндовс

        • $ ./iobroker add yahka --host DietPi
        • NPM version: 6.4.1
        • npm install iobroker.yahka --production --save --prefix "/opt/iobroker" (System call) Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in import gyp File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in import gyp.input File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 5, in from compiler.ast import Const ImportError: No module named compiler.ast gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.14.79-v7+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/curve25519-n gyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0gyp ERR! not ok npm ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! curve25519-n@1.4.0 install: `node-gyp rebuild` npm ERR! Exit status 1npm ERR! npm ERR! Failed at the curve25519-n@1.4.0 install script.npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in:npm ERR! /home/iobroker/.npm/_logs/2019-02-06T07_28_04_623Z-debug.log host.DietPi install adapter yahka NPM version: 6.4.1 npm install iobroker.yahka --production --save --prefix "/opt/iobroker" (System call) Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in import gyp File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in import gyp.input File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 5, in from compiler.ast import Const ImportError: No module named compiler.ast gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.14.79-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/curve25519-n gyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLEnpm ERR! errno 1 npm ERR! curve25519-n@1.4.0 install: `node-gyp rebuild`npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the curve25519-n@1.4.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2019-02-06T07_28_59_033Z-debug.log host.DietPi install adapter yahka NPM version: 6.4.1 npm install iobroker.yahka --production --save --prefix "/opt/iobroker" (System call) Traceback (most recent call last): File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 13, in import gyp File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 8, in import gyp.input File "/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 5, in from compiler.ast import ConstImportError: No module named compiler.ast gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16)gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.14.79-v7+gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/curve25519-n gyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! curve25519-n@1.4.0 install: `node-gyp rebuild`npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the curve25519-n@1.4.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2019-02-06T07_29_54_210Z-debug.log host.DietPi install adapter yahka ERROR: host.DietPi Cannot install yahka ERROR: process exited with code 13
  11. (avtomat78)
    (avtomat78) отредактировано 9 месяцев назад

    А это в логе

    0 info it worked if it ends with ok

    1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', '-g', 'node-gyp' ]

    2 info using npm@6.4.1

    3 info using node@v8.15.0

    4 verbose npm-session 7c0076654c52b3df

    5 silly install loadCurrentTree

    6 silly install readGlobalPackageData

    7 silly fetchPackageMetaData error for node-gyp@latest request to https://registry.npmjs.org/nod..." target="_blank" title="https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod...">https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod... failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443

    8 timing stage:rollbackFailedOptional Completed in 23ms

    9 timing stage:runTopLevelLifecycles Completed in 1917ms

    10 verbose type system

    11 verbose stack FetchError: request to https://registry.npmjs.org/nod..." target="_blank" title="https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod...">https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod... failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443

    11 verbose stack at ClientRequest.req.on.err (/usr/lib/node_modules/npm/node_modules/node-fetch-npm/src/index.js:68:14)

    11 verbose stack at emitOne (events.js:116:13)

    11 verbose stack at ClientRequest.emit (events.js:211:7)

    11 verbose stack at TLSSocket.socketErrorListener (_http_client.js:401:9)

    11 verbose stack at emitOne (events.js:116:13)

    11 verbose stack at TLSSocket.emit (events.js:211:7)

    11 verbose stack at emitErrorNT (internal/streams/destroy.js:66:8)

    11 verbose stack at _combinedTickCallback (internal/process/next_tick.js:139:11)

    11 verbose stack at process._tickCallback (internal/process/next_tick.js:181:9)

    12 verbose cwd /root

    13 verbose Linux 4.14.79-v7+

    14 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "node-gyp"

    15 verbose node v8.15.0

    16 verbose npm v6.4.1

    17 error code EAI_AGAIN

    18 error errno EAI_AGAIN

    19 error request to https://registry.npmjs.org/nod..." target="_blank" title="https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod...">https://registry.npmjs.org/node-gyp">https://registry.npmjs.org/nod... failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443

    20 verbose exit [ 1, true ]

  12. (avtomat78)
    (avtomat78) 9 месяцев назад

    Хотел еще логи приложить, но такую портянку сайт не смог переварить.

  13. (avtomat78)
    (avtomat78) 9 месяцев назад

    Чудесным образом, после переустановки питона все заработало, спасибо за помощь!

  14. (TheMustafa)
    (TheMustafa) отредактировано 8 месяцев назад

    Здравствуйте, у меня такая же ошибка, как у (avtomat78). Пробовал все ваши подсказки( sudo npm install -g node-gyp --unsafe-perm, sudo npm install -g serialport --unsafe-perm ). Результат такой же:

    ImportError: No module named compiler.ast gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:345:16) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! System Linux 4.14.79-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /usr/lib/node_modules/serialport/node_modules/@serialport/bindings gyp ERR! node -v v8.15.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @serialport/bindings@2.0.7 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @serialport/bindings@2.0.7 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2019-02-15T12_55_02_028Z-debug.log root@DietPi:~# serialport-list bash: serialport-list: command not found

  15. Роман Эсмедляев (Mr_REM_Esq)
    Роман Эсмедляев (Mr_REM_Esq) 8 месяцев назад

    Не устанавливается serialport на Debian. Команда sudo npm install -g serialport --unsafe-perm вроде выполнятеся. Но потом при попытке просмотра портов получаю:

    roman@iobroker:~$ serialport-list

    -bash: serialport-list: команда не найдена

К списку статей

Похожие статьи

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
30 июня 2018, 12:17
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.
25 сентября 2018, 07:06
Делаем умный замок с интеграцией в HomeKit
09 января 2019, 17:34
Небольшая статья о том, зачем нужна малина, почему автоматизации в HomeKit это не очень хорошо и чем USB стик лучше отдельного шлюза.
07 января 2019, 23:10
Внимание, в тексте присутствует ирония к разным системам отличным от Home-assistant. А так же лирика, которую разумеется читать не обязательно. В тексте так же пойдет речь о софте который я рекомендую использовать с любыми WEB дашбордами, без привязки к хом-асистанту, в связи с широко открываемыми дополнительными возможностями.
11 мая 2018, 17:40
Данное руководство предназначено для тех, кто хочет самостоятельно развернуть RASPBIAN STRETCH LITE на Raspberry pi3 и установить HomeBridge.
26 ноября 2018, 12:35
Выключение и включение компьютера через HomeBridge, а так-же через HomeAssistant