Amazon Echo / Alexa am Raspberry Pi 3 mit Hifiberry AMP+ auf raspbian stretch

Inzwischen gibt es ja doch zahlreiche Fortschritte in Bezug auf „digitale Assistenten“ und Amazons Alexa / Echo und das Schöne ist, damit lässt sich gut basteln.

Wer einen Raspberry Pi, einen  Lautsprecher und ein Mikrophon über hat, der kann loslegen.

Was braucht man?

D.h. im Vergleich zu Amazon Echo (180 €) ist die Bastelvariante deutlich günstiger, beim Echo Dot fällt das nicht mehr ganz so unterschiedlich aus aber bei der Bastelvariante hat man im Falle der Verstärkerkarte je nach Qualität der Boxen zugleich einen richtig guten Klang.

Das Grobkonzept:

  • Amazon betreibt ein Github-Repository Alexa welches eine Beispielanwendung für Entwickler bereithält: die alexa-avs-sample-app. Auf passenden Geräten installiert kann in Verbindung mit einem Amazon Developer-Konto auf einen sehr großen Teil des Alexa-Funktionsumfangs zurückgegriffen werden. Und das ist mit dem Raspberry eben möglich. Radio, Smart Home, Kalenderzugriffe, usw. – vieles ist damit dann möglich. Bestimmte Sachen (z.B. Kauffunktionen, Amazon Music (nicht aber Webradios) werden z.B. nicht möglich sein)
  • Sprachausgabe und -Aufnahme übernimmt der Raspberry Pi selbst mit seinen Lautsprechern und seinem Microfon.

Hinweis: Dieser Beitrag geht auf die Besonderheiten der Installation unter stretch ein.

Dann kann’s eigentlich losgehen…

„Amazon Echo / Alexa am Raspberry Pi 3 mit Hifiberry AMP+ auf raspbian stretch“ weiterlesen

Raspberry Pi 3 – feste IP-Adresse je Netzwerk-Interface (wlan/lan) vergeben

Wenn ein Rechner verlässlich im Netz sein soll ist eine feste und bekannte IP oft hilfreich. Hierzu gibt es verschiedene Möglichkeiten. Die meiner Meinung nach sauberste und auch einfachste ist es, den in Raspbian standardmäßig laufenden dhcp-client-daemon einfach entsprechend zu konfigurieren.

Ein DHCP-Server ist für die Verwaltung und Vergabe von IP-Adressen verantwortlich und in den meisten Routern standardmäßig aktiv. Der DHCP-Client – bei uns im Raspberry – übernimmt dazu die Kommunikation mit dem DHCP-Server und legt die lokale Adresse des Geräts – also des Raspberry Pis – fest.

„Raspberry Pi 3 – feste IP-Adresse je Netzwerk-Interface (wlan/lan) vergeben“ weiterlesen

TV-Beleuchtung automatisiert schalten via openhab durch Homematic-Funksteckdose mit Verbrauchsmessung

Wenn man es sich auf der Couch gemütlich macht ist es manchmal lästig, nochmal aufzustellen, die Lampen so einzustellen, dass man angenehm fernsehen kann.. Da ist es doch leichter, wenn das Haus das von selbst macht.

Ziel soll bei mir folgendes sein: Ist es draußen dunkel oder nach 20:00 Uhr, dann soll die Fernsehbeleuchtung geschalten werden. Das heißt einfach gesagt: Zwei Wandlampen sollen auf 12% gedimmt werden, alles andere soll im Erdgeschoss ausgeschalten werden.

„TV-Beleuchtung automatisiert schalten via openhab durch Homematic-Funksteckdose mit Verbrauchsmessung“ weiterlesen

Präsenz-Simulation mit openHAB

In unserem Haus sind inzwischen alle Lichtschalter mit Aktoren von Homematic ersetzt und ein Raspberry Pi 3 übernimmt mit openHAB die Steuerung, siehe hierzu diverse vorherige Blogartikel.

Aber letztlich ist es egal, ob es Homematic oder irgendein anderer Hersteller benutzt wird: Hauptsache die Geräte werden durch openHAB unterstützt.

Nun steht demnächst die Urlaubszeit an und auch hier kann man den Raspberry und openHAB dazu verwenden, das Zuhause zu schützen. Ein Element des Schutzes kann eine Anwesenheitssimulation sein. Ist Licht an, wird vielleicht jemand zu Hause sein. Idealerweise „lebt“ das Zuhause auch noch durch das Wechseln verschiedener Lichtschaltungen, so dass der Eindruck entsteht, es ist wirklich jemand zu Hause.

Folgende Anforderungen sollen umgesezt werden:

  • Die Präsenzsteuerung soll via Oberfläche ein- und ausschaltbar sein
  • Die Präsenzsteuerung soll nicht an sein, wenn die Sonne noch nicht untergegangen ist und spätestens um halb zwei Nachts beendet sein
  • Die Präsenzsteuerung soll definierte Lampen für die Vorder- und Rückseite des Hauses kennen und zufällig schalten; dabei sollen Übergangszeiten und Zufallszahlen-Anteile abrupte Übergänge verhindern und die Schaltbilder sollen alls 15 Minuten wechseln

„Präsenz-Simulation mit openHAB“ weiterlesen

Raspberry Pi mit Synology NAS als Squeezebox mit Webradiofunktion in openHAB

Kürzlich habe ich bereits über das Thema Sprachausgabe beim Rasbperry auf Basis von openHAB und TTS-Services geschrieben. Leichter geht das Ganze wohl mit einem bestehenden Netz-Musikgerät (WLAN-Lautsprecher o.ä.). Hier gibt es von Logitech die Squeezebox welche in den ersten Versionen inzwischen schon eingestellt wurde. Die Software wurde dann in einer Version als open-Source freigegeben und lässt sich nun einfach nutzen. So können wir den Rasbperry Pi einfach als Squeezeplayer und ggf. auch Server verwenden. „Raspberry Pi mit Synology NAS als Squeezebox mit Webradiofunktion in openHAB“ weiterlesen

Smarthome: Anrufer-Name bei Fritz!Box bei Anruf via TTS auf Webradio ansagen

Nachdem ich kürzlich mein Smarthome mit einer Sprachausgabe versehen habe wollte ich es dazu bringen, mir anzusagen, wer anruft, wenn das Telefon klingelt.

Zuerst dachte ich daran, direkt die Google-API anzuzapfen, aber dann habe ich mir gedacht, eigentlich liegen die Daten ja schon synchronisiert auf meiner Fritz!Box und damit im Haus, daher wollte ich nun diese Quelle nehmen.

Und das klappt auch ganz gut, wenn das Telefon klingelt wird nun immer angekündigt, wer dran ist. „Smarthome: Anrufer-Name bei Fritz!Box bei Anruf via TTS auf Webradio ansagen“ weiterlesen

Webradio, Sound- und Sprachausgabe an (entferntem) Raspberry mittels mpv, php, hifiberry amp+ und openHAB

Mein erster Raspberry, der auch die Hausautomation steuert, ist bereits als squeezebox via squeezelite tätig, nun möchte ich an anderer Stelle ebenso einen WLAN-Lautsprecher haben. Auch hier habe ich mich für einen Raspberry Pi 3 und für die Soundausgabe für eine HifiBerry AMP+ Soundkarte inkl. 2x25Watt-Verstärker entschieden. Daran habe ich zwei alte aber gute Boxen gehängt und das alles ergibt durchaus einen schönen Klang.

Zuerst habe ich versucht, via squeezebox-Actions zu arbeiten, da bin ich aber schnell an die Grenzen gestoßen. Teils spielte die Squeezebox direkt mit den Squeezebox-Actions übermittelte mp3s mehrfach ab und zudem, wenn hintereinander mehrere mp3s abgespielt werden sollen, wirds schwierig, weil er die Dateien sofort abspielt und nicht erst in eine Queue einreiht. Daher habe ich squeezelite wieder entfernt und ein eigenes Script – unter Rückgriff auf Shell-Programme zum Abspielen von Streams und Sounds – geschrieben. „Webradio, Sound- und Sprachausgabe an (entferntem) Raspberry mittels mpv, php, hifiberry amp+ und openHAB“ weiterlesen

Smart Home zum Reden bringen: openHAB und text-to-speech (tts) am raspberry pi

In manchen Situationen wäre es schön, wenn das Smart Home mit einem redet. Meine Ideen gehen hier von Erinnerungen und dem Vorlesen von anstehenden Terminen meines Kalenders bis zur Ausgabe von Warnungen, wenn die Fenster zu lange offen sind oder irgend etwas anderes nicht passt.

Als Smart Home läuft bei mir ein Raspberry Pi 3 mit openHAB – siehe meine vorherigen Artikel dazu.

Nun geht es darum, ihm das Sprechen beizubringen, ganz konkret:

  • Benutzerspezifische Texte sollen als MP3 codiert werden
  • Die MP3-Datei soll am Raspberry abgelegt werden und gecached werden
  • Die MP3-Datei soll durch den Rasbperry auch ausgegeben werden
  • Das ganze soll über openHAB einfach ansteuerbar sein

„Smart Home zum Reden bringen: openHAB und text-to-speech (tts) am raspberry pi“ weiterlesen

openHAB – Sanftes Aufwachen mittels konfigurierbarem Lichtwecker

openHAB - konfigurierbarer Lichtwecker
openHAB – konfigurierbarer Lichtwecker

Lichtwecker sind grundsätzlich nichts neues, aber warum ein Gerät kaufen, wenn man das Smart Home dafür nutzen kann. Mit einem Dimmer (bei mir der von Homematic) im Schlafzimmer ist das mit openHAB schnell erledigt.

Zum Thema wecker liefert openhab im wiki ja bereits einige Beispiele aber irgendwie war mir das zu kompliziert. Timer, Locks, … – das muss doch einfacher gehen.

Als Anforderungen habe ich für mich festgelegt:

  • konfigurierbare Weckzeit und Wecktage
  • konfigurierbare Ziel-Helligkeit
  • konfigurierbare Geschwindigkeit für’s heller werden
  • Konfigurierbare maximale Helligkeit
  • Abbruchmöglichkeit, wenn Taste im Raum für betroffenen Lichtschalter gedrückt wurde

„openHAB – Sanftes Aufwachen mittels konfigurierbarem Lichtwecker“ weiterlesen

openHAB: Bewegungsmelder mit variabel gedimmtem Licht

Mit Bewegungssensoren und Schaltaktoren kann man ganz gut Lichter nur dann schalten, wenn auch jemand sich bewegt und das Licht gebraucht wird. Hierzu gibt es grundsätztlich zwar die Möglichkeit, in homematic den Bewegungsmelder direkt mit einem Licht zu verknüpfen, aber das bietet sich tatsächlich dann doch nicht immer an.

Als problematisch erwiesen sich hier bei mir folgende Aspekte:

  • Der Helligkeitswert des Sensors verfälscht sich, denn wenn das Licht an ist, dann ist es ja hell und irgendwann ist die Helligkeit ja dann auch der Auslöser, das Licht wieder abzuschalten. Es ist zwar möglich die Helligkeitswerte als Mittelwert der letzten 1-8 Messungen übertragen zu lassen, aber irgendwann passt der Wert einfach nicht mehr
  • Gerade bei kurzen Schaltzeiten ist es wichtig, nicht nach z.B. 15 Sekunden zu prüfen, ob die Bewegung aus ist und dann gleich das Licht aus zu machen, vielmehr wünsche ich mir hier einen Timer, der nochmal z.B. 10 Sekunden wartet und erst wenn dann in dem Wartezeitraum wirklich keine Bewegung mehr statt fand, das Licht ausschaltet
  • In einem Flur vor den Kinderzimmern soll das Licht nicht nur an und aus gehen, je nach Tageszeit (und damit Schlafzeit der Kinder) soll der Aktor (in diesem Fall ein Dimmer) verschiedene Helligkeitswerte schalten. Tags heller (z.B. 70%) und nachts dunkler (z.B. 17%). So dient das Flurlicht nachts als Nachlicht-on-demand und leuchtet gerade so den Weg zum Bad für die Kleinen aus und macht sie nicht zu wach.
  • Wurde das Licht manuell angeschalten (100%) oder Heller als der Tageswert gedreht, soll es so lange anbleiben, bis es auch manuell wieder ausgeschalten wird.

Dies ergibt somit folgende Anforderungen:

  • Der unverwässerte Helligkeitswert (Licht ist aus) muss mitgespeichert werden, um zu wissen, ob überhaupt das Licht an oder aus geschalten werden soll
  • Wir brauchen einen Timer, der den Nachlauf erledigt
  • Wir brauchen einen Abgleich der Tageszeiten, damit es nachts, wenn es draußen dunkel ist, auch drinnen nicht zu hell wird.

„openHAB: Bewegungsmelder mit variabel gedimmtem Licht“ weiterlesen