CCU.IO

CCU.IO ist eigentlich eine Open Source Erweiterung des ELV Produktes CCU/CCU2 zur Heim Automatisierung (HomeMatic 103584 Zentrale CCU2 für Smart Home / Hausautomation).

http://www.eq-3.de/

Die Sensoren/Aktoren der Homematik Reihe werden von der CCU gelesen und gesteuert. CCU.IO setzt auf node.js auf und funktioniert auch ohne eine CCU (2), auch auf einem Raspi 1. Das Diskussionsforum mit vielen sehr nützlichen Infos zu CCU.IO ist hier :

FHZ-Forum

Das Forum benutzt phpBB. Es ist möglich, sich für Email-Updates für Unterforen, und auch für einzelne Themen, einzutragen.

Warum CCU.IO ? Deswegen

CCU.IO gliedert sich (auch) in folgende Bereiche :

Potenzial :

  • mehr Programme nativ unterstützen, wie jetzt schon OWFS.
  • node.js ist bei mehr als 1 Adapter doch sehr RAM-hungrig
  • DashUI & Co. sind bei schwachen Endgeräten/Datenleitungen manchmal problematisch (Lösung SlimUI)
  • Loggen optimieren (Filter implementieren, Log-Dateien komprimieren)
  • Unterstützung für ebusd

Installation : Seit November 2015 ist node.js in der Raspbian Distribution ("Jessie") schon enthalten. Die zwei auf der CCU.IO Webseite wartenden Debian Installationspakete node.js und ccu.io sollte man deswegen nicht benutzen. Das node.js Paket versteht sich mit der bereits vorhandenen Installation nicht. Das CCU.IO Debian Paket läuft nicht ohne Tricks, weil es darauf aufbaut, daß node.js mit dem (ccu.io) node.js Paket installiert wurde.

Testen, ob und welche Version von node.js installiert ist :

pi@hsx3:~ $ node -v

v0.10.29

Empfohlen wird die manuelle Installation von CCU.IO, siehe "Raspi SW aufsetzen" .

Am einfachsten ist es natürlich, wenn man sich per SSL Putty auf dem Raspi einloggt, und alle Befehle per "Copy (aus der Webseite) / Paste (in Putty)" absetzt.

Es ist auch hilfreich, die CCU.IO Statusmeldungen permanent in einem Terminalfenster zu sehen :

tail -f /opt/ccu.io/log/ccu.io.log

Entweder auf dem Raspi selbst, oder per putty.

Wenns CCU.IO läuft sieht man auf Port 8080 :

Der Knopf "prüfen" zeigt die letzte aktuelle Version. Mit der Möglichkeit, direkt ein Update durchzuführen.

Die Script-Engine unter Einstellungen aktivieren, Logging zunächst mal aus :

Dann den Adapter Raspi aktivieren.

Dann einfach mal ein paar "Addons" installieren :

Wichtig sind ScriptGUI und DashUI. Highcharts erzeugt tolle Grafiken.

NUR wenn mit dpkg installiert wurde :

Während des Betriebes kann man CCU.IO folgendermassen starten und stoppen :

$ sudo /etc/init.d/ccu.io.sh = listet die Optionen (start, stop, restart)

pi@xhs2 ~ $ sudo /etc/init.d/ccu.io.sh start (startet CCU.IO)

Starting ccu.ioStarting ccu.io daemon...

ccu.io daemon started. PID: 25047

Brutales Anhalten von CCU.IO geht natürlich auch immer per $ sudo kill 25047 (ccu.io process PID, s.o.)

$-e -F (ps=process status)

UID PID PPID C SZ RSS PSR STIME TTY TIME CMD

pi 25047 1 2 18502 23692 0 15:26 ? 00:00:10 ccu.io

pi 25055 25047 2 17654 16532 0 15:27 ? 00:00:08 /usr/local/bin/node /opt/ccu.io/adapter/owfs/owfs.js

pi 25060 25047 7 19012 23296 0 15:27 ? 00:00:21 /usr/local/bin/node /opt/ccu.io/adapter/rpi/rpi.js

pi 25091 25047 2 18232 17700 0 15:27 ? 00:00:06 /usr/local/bin/node /opt/ccu.io/script-engine.js

pi 25605 17011 0 1540 1136 0 15:32 pts/1 00:00:00 ps -e -F

Die Process ID wird auch in eine Datei geschrieben :

pi@xhs2 ~ $ cat /opt/ccu.io/ccu.io.pid

25047

- Was ist los : Nachschauen in /opt/ccu.io ..., u.a. bei /log

Hier kann noch viel Info ergänzt werden ...

Wenn im Hochfahrprotokoll ein Adapter, den man nicht benötigt, mit Fehlermeldungen nervt (hier roomba),

kann man einfach das gesamte Adapterverzeichnis unter /opt/ccu.io/adapter/roomba löschen. Danach sollte Ruhe sein.

"F5" bringt Ordnung in den Browser.

Zukunft von CCU.IO

CCU.IO wird von den Original Autoren nicht mehr weiterentwickelt. Höchstwahrscheinlich wird die SW aber noch als Download zu erhalten sein, und entdeckte grobe Schnitzer werden wohl vielleicht entfernt. Stattdessen gibt es den CCU.IO Nachfolger ioBroker . Die ioBroker Software greift die Basis Ideen von CCU.IO auf, und ist sehr viel universeller. Die Unterstützung einer CCU ist weiterhin möglich, aber nicht mehr Kernbestandteil der Software.

IoBroker braucht mehr Resourcen und läuft zufriedenstellend ab dem Raspi 2B (ab 1 GByte Hauptspeicher), für den Raspi 1 mit "nur" 500 kByte wird IoBroker nicht empfohlen.

Warum ein integraler Bestandteil von IOBroker eine Datenbank ist, erschliesst sich nicht unmittelbar. Datenbank macht natürlich Spaß. Aber das ist wohl einer der Hauptgründe, warum IoBroker nicht mehr auf dem Raspi 1 läuft. Keine Heizungssteuerung braucht eine Datenbank. Datenbanken "schrubben" nur auf den sowieso sensiblen SD Karten herum.

Vielleicht finden sich ja ein paar Recken, die CCU.IO einfach nur entschlacken, und noch ein paar Bugs rausholen. Und vielleicht einen Watchdog einbauen ? Wäre irgendwie toll. Schlanke Lösungen sind sexy.

Die Quellen von CCU.IO liegen auf Github :

https://github.com/hobbyquaker/ccu.io/

Es wird versucht, CCU.IO am Leben zu erhalten. Und eventuell zu erweitern, um zusätzliche/bessere Schnittstellen zu anderen Systemen zu bekommen.

Addons

Diese Progamme, Addons genannt, können aus der CCU.IO Oberfläche heraus geladen werden :

Eventlist : https://github.com/GermanBluefox/CCU-IO.Eventlist

ScriptGUI : https://github.com/smiling-Jack/CCU-IO.ScriptGUI

ScriptEditor : https://github.com/smiling-Jack/CCU-IO.ScriptEditor

SlimUI : https://github.com/hobbyquaker/SlimUI

yahui : https://github.com/hobbyquaker/yahui

Highcharts : https://github.com/hobbyquaker/CCU-IO-Highcharts

DashUI : https://github.com/hobbyquaker/DashUI/archive