[archimedes] Re: HomeCntrl

  • From: Thomas Milius <Thomas-Milius@xxxxxxxxxxx>
  • To: archimedes@xxxxxxxxxxxxx
  • Date: Mon, 13 Feb 2017 22:34:25 +0100

In message <02d5845a-9c39-a6f5-7eb1-b40268dee07c@xxxxxxxx>
          Raik Fischer <raik_fischer@xxxxxxxx> wrote:

[snip]

Die Treiber für HomeCntrl zu schreiben, dürfte nicht das Problem sein.
Nur man muß eben die passende Hardware dazu haben.

Apropos Hardware.

Kannst Du mal auflisten was man zwingend benötigt und was optional schon 
unterstützt wird.

Z.Z. unterstützt er nur die HomeMatic mit CCU (ich habe eine CCU2).
Verbindung zum RISC OS Rechner geschieht mittels simplen LAN Kabel.
Auf der CCU2 muß externer HomeMaticSkript Zugriff über die "Firewall"
aktiviert sein. Die Netmask wählt man tunlichst so, daß nur Geräte im
üblichen 192.168.X.X-Bereich drauf zugreifen können, sonst vergnügt sich das
halbe Internet am Lichteinschalten etc. im eigenen Haus.

Auf HomeCntrl-Seite muß die IP der HomeMatic angegeben werden.

Das reicht. Der HomeMatic-Treiber ist so konfiguriert, daß alle relevanten
vorhandenen Teile automatisch im Formeleditor angezeigt werden. Der
entsprechende HomeMaticScript liegt als Textdatei in
Objects.HomeMatic.General und kann selbst verschlimmbessert werden.

HomeCntrl ist hier nur schmückendes Beiwerk. Die Hauptaufgabe macht die
HomeMatic CCU. Man kann das natürlich nahezu beliebig verschieben. Ich wollte
es aber ursprünglich nur als Anzeige haben, aber der Appetit kommt beim Essen
...

Wie weit man bei einer eigenen Treiberprogrammierung geht, hängt von den
eigenen Ansprüchen ab. Einen Treiber zum Setzen/Abfragen der GPIO-Leiste des
RPIs zu schreiben, dürfte für durchschnittlich Geübte einen Tag dauern. Eine
vollkommene Non-Blocking-Entkoppelung z.B. einer seriellen Schnittstelle oder
I2C ist evt. in einer Woche zu schaffen. Evt. kann ich da fürs BBxM ja mal
ein ReadOnly-Rumpfgerüst für bauen, daß dann jeder Interessierte als Vorlage
verwenden kann. Bei den einfachen Schnittstellen muß man im Treiber alles
selbst definieren, was wie angesprochen werden kann (was allerdings so
aufwendig auch nicht ist), Systeme wie die HomeMatic ermitteln die notwendige
Information beim Anlernen der Komponenten selbst. Dafür sind sie dann auch
bedeutend teurer als ein einfacher Draht z.B. mit Relais oder Schalter :-(.

Natürlich kann man sich auch Treiber für Internetdaten, wie eine langfristige
Wettervorhersage zur Einblendung schreiben. Fantasie und Aufwand sind kaum
Grenzen gesetzt. Wenn richtig gemacht, kann es es z.B. vollkommen banal sein,
einen Screenshot einer Überwachungskamera einzublenden. Ich habe kein
solches Teil, habe aber mal gelesen, daß sich manche dieser Teile per HTTP
abfragen lassen sollen. Also in !Alarms einen entsprechenden periodischen
Fetcher über wget oder auch POSTGET aufsetzen. Letzten Dateinamen z.B. in
eine Variable schreiben. Filename Funktion in Draw als <Variablennamen>
für ein Rechteck definieren und fertig ist die Ansicht. Der zu betreibende
Aufwand schwankt also je nach Aufgabenstellung sehr.

Und es geht natürlich, wie die Demo in Examples zeigt, auch ganz ohne
irgendwelchen Treiber nur mit der RND-Funktion und TIME in BASIC.

Klärt das Deine Frage?

Thomas Milius

Other related posts: