NEWS
CCU2 Docker Image für Raspbian
-
Hallo,
da ich das CCU2 Software auf meinem Raspberry benutzen wollte und das http://www.lxccu.com/ nicht auf dem raspbian Jessie nicht am laufen bekommen habe, habe ich eine Docker Image kreiert.
https://github.com/angelnu/docker-ccu2 findet ihr die Einleitung dafür.
Bei mir läuft es mit ein http://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html, ein Homematic LAN Adapter und natürlich mit Iobroker.
Vorteilen:
-
Es ist sehr einfach, das neueste CCU2 firmware zu bekommen: einfach build.sh settings anpassen und noch mal ausfuhren.
-
Mit dem CCU2 Firmware bekommt man auch die Firmware Updates für die Homematic Geräten.
-
Dem CCU2 SW läuft deutlich schneller als auf dem CCU2 HW! Ich hatte vorher eine CCU2 und man musste viel geduld haben, besonderes bei Rebotten. Das CCU2 Docker Image bottet in wenigen Sekunden.
-
-
Was hat das mit ioBroker zu tun ?
Der Beitrag gehört besser in das http://homematic-forum.de/forum/viewforum.php?f=55.
-
Ich finde die Info gut. Im Homematic-Forum bin ich zB gar nicht mehr unterwegs.
-
Veggeto's docker-ccu2 (angelnu/ccu2) läuft hervorragend, danke dafür!
Nur beim Kompilieren auf dem Raspi 3 habe ich noch Probleme und die Erstellung stoppt mit dem Kommentar "authentication required".
Hier die Ausgabe:
` > root@raspberrypi:/opt/docker-ccu2# ./build.shDownload CCU2 firmware
ccu2-2.27.8.tgz already exists - skip download
Extract UBI image from tarball
rootfs-2.27.8.ubi already exists - skip
Extract UBI image content
ubi-2.27.8.tgz already exists - skip
Installing Docker if needed
Build Docker container
Sending build context to Docker daemon 77.48 MB
Step 1 : FROM scratch
–->
Step 2 : ADD ubi.tgz /
---> 68276a4d8f42
Removing intermediate container 0662966608de
Step 3 : ADD /LICENSE /
---> 84f5671feb3e
Removing intermediate container 9df79942c7ca
Step 4 : RUN sed -i -e 's/^Improved/#Improved/g' /etc/config_templates/rfd.conf && sed -i -e 's/^#AccessFile/ AccessFi le/g' /etc/config_templates/rfd.conf && sed -i -e 's/^#ResetFile/ ResetFile/g' /etc/config_templates/rfd.conf
---> Running in e6eea1201195
---> dffed4bb9016
Removing intermediate container e6eea1201195
Step 5 : ADD entrypoint.sh /
---> 15bc8c82e883
Removing intermediate container bdf04837c339
Step 6 : CMD /entrypoint.sh
---> Running in 26e967095678
---> c33d398bdf83
Removing intermediate container 26e967095678
Step 7 : EXPOSE 80
---> Running in 8efd07f73faf
---> 100e6d500b91
Removing intermediate container 8efd07f73faf
Step 8 : EXPOSE 2001
---> Running in 997b1eded8af
---> fbeb0cb27d67
Removing intermediate container 997b1eded8af
Successfully built fbeb0cb27d67
The push refers to a repository [docker.io/angelnu/ccu2]
9a58d5b8047b: Preparing
6e0a9e273980: Preparing
430b4259a034: Preparing
d9d46bd5af77: Preparing
unauthorized: authentication required `
Wie auch immer, das Docker Image auf einem Jessie Lite funktioniert. Bei mir war allerdings das erste HM-MOD-RPI-PCB wohl defekt, somit hatte ich leichte Anlaufschwierigkeiten
` > # Download + Install Jessie Lite from https://www.raspberrypi.org/downloads/raspbian/
Copy the image to an SD Card using Win32Disk -> https://sourceforge.net/projects/win32diskimager/
#configure raspi-config
sudo raspi-config
configure locals and extend boot partition
configure hm-mod-rpi-pcb
sudo -i
echo "enable_uart=1" >> /boot/config.txt
echo "dtoverlay=pi3-miniuart-bt" >> /boot/config.txt # Nur beim Pi3 notwendig
echo "core_freq=250" >> /boot/config.txt
sed -i s/'\bconsole=serial0,115200 //' /boot/cmdline.txt
systemctl disable serial-getty@ttyAMA0.service
reboot
#login as pi user
sudo -i
mkdir /opt
cd /opt
get latest docker
sudo apt-get install git
curl -ks https://packagecloud.io/install/reposit … ipt.deb.sh | sudo bash
sudo apt-get install docker-hypriot=1.10.3-1
sudo sh -c 'usermod -aG docker $SUDO_USER'
sudo systemctl enable docker.service
#clone angelnu/ccu2 locally
sudo docker run --name ccu2 -d --restart=always --net=host -e PERSISTENT_DIR=/mnt -v /dev:/dev_org -v /sys:/sys_org -v ccu2_data:/mnt --device=/dev/ttyAMA0:/dev_org/ttyAMA0:rwm angelnu/ccu2
#then install everything else needed like mqtt, hm2mqtt, ioBroker ....
apt-get install mosquitto
apt-get install npm
n manages different node versions - just in case you need to mix installations
npm install -g n
n 8.1.3
install ioborker (I've ignored the errors in compiling gyp)
mkdir /opt/iobroker
cd /opt/iobroker
npm install iobroker --unsafe-perm
#we use pm2 to start stop our npm based services
#see: http://pm2.keymetrics.io/docs/usage/quick-start/
npm install -g pm2
npm install -g node-red
npm install -g hm2mqtt
cd /usr/local/lib/node_modules/node-red
npm install node-red-dashboard
npm install node-red-contrib-astrodata
npm install node-red-contrib-bigtimer
npm install node-red-contrib-calendar-trigger
npm install node-red-contrib-fritz
npm install node-red-contrib-homematic
npm install node-red-contrib-homematic-rpc
npm install node-red-node-ping
npm install node-red-node-pushover
npm install node-red-node-twitter
pm2 startup
pm2 start node-red --interpreter=/usr/local/n/versions/node/6.9.4/bin/node
pm2 start hm2mqtt --interpreter=/usr/local/n/versions/node/6.9.4/bin/node -- -a 127.0.0.1
pm2 save `
-
Hi vegetto,
ich stolpere gerade über die Tatsache, dass sich bei mir keine Zusatzsoftware installieren lässt.
Besonders um cuxd wäre ich verlegen.
Edit:
Ich antworte einfach mal selbst.
Auf dem Raspi, auf dem der docker container der ccu2 läuft, wie folgt vorgehen:
1. Alle benötigten Zusatzprogramme auf den Raspi laden
2. Den Docker Container mit folgendem Befehl starten:
sudo docker run –name ccu2 -d --restart=always -p 8080:80 -p 2001:2001 -p 2222:22 -8181:8181 -e PERSISTENT_DIR=/mnt -v /dev:/dev_org -v /sys:/sys_org -v ccu2_data:/mnt --device=/dev/ttyAMA0:/dev_org/ttyAMA0:rwm --hostname ccu2 angelnu/ccu2
3. Auf der im Docker Container laufenden CCU das Kennwort für ssh setzten.
4. sshfs installieren:
sudo apt-get install sshfs
4a. ich benutze zur Installation und zum Entpacken der tar.gz Archive den midnight commander
sudo apt-get install mc
5. einen mountpoint anlegen
sudo mkdir /mnt/ccu2
6. sshfs mouten
sudo sshfs 127.0.0.1:/ /mnt/ccu2 -p 2222
7. nun entsprechend alle Zusatzmodule lokal enpacken und in die richtigen Verzeichnisse auf der ccu kopieren
meistens ist dies [/mnt/ccu2]/usr/local/etc/config/addons/www, ausser der Inhalt für rc.d, dieser geht im Allgemeinen nach
[/mnt/ccu2]/usr/local/etc/config/rc.d, oder ….
Hierzu einfach den midnight commander (mc) verwenden, damit lassen sich in einem Fenster
die tar.gz Archive der Zusatzsoftware öffnen, und im anderen Fenster die Verzeichnisse der ccu2 auf dem Mountpoint
/mnt/ccu2
Kurt