Краткая инструкция по установке системы Majordomo на JetHUB D1 с помощью скрипта установки.
Информацию о характеристиках контроллера можно посмотреть (и купить устройство) на оф. сайте производителя http://jethome.ru/jethub-d1.
Контроллер представляет из себя законченное решение, обладающее всеми современными необходимыми для работы портами.
В данной инструкции мы настроим:
1) MajorDoMO
2) Zigbee2mqtt
Прошивку на устройство можно установить с помощью программа USB Burning Tool. Актуальные версии прошивки armbian лежат в репозитории производителя.
Воспользуемся скриптом установки от Сергея Кушеева @immortal_serg
wget https://raw.githubusercontent.com/immortalserg/installmd/master/installmd
chmod +x ./installmd
sudo ./installmd -x -c
В идеале система должна установиться автоматически, но мне пришлось запускать скрипт установки несколько раз с одними и теми же параметрами.
В результате вы должны увидеть что-то типа этого:
Но при первой установке не установилась maria-db, повторная установка скриптом прошла успешно.
Также пришлось воспольноваться инструкцией установки системы для linux и вручную перекачать актуальную версию MajorDoMo через консоль:
mkdir ~/majordomo
cd ~/majordomo
wget https://github.com/sergejey/majordomo/archive/master.zip
unzip master.zip
sudo cp -rp ~/majordomo/majordomo-master/* /var/www/
sudo cp -rp ~/majordomo/majordomo-master/.htaccess /var/www/
rm -rf ~/majordomo
дать права пользователю www-data
sudo find /var/www/ -type f -exec chmod 0644 {} \;
sudo find /var/www/ -type d -exec chmod 0755 {} \;
и установить владельца
sudo chown -R www-data:www-data /var/www/
После чего через браузер стала доступна система:
Нагрузку на систему можно оценить по следующему скрину:
Свободное место после установки системы:
Воспользуемся официальной инструкцией с сайта проекта zigbee2mqtt.
sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs git make g++ gcc
node --version # Should output v12.X or v10.X
npm --version # Should output 6.X
sudo git clone https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
sudo chown -R pi:pi /opt/zigbee2mqtt
cd /opt/zigbee2mqtt
npm ci --production
При успешной установке должно получиться что-то типа такого:
node-pre-gyp info ok
added 383 packages in 111.613s
Для удобства установим Midnight Commander
sudo apt-get install mc
Для работы нам также понадобится MQTT брокер, например mosquitto
sudo apt-get install mosquitto
Отредактируем конфигурационный файл:
homeassistant: false
permit_join: true
mqtt:
base_topic: z2m_jethome
server: 'mqtt://localhost'
serial:
port: /dev/ttyAML2
frontend:
port: 8080
host: 0.0.0.0
Запустим z2m из консоли
cd /opt/zigbee2mqtt
npm start
В консоли должен запуститься stdout от zigbee2mqtt.
Zigbee2MQTT:info 2019-11-09T13:04:01: Logging to directory: '/opt/zigbee2mqtt/data/log/2019-11-09.14-04-01'
Zigbee2MQTT:info 2019-11-09T13:04:01: Starting Zigbee2MQTT version 1.6.0 (commit #720e393)
Zigbee2MQTT:info 2019-11-09T13:04:01: Starting zigbee-herdsman...
Zigbee2MQTT:info 2019-11-09T13:04:03: zigbee-herdsman started
Zigbee2MQTT:info 2019-11-09T13:04:03: Coordinator firmware version: '{"type":"zStack30x","meta":{"transportrev":2,"product":2,"majorrel":2,"minorrel":7,"maintrel":2,"revision":20190425}}'
Zigbee2MQTT:info 2019-11-09T13:04:03: Currently 0 devices are joined:
Zigbee2MQTT:warn 2019-11-09T13:04:03: `permit_join` set to `true` in configuration.yaml.
Zigbee2MQTT:warn 2019-11-09T13:04:03: Allowing new devices to join.
Zigbee2MQTT:warn 2019-11-09T13:04:03: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info 2019-11-09T13:04:03: Zigbee: allowing new devices to join.
Zigbee2MQTT:info 2019-11-09T13:04:03: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:info 2019-11-09T13:04:03: Connected to MQTT server
Если старт прошел успешно, можно добавить z2m как сервис, для этого необходимо создать файл
sudo nano /etc/systemd/system/zigbee2mqtt.service
со следующим содержимым
[Unit]
Description=zigbee2mqtt
After=network.target
[Service]
ExecStart=/usr/bin/npm start
WorkingDirectory=/opt/zigbee2mqtt
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
Команды управления z2m
# Запустить Zigbee2MQTT
sudo systemctl start zigbee2mqtt
# Остановить Zigbee2MQTT
sudo systemctl start zigbee2mqtt
# Показать статус
systemctl status zigbee2mqtt.service
# Запускать автоматически как сервис
sudo systemctl enable zigbee2mqtt.service
Благодаря Анониму, в z2m появился web-интерфейс, в примере конфигурационного файла он настроен на 8080 порт:
Дальше можно воспользоваться инструкцией.
Екатеринбург, Россия
На форуме: directman66