ioBroker - ВведениеУстановка ioBroker на ОС LinuxioBroker - админкаioBroker - устанавливаем первый драйверioBroker - ВизуализацияioBroker - уведомленияioBroker - управлениeioBroker - Собрать всех вместе и завести в Apple HomeKit
ioBroker - ham - HomeKitioBroker - Inline меню для Telegram бота
Всем привет!
У многих возникает проблема с первой установкой 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_10.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
должны увидеть вывод примерно как на скрине ниже (версии актуальны на 20.11.2019)
Выходим из root командой exit
Подготовка к установке ioBroker закончена, переходим непосредственно к самой установке ioBroker (все команды отрабатываем построчно)
curl -sL https://iobroker.net/install.sh | bash -
ждём завершения процесса установки.
После удачной установки iobroker должен будет доступен по адресу в браузере
http://ип_вашей_системы:8081
Запоминаем что всё что делаем с ioBroker делаем из директории /opt/iobroker
Соответственно переход у нас такой
cd /opt/iobroker
Базовые команды
iobroker start iobroker stop iobroker restart
Больше узнать о доступных командах можем командой
iobroker -h
На случай если по каким-то причинам "побились" права или нарушился автозапуск то можем всё поправить командой
curl -sL https://iobroker.net/fix.sh | bash -
Небольшой обзор админки мы проведём в следующей статье.
Удачи!
👍
понятно и доходчиво, ждем продолжения
Подскажите. А iobroker сам после перезагрузки стартует? Или каждый раз ручками надо запускать?
Должен сам. Если у вас после ребута сам не стартует то встало криво и файл автостарта не закинулся в службу. Просто сделайте поверх ещё раз (из под юзера)
Огромное спасибо. Помогло. На Ubuntu server 16 04 ставил. Все отлично по вашей инструкции установилось, только автостарт не взлетел сразу.
А как, просто взять и закинуть файл автостарта в службу? Поставить поверх от имени юзера - я не смог...
Не помогло не стартует сам. что еще можно сделать
Ничего он не устаревший, в скрипте те-же команды на установку с NPM ;) разве-что папки создаёт автоматом
Добрый день. Подскажите, нужно ли перед установкой iobroker на
OS Linux Mint 19.1 ставить какие нить пакеты. делал все как описано у вас в описании... но iobroker не стартует. У меня есть опыт работы с iobroker только на Raspberry pi. Проблем с установкой вообще не было. а тут просто ступор уже.
повторите
Повторял и ситуация не меняется... пробовал и с правами root и без... в чем может быть еще проблема?
а вот если через скрипт устанавливать, повторять ничего не надо
curl -sL https://raw.githubusercontent.com/ioBroker/ioBroker/stable-installer/installer.sh">https://raw.githubusercontent.... | bash -
это полный скрипт?
просто в терминале набери, скрипт скачается и запустится
информация из этого источника? http://www.iobroker.net/docu/?page_id=8323&lang=de">http://www.iobroker.net/docu/?...
да вроде оттуда
Все отлично.. скрипт работает. всем советую.
Я конечно понимаю, что "установка ОС расписана много раз", но добавьте пожалуйста, хотя бы раздел про права. После установки с нуля на debian очень много ошибок с ними имею.
При установке скриптом не нужно заморачиваться с правами, установку можно запустить и от юзера и от рута, скрипт при необходимости запросит разрешения. Он теперь создает юзера iobroker и устанавливает в его домашнюю папку
добавить пользователя ioBroker в группу HAM
А вот это реакция на попытку обновить 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
добавь в /etc/sudoers.d/iobroker строчку:
iobroker ALL=(ALL) NOPASSWD: ALL
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
Официально этот способ не поддерживается и, http://www.iobroker.net/docu/?page_id=8323&lang=de#Installation_ioBroker_alter_Weg_optional">как заверяют разработчики, уже не работает, только скрипт!
Кому сложно понять по-немецки, https://iobox.poohnet.mykeenetic.net/install_iobroker/">есть перевод
Здравствуйте, у меня на малинке после команды появляются ошибки, причем даже после автоматического скрипта не работает, как это исправить?
Попробуй устаноку скрипта из под root
sudo su
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
sudo npm install -g node-gyp --unsafe-perm
sudo npm install -g serialport --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-06T07_59_03_649Z-debug.log
При попытке установки в брокере 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/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-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/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
Попробовал, во время установки вылезли эти ошибки, но брокер завелся, спасибо!
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 онже яшка вываливаются следующие ошибки, они же не давали поставить этот драйвер в виндовс
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
А это в логе
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/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/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/node-gyp">https://registry.npmjs.org/nod... failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
20 verbose exit [ 1, true ]
Хотел еще логи приложить, но такую портянку сайт не смог переварить.
Чудесным образом, после переустановки питона все заработало, спасибо за помощь!
Здравствуйте, у меня такая же ошибка, как у (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
Не устанавливается serialport на Debian. Команда sudo npm install -g serialport --unsafe-perm вроде выполнятеся. Но потом при попытке просмотра портов получаю:
roman@iobroker:~$ serialport-list
-bash: serialport-list: команда не найдена