Sonntag, 12. November 2017

FHEM auf der Fritz!Box 7490 unter Freetz

Wie im vorherigen Beitrag beschrieben, läuft auf meiner Fritz!Box nun (wieder) Freetz. Nachdem AVM eine Zeit lang FHEM sogar als Labor Firmware mit anbot, entschied man sich, wohl aus Wartungs- und Sicherheitsgründen, diesen "Community" Weg nicht weiterzuverfolgen.
Aber offensichtlich ist die Idee aus Ressourcen-Sicht garnicht so abwegig, FHEM auf einer 7490 laufen zu lassen. Das herunterladbare Tar-Archiv auf der alten FHEM Fritz!Box Seite brachte unter FW 6.90 leider immer einen Segmentation Fault. Deshalb musste ich zunächst Perl für die Box Cross-Kompilieren und konnte dann FHEM installieren - inkl. JSON, IO::Socket::SSL/Net::SSLeay und sogar DBD::SQLite.

Donnerstag, 9. November 2017

Fritz!Box 7490 mit Freetz für Unbound flashen

Es ist keine sonderlich schlaue Idee, den Heimnetz DNS auf einen Rechner zu packen, der nur über eine fehleranfällige Powerline mit hoher Latenz angebunden ist - aber das wusste ich ja vorher...

Die (noch) aktuelle Fritz!Box 7490 hat 256MB RAM, 512MB NAND Flash und einen MIPS DualCore mit 600MHz, das sind eigentlich die perfekten Vorraussetzungen für alle Netzwerkaufgaben. Mein Ziel ist daher - unter Beibehaltung der "normalen" Funktionen" - folgende Software auf der Fritz!Box laufen zu lassen:
  • dnsmasq als lokaler DNS- und DHCP-Server
  • unbound als DNSSEC Resolver und QName-Minimization "Anonymizer"
  • AD-Block Filter
Mit Freetz steht ein hervorragendes Projekt für die Modifikation der Fritz!Box bereit. Meine Erfahrungen liegen zwar schon über 10 Jahre zurück (FB-7050, FB-7170), aber so schwer kann's ja wohl nicht sein...

Montag, 16. Oktober 2017

MAX! Cube Umbau zu 4-fach Netzwerk CUL (CUN)

Es erfreut das Bastlerherz, was findige Tüftler so alles mit der Welt teilen. So auch die Portierung der CUL Firmware auf die Hardware des MAX! Cube. Damit wird der Cube ein starker Konkurrent gegen den einstmals günstigen USB-CUL von busware.de.

Doch damit nicht genug, der Benutzer Telekatz aus dem FHEM Forum hat in der Portierung gleich ein Multiplexing für bis zu drei zusätzliche Tranceiver vorgesehen.
MAX! Cube

Sonntag, 15. Oktober 2017

FHEM Anwesenheitserkennung mit FritzBox-WLAN

Für die Anwesenheitserkennung meiner HomeAutomation setze ich schon lange auf die WLAN Assoziierungen im WLAN Router (OpenWRT: 'iw dev wlan1 station dump' bzw. Fritz!Box: 'ctlmgr_ctl r wlan status/wlanlist'). Nachdem in ab Fritz!OS 6.25 Telnet auf die Fritz!Box aus Sicherheitsgründen nicht mehr unterstützt wird, kommt das moderner TR-064 mit SOAP zum Einsatz.

Da ich in einer Wohnung mit vielen Heizkörpern günstige MAX! Heizkörperventile einsetze, bin ich auch wieder zum Nutzer der FHEM Homeautomatisierungssoftware geworden.
FHEM Anwesenheitsstatus

Vieles, was ich sonst per BASH Script und Crontabs gelöst hatte, lässt sich so sauber per Webfrontend umsetzen. Es gibt für alle erdenklichen Anforderungen ein Modul - so z.B. auch für die Fritz!Box.
Allerdings scheint das Modul 72_FRITZBOX.pm noch nicht so richtig in der "neuen" SOAP Zeit angekommen zu sein. So wird TR-064 zwar für Nachrichten unterstützt, aber vieles scheint noch über die Fernsteuerung der Web-Oberfläche zu laufen.
Für die meisten Leute funktioniert das ja auch und bringt darüber hinaus eine Unmenge weiterer Funktionen mit sich.

Für mich disqualifizierte sich das Modul dadurch, dass ich das Polling-Interval auf minimal 60 Sekunden stellen konnte (und auch ständig Events generierte - jede Signalstärkenänderung eines Geräts = neuer Event). Also habe ich eine eigene kleine Anwesenheitserkennung per Perl geschrieben, die per HTTP Aufruf mit FHEM kommuniziert.

Samstag, 14. Oktober 2017

Unbound DNS mit Fritz!Box Hosts füttern (TR-064)

Der Fritz!Box DNS für lokale Clients hat sich ja zugegebenermaßen deutlich verbessert. Früher musste man noch auf Feetz einen dnsmasq laufen haben um lokale Clients auflösen zu können.

Allerdings klappen gelegentlich einge Clients trotzdem nicht, so dass die Aktion im HomeAutomation schonmal ins Leere greift.
Außerdem ist die Filterliste in der Fritzbox auf ca. 500 Einträge beschränkt, was keinen automatisierten AdBlock erlaubt - die Listen sind z.T. deutlich länger.

Schließlich gibt es mit Unbound auch einen schönen kleinen (im Vergleich zu BIND) DNS Cache/Forwarder/Resolver/mini-Server, der innovative Mechanismen wie DNSSEC und QName-Minimization mitbringt.

Dieser Beitrag beschreibt, wie man mit ein bisschen Perl die Host-Liste eienr Fritz!Box abfragt und für Unbound speichert.

Dienstag, 10. Oktober 2017

Amazon Alexa per Shell fernsteuern (Echo remote control)

Hier gibt es einen aktuelleren Post zu diesem Thema. Please look here for an updated post!
UPDATE 2021-09-20

Nachdem Amazon mit dem Multiroom Feature der Echos meine alten Multiroom Audio Bemühungen quasi nebenbei erledigt hat, fehlte mir zu meinem Glück noch die Fernsteuerung meiner Echos.

Wenn ich nach Hause komme, soll die Home Automation bitte auch gleich das Radio auf den Amazon Echos einschalten.
Für den umgekehrten Weg nutze ich HA-Bridge, welches meine Intertechno Billigsteckdosen per Alexa Sprachkommando schaltet. Daher kenne ich auch die Möglichkeit, über einen Browser auf das Alexa Interface zuzugreifen.

Was ein Browser kann, das sollte sich doch auch per Shell bewältigen lassen...

Dienstag, 19. September 2017

IPSec VPN mit StrongSwan auf Debian Stretch (auch für Android 6+)

Nachdem ich Jahrelang Racoon aus den IPSec-Tools als IPSec VPN verwendet habe, musste ich mir für die Debian Stretch Installation etwas Neues suchen.

Seit Racoon 0.8.x funktionierte die PrivilegeSeparation nicht unter Linux - d.h. der Prozess kann nicht als non-root Benutzer laufen (Versuche enden immer in einem Segfault).
Daher hatte ich immer ein altes Lenny-Racoon  Paket im Einsatz; unter Sicherheitsaspekten ebenfalls ein Alptraum...

StrongSwan ist einer der Nachfolger des FreeS/WAN-Projekts, wird mit Debian Stretch geliefert und soll Racoon nun ersetzen.

Andriod VPN Dialog

Apache /tmp Ordnerzugriff unter Debian Stretch (Systemd Service Override)

Nach dem Upgrade von Debian Jessie auf Stretch funktionierte plötzkich eine Webanwendung nicht mehr, die sich eine SQLite-Datenbank mit anderen Prozessen im /tmp-Verzeichnis teilt.

PHP gab mir immer nur den nichtsagenden Fehler (conferences lautet der Tabellename, auf den zugegriffen werden soll):

no such table "conferences"


Samstag, 28. Januar 2017

HomeAutomation and multi-room audio revisited

In älteren Beiträgen hatte ich bereits meine Begeisterung über Multi-Room Audio und dessen Bedeutung für die HomeAutomation geteilt.
Inzwischen gibt es viele neue Entwicklungen, die den Möglichkeiten eines SONOS Systems etwas näher kommen.

Ich nutze nach wie vor kleine Router mit USB-Soundkarte auf OpenWRT Basis als Netzwerklautsprecher in jedem Raum. Es gibt drei Möglichkeiten, Sound auf diese Geräte zu schicken, wobei ich auf den letzten Punkt insbesonders eingehen möchte:
  1. AirPlay (iPhone, iPad, iPod touch)
  2. DLNA / UPNP-AV (Android)
  3. EsounD/PulseAudio (HomeAutomation Server)