Einen Smarthome-Server, der den Gira- oder Jung-Home-Server ersetzen kann, kann man sich mit den entsprechenden Kenntnissen einfach selbst bauen. Hier ein paar Tipps.
Diese Anleitung wurde als vorlage verwendet: Gira oder Jung Homeserver zu teuer Raspberry Pi als Helfer
Leider liegen mittlerweile alle dort verwendeten Pakete in neueren Versionen vor, so dass das exakte, dort beschriebene Vorgehen nicht mehr zum ERfolg führt. Deshalb hier eine aktualisierte Installations-Anleitung, bei der von jedem benötigten Paket auch die Versionen explizit mit angegeben wurden.
Welcome to ARMBIAN 5.60 stable Ubuntu 16.04.5 LTS 3.4.113-sun7i
$ uname -a
Linux bananapipro 3.4.113-sun7i #16 SMP PREEMPT Wed Jan 24 19:20:59 CET 2018 armv7l armv7l armv7l GNU/Linux
$ cat /etc/debian-version
stretch/sid
# update-rc.d nodm remove default
# apt-get update && apt-get upgrade -y
# locale-gen de_DE.utf8
# update-locale LANG=de_DE.UTF-8
# adduser smarthome
# usermod -G www-data,sudo -a smarthome
# apt-get install git-core build-essential cdbs debhelper debsums
# wget https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz
# tar xzf pthsem_2.0.8.tar.gz
# cd pthsem-2.0.8
# dpkg-buildpackage -b -uc
# cd ..
# sudo dpkg -i libpthsem*.deb
# apt-get install autoconf libtool libusb-dev pkg-config dh-systemd cmake libsystemd-dev libusb-1.0-0-dev libev-dev
# git clone https://github.com/knxd/knxd.git
# cd knxd
# git checkout origin/v0.12
# dpkg-buildpackage -b -uc
# cd ..
# dpkg -i knxd_*.deb knxd-tools_*.deb
# apt-get -y install dialog python3 python3-dev python3-setuptools
# cd /usr/local
# git clone git://github.com/smarthomeNG/smarthome.git
# chown -R smarthome:smarthome /usr/local/smarthome
# cd smarthome
# git checkout release-1.5.1
Switched to a new branch 'release-1.5.1
# mkdir plugins
# cd plugins
# git clone git://github.com/smarthomeNG/plugins.git .
# cd ..
# python3 tools/build_requirements.py
[...]
# apt-get -y install python3-pip
# update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
# update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
# update-alternatives --list python
# update-alternatives --config python
-> set python-3.5
# python --version
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
# pip install --upgrade pip
# pip install ephem
# pip install pyyaml
# cd /usr/local/smarthome
# cd requirements
# pip install -r all.txt
[...]
Downloading ...
(dauert lange)
[...]
# apt-get install libffi-dev python3-dev
[...]
Successfully built cryptography aiohttp
cheroot 6.5.4 has requirement six>=1.11.0, but you'll have six 1.10.0 which is incompatible.
telepot 12.7 has requirement aiohttp>=3.0.0, but you'll have aiohttp 2.3.10 which is incompatible.
[...]
arm-linux-gnueabihf-g++: error: openzwave-embed/open-zwave-master/libopenzwave.a: No such file or directory
error: command 'arm-linux-gnueabihf-g++' failed with exit status 1
# pip install -r all.txt
Dokumentation lesen: SmarthomeNG Die Installation kann durchaus noch an anderen Stellen haken, die hier nicht beschrieben sind.
su - smarthome
smarthome@bananapipro:~$ /usr/local/smarthome/bin/smarthome.py
smarthome@bananapipro:~$ /usr/local/smarthome/bin/smarthome.py -v
smarthome@bananapipro:~$ cat /usr/local/smarthome/var/log/smarthome-details.log
2019-02-01 15:40:34 WARNING __main__ -------------------- Init SmartHomeNG 1.5.1.aca5f2e.release-1.5.1 --------------------
2019-02-01 15:40:34 WARNING __main__ Running in Python interpreter 'v3.5.2 final' on linux platform
2019-02-01 15:40:34 CRITICAL __main__ No plugins found. Please install plugins.
2019-02-01 15:40:34 CRITICAL __main__ Aborting
# pip3 install -r plugins/<plugin-name-hier-einsetzen>/requirements.txt
# apt-get install php7.0 libawl-php php7.0-curl php7.0-json
# apt-get install apache2 libapache2-mod-php7.0 php7.0-mbstring
# service apache2 restart
# cd /var/www/html
# git clone https://github.com/Martin-Gleiss/smartvisu.git smartVISU
# chown -R www-data:www-data smartVISU
# chmod -R 775 smartVISU
# cd smartVISU
# git checkout v2.8
Note: checking out 'v2.8'
mit dem Web-Broser jetzt testen / bedienen: http://IP-Homeserver/smartVISU
<?php
header('Location: smartVISU');
exit;
?>