NEWS
Ich würde so gerne, doch es klappt nicht
-
Hallo zusammen,
ich habe iobroker erst gestern morgen entdeckt und versuche mich seitdem daran.
Meine Umgebung:
CCU2 mit einigen Homematic-Komponenten
Raspberry B mit Raspbian Wheezy
Mein Ziel:
Ein Tablet an die Wand schrauben, auf dem - besonders meine Frau - unsere Wohnung im Griff hat. Schaltaktoren und Heizungen.
Aktueller Stand:
Ich habe ständig diverse Fehler und hoffe, dass ihr mir sagen könnt, an welcher Stelle ich die Fehler mache…
Ich habe nen Raspi B mit einer 8GB SD-Karte und dem "Standard" raspbian Wheezy Image.
Nach dem raspi-config (expand fs), localisation, etc. und einem apt-get update / upgrade habe ich die nodes.js und iobroker installiert (nach http://forum.iobroker.com/viewtopic.php?f=17&t=1854#p16074 - die ist zwar für einen RPi2, aber es unterscheidet sich doch nicht… - oder?).
Ich kann auf die Admin-Konsole zugreifen. Meistens fangen danach die Probleme an: ich versuche, die Adapter vis, hm-rpc/hm-rega zu installieren. Meistens kommt dabei schon ein Fehler:
/opt/iobroker/log# iobroker irgendwas events.js:85 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at exports._errnoException (util.js:746:11) at Server._listen2 (net.js:1156:14) at listen (net.js:1182:10) at Server.listen (net.js:1267:5) at _initWebServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:2418:24) at /opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:143:9 at new ObjectsInMemServer (/opt/iobroker/node_modules/iobroker.js-controller/lib/objects/objectsInMemServer.js:150:7) at null._onTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup.js:2127:27) at Timer.listOnTimeout (timers.js:119:15)
Da habe ich zu gelesen
> Falls möglich, iobroker stoppen, dann Kommando ausführen und dann ioBroker starten.
Das funktioniert dann manchmal gut, manchmal bekomme ich den gleichen Fehler. Dann hilft oft ein````
chmod -R 777 *Ich hatte eine Installation schon mal soweit, dass die Objekte aus der CCU2 geholt werden. Doch dann hatte ich das Problem, dass sowohl bei den jQuery-UI style Widgets (jqui-mfd) als auch bei den Metro Widgets keine korrekte Darstellung hatte. Sowohl im Editor, als auch in der vis-Anzeige. Ich habe dann mal versucht, die jQuery Widgets zu löschen. Ich habe mit```` iobroker stop vis-jqui-mfd ````und danach```` iobroker del vis-jqui-mfd ````den Adapter gelöscht. vis.admin hat es mir nach einem reboot des Raspberrys und dem Löschen des Browser-Cache auch angezeigt. Im vis.Editor hatte ich im Dropdown zur Widgetauswahl noch jqui zur Auswahl - sehr verstörend. Ich installiere iobroker nun gefühlt zum 20sten Mal und komme immmer nur ein kleines Schrittchen weiter. Es frustriert mich ein wenig, weil ich nicht im Ansatz ne Ahnung habe, ob ich einfach zu dämlich bin oder ob iobroker zu dämlich für mich ist oder welches Problem sonst noch vorhanden ist…. iobroker scheint aber für das, was ich machen möchte, die perfekte Lösung zu sein... Daher möchte ich gerne dran bleiben. Könnt ihr mich ermutigen? ;-) Danke schon einmal für eure Hilfe - vielleicht wird es ja noch was... Bene
-
Guten Morgen!
Nicht verzagen, das wird schon, so eine Menge an Fehlern am Anfang ist natürlich nervig und deprimiert gleich Vollgas.
Aber!!! Wir werden dir mit bestem Wissen und Gewissen helfen das auch deine Installation funktioniert.
Bin nur grad in der Arbeit, das heisst, kann dir erst ab am Abend helfen. Ev. ist ja schon wer früher damit beschäftigt.
LG Christian
-
Guten Morgen,
wieviel RAM hat der Raspi B? Schau mal wieviel frei ist, wenn iobroker läuft….ich hatte die letzten Tage/Wochen auch Brösel und es war so wie's aussieht ein Memory Problem!
Ich hab einen Raspi 2 mit 1 Gig und aktuell nur wenige Adapter laufen und so geht's derzeit....wird aber auch jetzt noch Tag für Tag weniger freier RAM. Nach einem Reboot hab ich 500M frei, nach einem Tag nur mehr 250M....ich muss das auch weiter beobachten.
Grüße
etv
-
Moin, ich musste bei meinen "Anfängen" feststellen, dass ich mit einem "Raspberry B" nicht weit gekommen bin (vermehrt Fehlermeldungen, und das System war arg langsam).
Nachdem ich auf BananaPi gewechselt bin, lief es fast ohne Probleme.
-
BananaPi reicht aber auch nur für 3-4 Adapter, dann ist der Speicher voll. Wenn man startet sind noch >500MB frei, den Tag darauf sieht es schon schlechter aus. Ich hoffe der neue Parameter RAMLimit hilft. Zumindest sieht es im Augenblick besser aus und alles läuft stabil, mal schauen wie lange.
Will man ersthaft was machen und es soll noch für die Frau sein, muss eine größere Hardware her.
Ich glaube jeder weiß, was passiert, wenn das Teil 1 - 2 mal abstürzt, wenn die Frau gerade etwas machen möchte.
Gruß
Tino
-
Dann könnte man ja schon fast auf Intel Atom itx Systeme umschwenken Und 8gb RAM.
Dann kann man auch gleich noch nen Touchscreen ranhängen und vis direkt öffnen.
Gesendet von meinem LG-D802 mit Tapatalk
-
Hallo zusammen,
ich finde es merkwürdig, dass es so unterschiedliche Erfahrungen gibt. Vielleicht können wir ja mal rausfinden was eigentlich die wesentlichen Kriterien für ein stabiles System sind.
Ich habe sicher nicht die groesste Ahnung von Linux und nicht die super Zaubereinstellungen gefunden aber ich kann sagen, dass mein System richtig stabil läuft und das mit 36 Adapter (inkl der Standard-Adapter).
ein paar Infos zu meiner Installation
-
Raspi Pi2
-
Festplatte SSD 120 GB
-
Installation:
Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux
PRETTY_NAME="Raspbian GNU/Linux 7 (wheezy)"
NAME="Raspbian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=raspbian
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
-Node Version: v0.10.22
kein SSL
Für den Zugriff von aussen nutze ich Pocket Control HM ueber VPN.
Bezüglich Speicher lasse ich mir immer die prozentwerte anzeigen. Wenn das System durchgestartet ist, dann sind ca. 11 % freier Speicher vorhanden und geht dann im Laufe der Zeit bis 1 % runter. Dann beobachte ich auch, dass wieder Speicher freigemacht wird und auch wieder bis zu 6% zur Verfügung steht.
Ein Punkt ist sicher wichtig für die Stabilität und das ist keine SD karte zu verwenden (bzw. nur zum booten) Es lohnt sich ganz gewiss 40 Euro für eine SSD zu investieren. Die Umstellung kann auf dem laufenden System erfolgen, also ohne Neuinstallation.
Damit ist das Speicherproblem von dem hier oft die Rede ist aber wohl eher nicht gelöst.
edit:
Vielleicht gibt es aber auch Zusammenhänge zur ioBroker/HM Installation selber. Hier mal meine Eckdaten
-
36 Adapter (davon aktiv 34)
-
25 Scripte mit jeweils durchschnittlich 3 Triggern (Scriptzusammenfassungen)
–> 2 Node reds (BING und Benzinpreis)
-> Für die Visualisierung am PC Firefox
-> Für Entwicklung und Einstellungen - Chrome
-> für die Darstellung am Android Tablet - Boat Browser
-> Pocket Control HM für Iphone/Ipad
Adapter:
! admin admin.0 ioBroker Admin
! b-control-em b-control-em.0 B-control Energy Manager
! dwd dwd.0 DWD wahr raspberrypi schedule 0 * * * *
! email email.0 Email Adapter wahr raspberrypi daemon
! flot flot.0 Flot Charts wahr raspberrypi none
! fritzbox fritzbox.0 fritzbox Adapter wahr raspberrypi daemon
! harmony harmony.0 Logitech Harmony Adapter wahr raspberrypi
! history history.0 History wahr raspberrypi
! hm-rega hm-rega.0 HomeMatic ReGaHSS
! hm-rpc hm-rpc.0 HomeMatic RPC wahr raspberrypi daemon
! ical ical.0 iCal Adapter wahr raspberrypi schedule 0,30 * * * *
! icons-addictive-flavour-png icons-addictive-flavour-png.0 Addictive flavour icon set as PNG raspberrypi none
! icons-open-icon-library-png icons-open-icon-library-png.0 Open icon library set as PNG raspberrypi none
! icons-ultimate-png icons-ultimate-png.0 Ultimate icon set for visualisation as PNG raspberrypi none
! javascript javascript.0 Javascript/Coffescript Script Engine wahr raspberrypi daemon
! modbus modbus.0 ModBus Adapter wahr raspberrypi daemon
! node-red node-red.0 node-red Adapter wahr raspberrypi daemon
! occ occ.0 ObjectControlCalendar Adapter wahr raspberrypi daemon
! rickshaw rickshaw.0 Rickshaw Charts wahr raspberrypi none
! sayit sayit.0 Text to speech Adapter wahr raspberrypi daemon
! sonos sonos.0 SONOS Adapter wahr raspberrypi daemon
! terminal terminal.0 ioBroker simple terminal Adapter wahr raspberrypi daemon
! vcard vcard.0 vCard Adapter wahr raspberrypi daemon
! vis-bars vis-bars.0 ioBroker Visualisation - bars Widgets wahr raspberrypi once
! vis-colorpicker vis-colorpicker.0 ioBroker Visualisation - color picker style Widgets
! vis-fancyswitch vis-fancyswitch.0 ioBroker Visualisation - fancyswitch style Widgets wahr raspberrypi once
! vis-jqui-mfd vis-jqui-mfd.0 ioBroker Visualisation - jQuery-UI style Widgets wahr raspberrypi once
! vis-lcars vis-lcars.0 ioBroker Visualisation - lcars style Widgets wahr raspberrypi once
! vis-metro vis-metro.0 ioBroker Visualisation - metro style Widgets wahr raspberrypi once
! vis-plumb vis-plumb.0 ioBroker Visualisation - plumb style Widgets wahr raspberrypi once
! vis-rgraph vis-rgraph.0 ioBroker Visualisation - rgraph style Widgets wahr raspberrypi once
! vis-timeandweather vis-timeandweather.0 ioBroker Visualisation - time and weather Widgets wahr raspberrypi once
! vis vis.0 ioBroker Visualisation wahr raspberrypi once
! webMit den updates bin ich immer aktuell. Ich habe also admin, js-controller, javascript etc alles auf den immer neuesten Stand
Homematic
–CCU2 mit z.Zt 6 aktiven Programmen (keine scripte)
-
2 LAN Adapter (die alten Runden)
-
ca 60 Geräte angeschlossen
vG Looxer
3387_screenshot.jpg -
-
Hi looxer
hört sich nach einem System an, mit dem ich auch zufrieden wär.
36 Adapter?
Hättest Du eine Liste Deiner Instanzen.
Welche node Version?
Und ist bei Dir ssl angeschaltet?
Danke und Gruß
Tino
3387_screenshot2.jpg -
Hi aquapro,
ich habe die Daten im post ergänzt.
SSL habe ich nicht aktiviert. Ich vermute du verwendest das für den Zugriff von aussen ?
ach ja, es sind doch nur 34 adapter, denn zwei waren nur installiert und nicht aktiviert
vG Looxer
-
Ich werd heute abend auch mal die system specs von meinem system posten.
Bezüglich ram muss man zwischen reserviert und tatsächlich genutzt unterscheiden. ioBroker zeigt reserviert an. Mit df -h sieht man die Belegung aufgeschlüsselt. Bei mir zeigt iobroker 10% frei an, df -h sagt 360mb. Bei 1gb wären das 36%.
Gesendet von meinem Jolla mit Tapatalk
2605_26863396-5825-bd16-0d91-b45c430df278.log -
Hi JC
df-h sieht bei mir zur Zeit so aus. (letzter reboot - gestern)
Filesystem Size Used Avail Use% Mounted on
rootfs 89G 16G 70G 19% /
/dev/root 89G 16G 70G 19% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 98M 228K 98M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 6.1G 0 6.1G 0% /run/shm
/dev/mmcblk0p1 56M 15M 42M 26% /boot
free -m sieht so aus
total used free shared buffers cached
Mem: 974 887 87 0 6 35
-/+ buffers/cache: 845 129
Swap: 30043 26 30016
also auch nicht üppig - Trotzdem es gibt überhaupt gar keine Abstürze
vG Looxer
-
Ah verdammt ich bring zur Zeit alles durcheinander free -m zeigt den ram an. Die Zeile bufgers/cache zeigt bei free den freien speicher.
Gesendet von meinem Jolla mit Tapatalk
-
lol, wollte gerade schreiben, ob wir noch vom gleichen "Speicher" reden.
-
habs ergänzt
-
Hallo zusammen,
wäre mal an der Zeit, ein kleines Tutorial zum Thema Speicheroptimierung zu schreiben. Diese Daten verstecken sich zurzeit in vielen einzelnen Threads und sind somit nur schwer zu finden. Vielleicht kann das ja auch jemand in das Handbuch übernehmen. Ich hab da keinen Zugriff darauf.
ioBroker und alle Adapter basieren auf node.js, einer Entwicklung für Serverseitiges Javascript auf Basis der V8 Engine von Google.
Javascript ist eine interpretierende Sprache, bei der Variablen nicht explizit deklariert und freigegeben werden müssen. Die Bereinigung und Freigabe von Speicherbereichen erfolgt hier im Rahmen einer sogenannten Garbarge Collection. Diese arbeitet bei V8 nach dem Stop-The-World-Modell, d.h. für die Speicherbereinigung werden alle anderen Prozesse gestoppt und erst nach Abschluss der Speicherbereinigung wieder freigegeben.
Die aktuellen Versionen von V8 bereinigen per Default den nicht mehr benötigten Hauptspeicher erst, wenn 512 MB belegt wurden. Da bei ioBroker der js-controller, alle als Daemon laufende Adapter und node-red eigenständige node.js Prozesse sind, kann somit theoretisch jeder dieser Prozesse auf mehr als 512 MB anwachsen. Dies ist insbesondere aus Systemen mit geringem RAM (z.B. Raspberry Pi) oder vielen Adaptern problematisch, da dies zur Beendigung von Prozessen das das System oder Programmabstützen führen kann.
V8 erlaubt jedoch individuelle Festlegungen des Zeitpunkts, an dem die Garbage-Collection gestartet werden soll. Dies erfolgt über den Startparameter –max-old-space-size. Die aktuellen Versionen des js-controllers und der Admin-Oberfläche erlauben die individuelle Festlegung dieses Parameters pro Adapter.
Für den js-controller muss dieser Parameter über die Konfigurationsdatei festgelegt werden:
Datei /opt/iobroker-data/iobroker.json z.B. mit nano öffnen.
Folgenden Text direkt nach der ersten geschweiften Klammer vor "network": { einfügen:
"system": { "memoryLimitMB": 80 },
Hierdurch wird das Limit auf 80 MB gesetzt. Dieser Wert scheint zurzeit für den Controller ausreichend zu sein.
Für alle anderen Adapter kann der Wert über die Admin-Oberfläche eingestellt werden:
Das Speicherlimit kann hier in der Spalte RAM-Limit eingetragen werden. Die Angabe erfolgt hierbei in MB. Keine Angabe = Default 512 MB.
Welche Werte hier sinnvoll sind, hängt vom System und dem Nutzungsszenario ab. Das Bild zeigt Beispielwerte, mit dem ein Produktivsystem auf einen Raspberry PI 2b stabil läuft.
Zum Thema history und sql gibt es ja schon einen guten Thread, der die Vor- und Nachteile beschreibt. Insbesondere bei mysql kann man durch die Anpassung der Konfiguration auch noch einiges zum Standard einsparen.
Der Wert für den node-red-Adapter betrifft nur den ioBroker-Adapter, nicht jedoch den node-red-Prozess selbst. Dieser wird vom Adapter mit –max-old-space-size=128 gestartet.
-
gab bzw gibt es denn Unterschiede bei der Garbage Collection, je nach verwendeter Linux Version ?
Das könnte ja das unterschiedliche Verhalten (Stabilitaet) erklären. Andersherum, wenn das nicht der Fall ist, dann erklärt es das nicht.
vG Looxer
-
Die Garbage Collection hängt in erster Linie an V8 und somit an der node.js-Version.
Bei den node.js-Versionen gibt es zumindest subjektiv erhebliche Unterschiede. Während die 0.10.x wohl auch mit dem geringen Speicher noch einiger Maßen zurecht gekommen ist, haben die von mir ausprobierten Version von 0.12.x fast alle mehr oder weniger häufig zu Abstützen geführt. Problem ist nur, dass mittlerweile viele node.js-Module mindestens eine 0.12.x voraussetzen. Auch wird der Stream 0.10.x nicht mehr weiterentwickelt und enhält keine Fixes mehr.
Die node.js-Version 4.2.x basiert nicht direkt auf 0.12.x sondern auf den wieder integrierten Parallelprojekt io.js und läuft subjektiv stabiler als 0.12.x, hat aber auch das Problem, dass der Speicher irgendwann aufgebraucht ist. Ich mutmaße mal, dass dies generell an den neueren V8-Versionen liegt, die einfach per Default für mehr Hauptspeicher und nur wenige parallel laufende Prozesse optimiert sind. Deswegen sind die obigen Speicherlimitierungen wichtig.
Generell würde ich heute für den Raspi 2b zum Jessie-Image mit node.js 4.2.6 raten. Das ist die aktuelle Long Term stable Version, die noch mit Fixes versorgt wird. Diese läuft sowohl mit ioBroker als auch mit dem aktuellen node-red 13.1 sehr gut zusammen.
In node.js 5.x hat jedoch zu viele Änderungen drin und ist absolut nicht zu empfehlen.
Alle aktuellen node.js-Versionen werden übrigens für Debian Jessie und somit auch für das aktuelle Raspbian-Image über den Package-Manager angeboten. Das hat den Vorteil, dass man sich über Updates und Kompatibilitäten weniger Gedanken machen braucht. Im Standard ist die 0.12.x LTS enthalten, für 4.2.x LTS muss folgendes einmal ausgeführt werden:
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs
Die LTS-Versionen werden nur noch mit Fixes versorgt, bekommen aber keine neuen Feature mehr. Somit ist das Risiko, dass ein Update zu Inkompatibilitäten führt, eher gering.
https://nodejs.org/en/download/package- … tributions
Generell lassen sich viele Fehler vermeiden, wenn man die npm-Pakete bei der Installation selber baut oder wenigstens als Fallback bauen kann. Dafür muss dann auch noch folgende installiert werden:
sudo apt-get install -y build-essential
-
…danke nobody. Das ist mal ne super Erklärung (und Empfehlung)
und erklärt auch warum ich keine Probleme habe.
Einschränkungen habe ich bisher in keiner Weise bemerkt.
Das heisst aber wohl, dass es durchaus zu Problemen bei zukünftigen updates von iobroker bei mir kommen kann.
Ich denke, dass ich das mal abwarte. Stabil ist besser als labil
vG Looxer
-
danke für dein Erklärungen die sind sehr aufschlußreich.
Bei einem Punkt hab ich aber andere Erfahrungen gemacht und ich glaube das Problem haben auch andere und wissen es nicht.
@nobody:Im Standard ist die 0.12.x LTS enthalten `
Bei meinen Installationen ist mir aufgefallen das bereits eine Node.js Version installiert ist, wenn man Debian Jessie auf dem Pi installiert.Es handelt sich um eine 0.10.x Version, diese lässt sich weder mit apt-get deinstallieren noch updaten. Auch ersetzen klappt nicht immer richtig weil die Symlinks erhalten bleiben, ebenso wie die PATH Variable(n).
Erst mit dem deb-Paket von nodesource hat es dann Funktioniert.
Hier mal meine Specs:
! Hardware: CCU2, RPi2 mit SSD
! Software: Debian Jessie (offizielle Version, nicht minimal), nodejs v4.2.1, npm v2.14.7, CCU2 2.15.2 + CUxD 0.9
! ioBroker:
! js-controller 0.8.4
! system.adapter.admin : admin - 0.7.3
! system.adapter.hm-rpc : hm-rpc - 0.5.2
! system.adapter.hm-rega : hm-rega - 0.2.2
! system.adapter.harmony : harmony - 0.5.5
! system.adapter.web : web - 1.3.4
! system.adapter.icons-addictive-flavour-png: icons-addictive-flavour-png - 0.1.0
! system.adapter.icons-material-png : icons-material-png - 0.1.0
! system.adapter.icons-material-svg : icons-material-svg - 0.1.0
! system.adapter.icons-mfd-png : icons-mfd-png - 0.1.2
! system.adapter.icons-mfd-svg : icons-mfd-svg - 0.1.2
! system.adapter.icons-ultimate-png : icons-ultimate-png - 0.1.0
! system.adapter.javascript : javascript - 1.1.4
! system.adapter.sayit : sayit - 0.3.16
! system.adapter.scenes : scenes - 0.2.4
! system.adapter.sonos : sonos - 0.1.7
! system.adapter.vis : vis - 0.8.4
! system.adapter.vis-bars : vis-bars - 0.1.1
! system.adapter.vis-colorpicker : vis-colorpicker - 0.1.1
! system.adapter.vis-fancyswitch : vis-fancyswitch - 0.1.0
! system.adapter.vis-google-fonts : vis-google-fonts - 0.1.0
! system.adapter.vis-hqwidgets : vis-hqwidgets - 0.2.5
! system.adapter.vis-jqui-mfd : vis-jqui-mfd - 0.1.0
! system.adapter.vis-keyboard : vis-keyboard - 0.0.2
! system.adapter.vis-lcars : vis-lcars - 0.1.6
! system.adapter.vis-metro : vis-metro - 0.2.0
! system.adapter.vis-plumb : vis-plumb - 0.1.6
! system.adapter.vis-rgraph : vis-rgraph - 0.0.2
! system.adapter.vis-timeandweather : vis-timeandweather - 0.0.2
! Und da die Frage eh kommt wie man eine Liste aller Adapter in Textform bekommt ohne zu Tippen, hier die Lösung:
! im Terminal "iobroker list adapters" eingeben.
! free -m zeigt bei mir folgendes an:
! total used free shared buffers cached
! Mem: 925 808 117 18 78 182
! -/+ buffers/cache: 547 378
! Swap: 99 0 99 -
Danke nobody!
Ich hab auf meinen beiden BananaPi Jessie drauf, mit node v0.12.6 .
Nach Deiner Meinung sollte v4.2.6 die bessere Wahl sein?!
Anbei mal zwei screens der Bananen (top sortiert nach Speicher).
Wobei z.B. der Speicherfresser history.0 schon mit RAMLimit 80 versorgt ist.
Nur versteh ich die Anzeige dann nicht, sieht mehr als 80 aus.
admin.0 läuft auf master, history.0 auf client.
! filename="top3.PNG" index="1">~~
filename="top3a.PNG" index="0">~~
! system.adapter.admin : admin - 0.7.3
! system.adapter.hm-rpc : hm-rpc - 0.5.2
! system.adapter.hm-rega : hm-rega - 0.2.2
! system.adapter.history : history - 0.2.1
! system.adapter.web : web - 1.3.4
! system.adapter.vis : vis - 0.8.4
! system.adapter.vis-hqwidgets : vis-hqwidgets - 0.2.5
! system.adapter.vis-jqui-mfd : vis-jqui-mfd - 0.1.0
! system.adapter.rickshaw : rickshaw - 0.3.1
! system.adapter.fritzbox : fritzbox - 0.2.1
! system.adapter.ical : ical - 1.1.1