Установка 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. Магомед Сападиев (Sapadiev)
    Магомед Сападиев (Sapadiev) 8 месяцев назад

    👍

  2. Илья Гитлин (iGitlin)
    Илья Гитлин (iGitlin) 8 месяцев назад

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

  3. (lopezzz)
    (lopezzz) 8 месяцев назад

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

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

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

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

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

      • (Myxo-Mop)
        (Myxo-Mop) отредактировано 7 месяцев назад
        Комментарий был удален
      • (cimvit)
        (cimvit) 7 месяцев назад

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

  4. Сергей Макаров (Pooh)
    Сергей Макаров (Pooh) 7 месяцев назад
    1. Это устаревший способ. Установка самого ioBroker теперь делается скриптом:
    2. curl -sL https://raw.githubusercontent.... | bash -
    • F. Alexander (Alex1808)
      F. Alexander (Alex1808) 6 месяцев назад

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            А вот это реакция на попытку обновить 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) 3 месяца назад

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

               iobroker ALL=(ALL) NOPASSWD: ALL

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

                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

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

    Официально этот способ не поддерживается и, как заверяют разработчики, уже не работает, только скрипт!

    Кому сложно понять по-немецки, есть перевод

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

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

    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) 5 месяцев назад

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

      sudo su

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

        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) 5 месяцев назад

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

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

            первая команда отработала без ошибок, при выполнении  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) отредактировано 5 месяцев назад
            Комментарий был удален
      • (avtomat78)
        (avtomat78) отредактировано 5 месяцев назад
        Комментарий был удален
  13. (avtomat78)
    (avtomat78) отредактировано 5 месяцев назад
    Комментарий был удален
  14. (avtomat78)
    (avtomat78) 5 месяцев назад

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

  15. (avtomat78)
    (avtomat78) 5 месяцев назад

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

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

    Здравствуйте, у меня такая же ошибка, как у (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

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

    Не устанавливается 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 за четыре команды в терминале.
04 апреля 2019, 17:48
Расскажу о том за ~1 час перевезти УД с 2мя USB стиками с Raspberry PI на Synology NAS.
14 ноября 2018, 06:43
Плагин для интеграции в Athom Homey дочерних zigbee-устройств, подключенных на координаторы deCONZ - RaspBee или ConBee.
01 ноября 2018, 09:27
Настройка Deconz USB стика ConBee от Dresden Elektronik в Hass.io и некоторые особенности эксплуатации
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar
03 октября 2018, 22:03
Как собрать и настроить Hyperion Ambilight - адаптивную подсветку ТВ.
30 июня 2018, 12:17
Добавляем устройства управляемые по ИК через Broadlink RM3 Mini на примере кондиционера.
25 сентября 2018, 07:06
Делаем умный замок с интеграцией в HomeKit
09 января 2019, 17:34
Небольшая статья о том, зачем нужна малина, почему автоматизации в HomeKit это не очень хорошо и чем USB стик лучше отдельного шлюза.