OpenHAB + deCONZ + Node-RED

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ответить
Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

OpenHAB + deCONZ + Node-RED

Сообщение Bonefolder » 27 апр 2019, 23:42

В данной теме будет описана установка «чистого» Raspbiana, c последующей установкой OpenHAB, утилиты deCONZ. А так же взаимодействие всего этого, включая «прокладку» Node-RED.
Небольшое лирическое отступление:
Многие пользователи сайта уже знакомы с OpenHAB’ом. Также, в соседних темах часто пересекаются дискуссии по поводу данной программы. Но все как-то разрозненно. И если владелец сайта будет не против, то думаю, было бы уместно собрать все, что касается OpenHAB’a в одном месте. Здесь же предлагаю делиться своими наработками по OpenHAB’у, Node-RED’у и deCONZ, дабы не замусоривать профильные топики
На написание данной темы меня подвигли просьбы форумчан, а так же проблема, с которой я столкнулся и не смог решить самостоятельно, в силу недостаточных знаний. У меня был вполне себе рабочий OpenHAB, развернутый из образа OPENHABIAN. Данная программа работала в течении 3-х лет. За 3 года развернутый образ оброс дополнительными программами и утилитами. Не смотря на возникающие ошибки и предупреждения OpenHAB успешно работал и управлял необходимыми мне процессами. И все было бы хорошо, не появись у меня желание избавится от китайских серверов через которые работает Mi Hub для управления xiaomi/aqara девайсами. Размышляя над альтернативным решением вопроса, я натолкнулся на deCONZ баиндинг. Как многие уже знают, OpenHAB имеет баиндинги для взаимодействия с большим множеством программ и физических девайсов. Один из таких байндингов - deCONZ. Этот баиндинг служит для взаимодействия OpenHAB’а и программы deCONZ. deCONZ в свою очередь взаимодействует с ConBee-II (USB) либо RaspBee Premium (UART) выступающих в роли ZigBee шлюзов. Подробнее можно прочитать на сайте производителя Дрезден Электроникс
Мой выбор пал на RaspBee Premium так как мне не нравятся торчащие девайсы из USB порта, и посчитал наиболее целесообразным занять свободный GPIO разъем малины. После подключения RaspBee к малине и установки необходимого ПО я натолкнулся на проблему того, что программа deCONZ не видит RaspBee. После перепрошивки платы программа видела плату (RaspBee), ровно до того момента пока не перегрузить малину. То ли «урезанность» openhabian’a, то ли замусоренность системы мешала программе видеть плату мне выяснить не удалось ввиду недостатка моего опыта в Линукс. Знакомый помог мне частично решить проблему, установив «костыль». Но и ему не удалось выяснить причину, а лишь «вылечить» симптомы. Такое решение меня не устроило. И я решил установить все с чистого листа. Собственно, о чем и пойдет дальнейшее повествование. Сразу оговорюсь, выгода от deCONZ’а, в сравнении с родным Ми Хабом, будет неочевидна для большинства пользователей. И у того и другого девайса есть свои плюсы и минусы. Из плюсов deCONZ’а - большее количество подключаемых девайсов - 200, против 30 Ми Хаба; Усилитель сигнала позволяет работать внутри стен до 30 метром, против 5-10 Ми Хаба; хорошее ПО deCONZ с rest API, позволяющее легко интегрировать в другие системы. Из минусов можно отметить стоимость на приобретение. Так как у большинства пользователей уже есть Ми Хаб. Часть программного кода придется дописывать руками. Но это несравнимо легче чем добывать «токен» к Ми Хабу. На момент написания данного материала, существующий deCONZ баиндинг версии 2.4.0 в OpenHAB’е практически не поддерживает «каналы» Деконза. Здесь нам на помощь придет Node-RED

Итак, нам понадобятся:
- Raspberry Pi - Одноплатный мини компьютер. Здесь и далее - малинка
- Micro SD карточка емкостью 8GB. Подойдет и 4GB. Но в дальнейшем вы можете упереться в нехватку места на диске. Разработчики OpenHAB рекомендуют 16GB
- ZigBee шлюз. ConBee-II (USB) либо RaspBee Premium (UART). В моем случае RaspBee
- Наличие Интернет и терпения
Можно воспользоваться инструкцией с сайта OpenHAB Но эта инструкция на английском языке.
Установка Raspbian
1. Заходим на официальный сайт Raspberry и скачиваем образ. Выбираем тот, что больше всего подходит под Ваши цели. Я использовал Raspbian Stretch Lite
2. Скачиваем программу Etcher для записи загруженного образа на SD карточку. Сайт сам определяет вашу операционную систему и предлагает для закачки нужный дистрибьютив. Но можно выбрать самостоятельно.
3. Записываем образ на карточку, следуя подсказкам Etcher’а, либо инструкции с сайта Raspberry Pi Перед «прожигом» карточки распаковываем архив со скаченным образом Raspbian, как это диктует инструкция. Я это проделывал на Mac OS и мне не пришлось предварительно распаковывать скаченный архив образа.
- Запускаем Etcher
- Выбираем скаченный и предварительно распакованный имидж Raspbian
- Выбираем SD карточку куда будем записывать образ
- Нажимаем «FLASH»
- Пьем кофе, или другой напиток, пока Etcher выполнит операцию записи
4. По окончанию записи нам необходимо создать пустой файл ssh, без расширения в корневой папке нашей SD карточки. Это необходимо для дальнейшего доступа к нашей малинке по SSH. Я не знаю, почему Raspberry Org не вложили этот файл по умолчанию. (Прим. чтобы компьютер увидел вашу карточку, по окончанию "прожига" необходимо достать карточку из компьютера и снова вставить)
5. Вставляем записанную SD карту в малинку. Подключаем сетевой кабель, затем кабель от блока питания. Именно в такой последовательности. Это убережет вашу карточку и мини ПК от повреждения.
6. Далее нам необходимо узнать IP адрес полученный нашей малинкой по DHCP. На Mac OS использую бесплатную версию программы LanScan На Win PC можно найти нечто похожее.
7. Зная IP адрес нашей малины подключаемся к ней по SSH. На Mac OS это можно делать в родном «Терминале». Для Виндоуз подойдет терминальный клиент PuTTY в настройках необходимо будет добавить порт 22, логин pi, пароль raspberry
- в терминале (Mac OS) пишем ssh pi@192.168.1.111 (IP адрес пишите свой, добытый в п.6) и жмем Return (Win OS - Enter)
- соглашаемся с политикой безопасности, написав yes и нажав Enter
- далее, терминал предложит ввести пароль. Вводим raspberry (ввод пароля не отображается) и жмем Return
- если пароль оказался верным то мы увидим GNU дисклэймер и приглашение к дальнейшему диалогу

Код: Выделить всё

pi@raspberrypi:~ $

Если нет, то придется еще раз ввести пароль.
8. На этом этапе Дебиан предлагает изменить пароль по умолчанию, написав команду passwd Но это можно будет сделать и позже в Raspberry Pi Software Configuration Tool (raspi-config)
9. Для перехода в Configuration Tool необходимо написать команду:

Код: Выделить всё

sudo raspi-config 
и нажать Enter. Если все верно, то мы увидим окно настроек.
Raspi Config.png
Raspi Config.png (41.7 КБ) 3967 просмотров
10. Нам необходимо активировать SSH, перейдя в п.5 Interfacing Options -> P2 SSH. В появившемся окне Would you like the SSH server to be enabled? выбираем <Yes>.
11. Расширим наш образ, заняв весь объем карточки п.7 Advanced Options -> A1 Expand File System. В появившемся окне мы увидим сообщение, что файловая система будет расширена на весь объем карточки при следующей перезагрузке. Соглашаемся и нажимаем <OK>
12. В том же п.7 Advanced Options нам необходимо изменить A3 Memory Split выбрав сколько памяти будет выделено для GPU. В появившейся строке стираем указанный объем и пишем 16 нажимаем <OK>
13. Ввиду того, что на скачанный образ, скорее всего, содержит не самый последний дистрибьютив Raspbian, нам необходимо обновится. Проделать это можно написав последовательно команды:

Код: Выделить всё

sudo apt-get update        // проверка наличия обновлений
sudo apt-get upgrade     // установка обновлений
sudo reboot                   // рестарт системы
работать с системными настройками необходимо от имени администратора используя префикс sudo.
На этом установку и оптимизацию Raspbian можно считать завершенной.
Последний раз редактировалось Bonefolder 28 апр 2019, 01:02, всего редактировалось 1 раз.

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

Установка deCONZ

Сообщение Bonefolder » 28 апр 2019, 00:55

Можно воспользоваться инструкцией с официального сайта Dresden Electronik
1. Осуществляем вход по SSH на наш Raspberry Pi

Код: Выделить всё

ssh pi@192.168.1.111   // не забываем изменить мой IP адрес на адрес Вашей малинки
нажимаем Enter затем вводим пароль. Если пароль не меняли, то пароль по умолчанию raspberry (Прим. будьте аккуратны с вводом пароля, введенные символы не отображаются) Подтверждаем ввод пароля нажатием Enter
2. Скачиваем программу деконз с официального сайта:

Код: Выделить всё

wget http://www.dresden-elektronik.de/rpi/deconz/deconz-latest.deb
3. Устанавливаем пакеты программы deCONZ. В процессе установки могут возникнуть ошибки. Это будет исправлено в п.4

Код: Выделить всё

sudo dpkg -i deconz-latest.deb
4. Устанавливаем/исправляем потерянные зависимости:

Код: Выделить всё

sudo apt update
sudo apt install -f
5. Конфигурируем Serial port в raspi-config

Код: Выделить всё

sudo raspi-config
- перейдя в п.5 Interfacing Options -> P6 Serial выбираем «Would you like a login shell accessible over serial?» выбираем <No> ; «Would you like the serial port hardware to be enabled?» выбираем <Yes>
- После сообщения об изменении настроек попадаем в главное меню raspi-config, выбираем <Exit>, нам будет предложено перезагрузить малину. Соглашаемся, нажав <Ok>
6. Так как deCONZ и OpenHAB используют один и тот же порт 8080 нам необходимо предотвратить конфликт. Для этого:
- логинимся по SSH (см. п.1)
- правим конфигурационные файлы деконза, заменяя порты 80 и 8080 на 90 и 9090

Код: Выделить всё

sudo nano /usr/bin/deCONZ-autostart.sh  // правим 80->90 / 8080->9090
sudo systemctl edit --full deconz.service // правим 80->90 
- Добавляем автозапуск деконза при старте малины

Код: Выделить всё

sudo systemctl enable deconz       // для web использования, без GUI
sudo systemctl enable deconz-gui          // в случае использования c GUI
- перегружаем малину sudo reboot
7. Проверяем работу установленной программы. В вебраузере набираем aдрес вашей малины и порт 90. Например: 192.168.1.111:90
8. В появившемся окне нам предложат ввести (создать) и подтвердить пароль для использования с программой. Создаем и подтверждаем.
9. Затем мы попадаем на экран с выбором ламп. На данном этапе нам это не интересно. В правом верхнем углу нажимаем стрелочку «Proceed without lights»
10. Попав на следующий экран, отменяем предложение о создании группы. Нас интересует 3 полоски в левом верхнем углу
3 полоски.png
3 полоски.png (28.88 КБ) 3964 просмотра
11. Выбираем пункт меню Gateway. Видим приюлизительно следующее:
Gateway.png
Gateway.png (90.8 КБ) 3964 просмотра
Если напротив <Firmware> написаны цифры, то все хорошо и программа видит плату RaspBee. Если надпись «Not Connected», то наши дела не так хороши. И придется искать причину. Одним из вариантов проблемы может оказаться не соответствие прошивки платы и релиза ПО deCONZ. Либо неправильно выполнены настройки Serial порта в raspi-config.
12. Далее мы видим надпись «A new firmware version is available» Что говорит нам о доступности новой прошивки платы. В сером прямоугольнике мы видим номер релиза, который отличается от цифр напротив <Firmware>. Нажав на «Changelog» можно посмотреть, что нового принесет нам новая прошивка. Если нажать на серый прямоугольник с номером нового релиза, начнется процесс обновления прошивки платы. К сожалению эта функция работает не всегда корректно. Рекомендую производить обновление ПО и прошивки вручную, через SSH.
13. Обновление прошивки через SSH Можно почитать инструкцию на ГитХабе:

Код: Выделить всё

sudo systemctl stop deconz                                                                                                   // остогавливаем deCONZ сервис 
- загружаем нужную прошивку, предварительно выбрав релиз по ссылке

Код: Выделить всё

wget https://www.dresden-elektronik.de/rpi/deconz-firmware/deCONZ_Rpi_0x26330500.bin.GCF 
- Прошиваем устройство. Выбираем команду согласно Вашего девайса

Код: Выделить всё

sudo GCFFlasher_internal -f deCONZ_Rpi_0x26330500.bin.GCF                                                // прошиваем RaspBee (согласно вашего девайса)
sudo GCFFlasher_internal -d 0 -f deCONZ_Rpi_0x26330500.bin.GCF                                                  // прошиваем ConBee (согласно вашего девайса)
sudo GCFFlasher_internal -d /dev/ttyACM0 -f deCONZ_Rpi_0x26480700.bin.GCF                              // прошиваем ConBee II (согласно вашего девайса)
- Опционально проверяем обновление ПО (можно пропустить. Начиная с версии 60 ПО deCONZ обновляется командой sudo apt-get update / sudo apt-get upgade)

Код: Выделить всё

wget https://www.dresden-elektronik.de/rpi/deconz/beta/deconz-latest-beta.deb
sudo dpkg -i deconz-latest-beta.deb 
- Запускаем deCONZ

Код: Выделить всё

sudo systemctl start deconz // запускаем deCONZ без GUI
sudo systemctl start deconz-gui // запускаем deCONZ (версия с GUI) 
14. Проверяем вкладку Gateway.
Удачная прошивка.png
Удачная прошивка.png (36.06 КБ) 3964 просмотра
Если видим надпись «The version is up to date.» и обновленный номер прошивки, значит, все у нас получилось.
На этом установку и обновление deCONZ можно считать завершенной. Добыча API key, подключение сенсоров, лапм и выключателей - отдельная тема.
P.S. Нетерпеливые могут посмотреть эту тему. Выражаю благодарность Сергею Цыганову за оказанную помощь в написание данной статьи
P.P.S. пользователям OpenHAB можно узнать, как добыть API key по инструкции OpenHAB'a

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

Установка OpenHAB + Java

Сообщение Bonefolder » 28 апр 2019, 02:33

1. Для корректной установки (правильнее сказать - использования) OpenHAB’a рекомендовано иметь версию Java не ниже 8 версии. В дальнейшем, при установке Node-RED, нам так же пригодится более свежая версия Java SDK чем находящаяся в полном образе Raspbian. На официальном сайте OpenHAB’ есть инструкция по обновлению. Но она приводит к установке/обновлению Zulu. Нам это не нужно. Для этой инструкции я использовал Light версию Raspbian. В этом образе нет предустановленной Java. Так как OpenHAB устанавливается без предустановленной Java, то на данном этапе мы пропустим установку Java и вернемся к этому чуть позже.
2. Добавляем репозиторий и ключ. И устанавливаем HTTP транспорт

Код: Выделить всё

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
sudo apt-get install apt-transport-https
3. Добавляем путь к репозиторию со стабильной версии OpenHAB в систему (на сайте можно выбрать пути к тестовым версиям программы)

Код: Выделить всё

echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
4. Синхронизируем (обновляем) индекс установленных пакетов

Код: Выделить всё

sudo apt-get update
5. Устанавливаем OpenHAB 2

Код: Выделить всё

sudo apt-get install openhab2
6. В процессе установки видим несоответствие нашей системы требованиям OpenHAB 2

Код: Выделить всё

Suggested packages:
  zulu-8 | zulu-embedded-8 | oracle-java8-installer | openjdk-8-jdk-headless 
Вернемся к этому чуть позже
7. Опционально можно установить дополнения к OpenHAB’у. Это необходимо сделать, если Вы планируете отключить малину от интернета

Код: Выделить всё

sudo apt-get install openhab2-addons
8. По завершению установки OpenHAB’a, в логе видим, что необходимо сконфигурировать OpenHAB для автоматического запуска, при старте системы:

Код: Выделить всё

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable openhab2.service
9. Мы можем запустить OpenHAB выполнив команду:

Код: Выделить всё

sudo /bin/systemctl start openhab2.service
***************
Как мы помним, нам необходимо установить Java SDK. Я не знаю, почему вариант сработавший неделю назад сегодня у меня не получился.
Поэтому, для установки Java мы воспользуемся другой инструкцией
1. Нам необходимо скачать JDK c официального сайта Oracle. Нам нужна версия для Linux ARM 32 Hard Float ABI
2. Далее создаем папку, куда впоследствии поместим скаченный файл

Код: Выделить всё

sudo mkdir /usr/java
3. Чтобы мы имели доступ к нашей папке дистанционно нам необходимо установить SMB service (SAMBA)

Код: Выделить всё

sudo apt-get install samba samba-common-bin
4. Правим конфиг SMB сервиса.

Код: Выделить всё

sudo nano /etc/samba/smb.conf
- раскоментируем строку WINS, и исправим «no» на «yes»
- Добавим следующие строки в конце файла smb.conf. Это позволит видеть нам расшаренные папки в сети. В последствии пригодится и при использованиии OpenHAB'a:

Код: Выделить всё

[openHAB2-userdata]
  comment=openHAB2 userdata
  path=/var/lib/openhab2
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  create mask=0777
  directory mask=0777

[openHAB2-conf]
  comment=openHAB2 site configuration
  path=/etc/openhab2
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  create mask=0777
  directory mask=0777

[Mega-shares]
  comment=Shares
  path=/usr/java
  browseable=Yes
  writeable=Yes
  only guest=no
  public=no
  create mask=0777
  directory mask=0777
Сохраняем конфиг
5. Добавляем нашему сервису пользователя openhab и пароль raspberry

Код: Выделить всё

sudo smbpasswd -a openhab
6. Восстанавливаем права пользователя openhab над добавленными папками

Код: Выделить всё

sudo chown -hR openhab:openhab /etc/openhab2
sudo chown -hR openhab:openhab /usr/java
7. Перегружаем сервис:

Код: Выделить всё

sudo systemctl restart smbd.service
8. Через Finder / win explorer находим наши расшаренные папки. Подключаемся к ним используя логин openhab и пароль raspberry, и закидываем скаченный JDK в папку «Mega-shares»
9. В терминале переходим в папку с нужным нам архивом

Код: Выделить всё

cd /usr/java
10. Распаковываем архив jdk-8u211-linux-arm32-vfp-hflt.tar.gz (возможно, у Вас будет другое название файла

Код: Выделить всё

sudo tar xzf jdk-8u211-linux-arm32-vfp-hflt.tar.gz
ls -a         // видим название папки, куда распаковался наш архив jdk1.8.0_211
11. Устанавливаем Java

Код: Выделить всё

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_211/bin/java 1000
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_211/bin/javac 1000
12. Проверяем установку Java SDK

Код: Выделить всё

java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) Client VM (build 25.211-b12, mixed mode)
Если видим подобный ответ на команду java -version, то все у нас получилось
13. Написав в строке веббраузера 192.168.1.111:8080 (Прим. не забудьте заменить IP адрес на свой) видим запустившийся OpenHAB. Это говорит о том, что установленная нами Java подошла. На данном этапе каждый пользователь может выбрать подходящий ему сетап OpenHAB’a. Начинающим пользователям я бы порекомендовал выбрать Demo (Sample Setup). Это даст возможность установить пробный, полностью рабочий образец. Который пользователь сможет подправить под свои нужды

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

Установка Node-RED

Сообщение Bonefolder » 28 апр 2019, 02:48

Самый простой вариант установки Node-RED, это воспользоваться командой apt-get install node-red, но из репозитория установится версия 19.4. К тому же, потребуется предварительная установка Node.js Нам это не интересно. Добрые люди написали скрипт для автоматического обновления Node.js и Node-RED. Им мы и воспользуемся:

Код: Выделить всё

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
Выполнив команду на запуск Node-RED'a

Код: Выделить всё

node-red
Мы увидим примерно следующее:

Код: Выделить всё

$ node-red
27 Apr 16:08:09 - [info] 

Welcome to Node-RED
===================

27 Apr 16:08:09 - [info] Node-RED version: v0.20.5
27 Apr 16:08:09 - [info] Node.js  version: v10.15.3
27 Apr 16:08:09 - [info] Linux 4.14.98-v7+ arm LE
27 Apr 16:08:10 - [info] Loading palette nodes
27 Apr 16:08:14 - [warn] ------------------------------------------------------
27 Apr 16:08:14 - [warn] [node-red-node-pi-sense-hat/sensehat] Error: Can't find Sense HAT python libraries. Run sudo apt-get install sense-hat
27 Apr 16:08:14 - [warn] ------------------------------------------------------
27 Apr 16:08:14 - [info] Settings file  : /home/pi/.node-red/settings.js
27 Apr 16:08:14 - [info] Context store  : 'default' [module=memory]
27 Apr 16:08:14 - [info] User directory : /home/pi/.node-red
27 Apr 16:08:14 - [warn] Projects disabled : editorTheme.projects.enabled=false
27 Apr 16:08:14 - [info] Flows file     : /home/pi/.node-red/flows_raspberrypi.json
27 Apr 16:08:14 - [info] Creating new flow file
27 Apr 16:08:14 - [warn] 

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

27 Apr 16:08:14 - [info] Starting flows
27 Apr 16:08:14 - [info] Started flows
27 Apr 16:08:14 - [info] Server now running at http://127.0.0.1:1880/
В моем случае мы видим ошибку об отсутствии Sense HAT python библиотек. Там же подсказка выполнить команду

Код: Выделить всё

sudo apt-get install sense-hat
В процессе установки появится запрос о продолжении. Подтверждаем, написав латинский Y и нажав Enter
По окончании установки пишем команду node-red видим успешный старт Node-RED’a В строке браузера пишем http://{your_pi_ip-address}:1880 , где {your_pi_ip-address} - адрес вашей малинки.
На этом установка завершена
UPD в случаях когда при установке NPM или их составляющих возникают подобные ошибки:

Код: Выделить всё

npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/graphql failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443
то поможет изменение прокси редактированием host файла. Смотрим, что отдает консоль на запрос вида:

Код: Выделить всё

ping registry.npmjs.org
Ответ будет подобный этому:

Код: Выделить всё

PING registry.npmjs.org (151.101.72.162) 56(84) bytes of data.
Правим хост файл, дописывая полученный IP адрес. В нашем случае 151.101.72.162

Код: Выделить всё

$ sudo nano /etc/hosts
151.101.72.162 registry.npmjs.org
Последний раз редактировалось Bonefolder 07 июл 2020, 16:26, всего редактировалось 2 раза.

d.v.ermakov
Администратор
Сообщения: 2188
Зарегистрирован: 29 май 2015, 21:23
Откуда: Екатеринбург, Нижний Тагил

Re: OpenHAB + deCONZ + Node-RED

Сообщение d.v.ermakov » 28 апр 2019, 19:57

Bonefolder, большое спасибо за ваш труд. У вас талант писать мануалы.
Только дисклеймер в начале читать очень тяжело, голубые буквы сливаются с фоном. Может, лучше просто курсивом, например?
Есть несколько вопросов/уточнений:
- samba, имхо, лишняя (есть WinSCP для Windows или SSHFS для MacOS),
- JDK можно поставить напрямую, качнув с помощью wget (правда, с заморочками по исправлению ссылки на ваш куки и последнюю версию 8u211). Все проблемы с установкой JDK начали происходить по вине Оракл, они решили заработать и поменяли лицензию. Сейчас все начали исключать JDK из дистрибутивов и репозитариев, так как судиться с Ораклом накладно.
- я бы добавил информацию о том, что нужно задержать старт НодРЕДа до полного запуска ОпенХАБа, иначе есть проблемы. Можно как-то так. Стартовать каждый раз вручную - это неправильно.
В остальном отличная платформа и отличный набор софта для сервера умного дома.
Кстати, отдельное спасибо за deCONZ. Наконец-то кто-то написал достойный софт для всяких там беспроводных Сяоми выключателей.

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

Re: OpenHAB + deCONZ + Node-RED

Сообщение Bonefolder » 28 апр 2019, 22:17

Дисклеймер написан таким фонтом сознательно. Его прочитают лишь те, кому действительно это будет интересно. Кому лень- пройдут мимо. Это ни в коем случае не вызов публике. Приношу свои извинения, если кто-нибудь сочтет это за неуважение к читателю.
d.v.ermakov писал(а):
28 апр 2019, 19:57
samba, имхо, лишняя (есть WinSCP для Windows или SSHFS для MacOS),
Для этого было несколько причин 1) Дабы не делить пользователей на два лагеря (Вин/Мак) все же samba - более универсальна в этом случае. 2) Писал то, о чем знаю. Я не гуру линукса и установка WinSCP/SSHFS мне неизвестны.
d.v.ermakov писал(а):
28 апр 2019, 19:57
- JDK можно поставить напрямую,

не совсем понятно про мои куки... Я знаю о способе через wget. Даже, два варианта мне известны. Но, как я и написал в статье, на момент написания "мануала" способы, работавшие неделю назад, не сработали. (Как выяснилось позже, наш провайдер инета что-то намутил с настройками. Все, что качается с ГитХаба у меня не едет)
d.v.ermakov писал(а):
28 апр 2019, 19:57
Стартовать каждый раз вручную - это неправильно.
Согласен. О добавлении sudo systemctl enable nodered.service я сознательно умолчал. Во-первых, вы сами указали главную причину. Во-вторых, новичку пригодится стартовать/останавливать node-red еще много раз. И это гораздо проще выполнить командой "control+C" В-третьих, опытный пользователь сам знает как добавить сервис в автозагрузку. В крайнем случае, прочитает страничку установки node-red до конца)) Думаю, это окажется полезным

Bonefolder
Сообщения: 617
Зарегистрирован: 30 мар 2017, 11:15
Откуда: г.Севастополь

Re: OpenHAB + deCONZ + Node-RED

Сообщение Bonefolder » 16 июн 2019, 22:48

Хорошим дополнением, в разрезе темы, стал node-red-contrib-deconz от нашего соотечественника из Белорусии Андрея Попова.
Контрибьюшн еще в стадии разработки и дополнения, но уже и многое умеет.
P.S. для проживающих за "железным занавесом" (Крым и им подобные) настройки сервера (добыть ключик АПИ) придется прописать руками. Это не вина Андрея, а грабли от Дрезден электроникс

Ответить