

Ich überlege schon länger für unser Haus eine Mini-PV-Anlage zu kaufen und damit den Stand-By-Verbrauch des Stroms im Haushalt per Sonnenenergie eigenständig zu erzeugen.
Bei siio.de habe ich eine ganz interessante Artikelserie gefunden, die sich mit dem Thema Mini-PV-Anlagen beschäftigt.
Im Artikel Balkonkraftwerk: die Mini-PV Anlage kommt, bald! werden die Grundlagen beschrieben z.B. ein kleiner Anbietervergleich, Watt vs. wpeak, Beispiel- und Amortisationsrechnung.
Im zweiten Artikel Projekt Mini-PV: Endlich Strom selber ernten erhält man mehr Informationen über den Aufbau und die ersten Tests einer Mini-PV-Anlage.
Im dritten Teil der Serie erfährt man, wie eine komplette Monate auf dem Dach erfolgen kann – Aufs Dach gestiegen – die Mini PV Anlage ist montiert.
Ich müsste mir für unsere eigene Anlage erst einmal einen vernünftigen Ort zur Montage suchen. Aber wo hat man die größte „Sonnenausbeute“? Auf dem Flachdach der Garage? Auf der Südseite des Hausdachs? Oder am Geländer der Terrasse?
Außerdem müsste ich erst einmal den genauen Stand-By-Verbrauch unseres Hauses messen (eine grobe Tendenz hätte ich, da ich die Hauptverbraucher bereits ermittelt habe).
Was mich aber immer noch von dem Vorhaben abhält ist, dass der Stromzähler bei uns getauscht werden und ich die Mini-PV-Anlage erst einmal beantragen muss.
Hat von euch jemand Erfahrungen mit Mini-PV-Anlagen? Bei welchem Verbrauch habt Ihr euch eine Anlage zugelegt? Wie groß habt Ihr die Anlage bemessen?
Ich hatte hier schon vor längerer Zeit geschrieben, dass ich gerne meine lokale Musiksammlung von einem Synology-NAS auf Amazon Echo Geräten abspielen möchte.
Mein Favorit war die direkte Integration der Synology Audio Station mit einem Alexa-Skill um die Musiksammlung auszugeben. Leider ist der Skill zwei Jahre später nur in Englisch möglich und kann auf deutschen Amazon-Konten nicht aktiviert werden. Auch zahlreiche Rückfragen bei Synology haben keinen genauen Termin oder Zeitplan ergeben.
Da ich aber jetzt nicht länger warten wollte, habe ich mir die Alternative My Media for Amazon Alexa angesehen. Der Medienserver kann aber nur 7 Tage kostenlos getestet werden und dann ist eine Subscription von 5 Euro pro Jahr notwendig (abhängig von den Anforderungen). Dieses Modell finde ich für den Test und für den Funktionsumfang aber sehr fair.
In dem Artikel beschreibe ich, wie ich das System auf meiner Synology Diskstation installiert und konfiguriert habe.
Die My Media for Alexa Applikation ist leider nicht direkt auf der Synology Diskstation als Paket vorhanden und kann aber per Docker eingebunden werden. Damit kann ich auch gleich mal die Virtualisierung der Container über dem NAS testen. 😉
Folgende Schritte habe ich durchgeführt:
Jetzt kann per http://IP:52051 die Applikation gestartet werden.
Folgende Schritte habe ich dann im Medien-Server durchgeführt:
Das Indexieren der Audio-Dateien dauert etwas (abhängig von der Anzahl). Eine einfache Konfiguration ist damit abgeschlossen.
Alle möglichen Kommandos sind auf dieser Seite in Deutsch beschrieben.
Ich habe folgende Kommandos für den ersten Test verwendet:
Damit kann ich meine lokale Musik komplett per Sprache aufrufen und bedienen.
Mit der My Media for Amazon Alexa kann ich relativ einfach auf die Musik in meinem lokalen NAS zugreifen. Die Installation und Basiskonfiguration ist recht einfach möglich.
Ich werde jetzt diese Woche noch einmal testen und wenn es gut funktioniert eine Basismitgliedschaft für 5 Euro im Jahr abschließen.
Habt Ihr Erfahrungen mit dem Skill und der Applikation gemacht? Was nutzt Ihr für das lokale Streaming von Musik mit Alexa zur Sprachsteuerung?
In diesem Beitrag habe ich beschrieben wie eine MQTT-Infrastruktur mit openHAB 2.4 aussehen kann. Jetzt sind Sonoff S20 Steckdosen als Geräte vorhanden und wurden mit Tasmota MQTT-fähig gemacht.
Jetzt müssen natürlich die Steckdosen vorbereitend für Weihnachten 2019 auch in openHAB integriert werden 🙂
Ein Beispiel für die Anbindung an MQTT mit openHAB 2.4 findet man im Tasmota-Wiki. Dort wird der alte Weg und die neue Variante mit openHAB 2.4 grob beschrieben.
Die generelle MQTT-Architektur in openHAB 1 / 2 könnt Ihr hier nachlesen. Damit hat man schon einmal etwas Basiswissen über die Systemarchitektur.
Ein kleines Beispiel für die Integration von Sonoff S20 mit Tasmota-Firmware habe ich im openHAB-Forum gefunden. Recht ähnlich habe ich dann meine Konfiguration aufgebaut.
Da ich bereits openHAB 2.4 verwende, benutze ich MQTT v2 als „Binding“. Ich gehe nicht mehr auf die Unterschiede der beiden Versionen ein.
Jedes physikalische vorhandene Sonoff-Gerät wird als ein Thing definiert. Am Thing wird auch die Verbindung zum MQTT-Broker hinterelegt. Außerdem werden am Thing die notwendigen Channels z.B. POWER zum schalten parametriert.
Anschließend wird am Item definiert das auf den Channel zugreift. Am Schluss wird alle in der Sitemap visualisiert und optional in Regeln automatisiert.
In der Things-Datei wird nun die Bridge zum MQTT-Broker und die Things incl. Channels wie folgt definiert:
Bridge mqtt:broker:myMQTTBroker [ host="xxx.xxx.xxx.xxx", secure=false, username="xxx", password="xxx" , clientID="myMQTTClient" ] { Thing topic Sonoff_xxx_xxx "Sonoff - xxx-5778" @ "MQTT" { Channels: Type switch : PowerSwitch "Power Switch 01" [ stateTopic="stat/sonoff-xxx/POWER", commandTopic="cmnd/sonoff-xxx/POWER", on="ON", off="OFF" ] Type switch : PowerSwitchRes "Switch State 01" [ stateTopic="stat/sonoff-xxx/RESULT", transformationPattern="JSONPATH:$.POWER",on="ON",off="OFF"] Type string : Version "Version 01" [ stateTopic="tele/sonoff-xxx/INFO1", transformationPattern="JSONPATH:$.Version"] Type string : fallback "fallback topic" [ stateTopic="tele/sonoff-xxx/INFO1", transformationPattern="JSONPATH:$.FallbackTopic"] Type string : hostname "hostname " [ stateTopic="tele/sonoff-xxx/INFO2", transformationPattern="JSONPATH:$.Hostname"] Type string : IP "IP " [ stateTopic="tele/sonoff-xxx/INFO2", transformationPattern="JSONPATH:$.IPAddress"] Type string : time "Time" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Time" ] Type string : uptime "Uptime" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Uptime" ] Type number : vcc "VCC" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Vcc" ] Type string : wifi-ap "Wifi AP" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.AP" ] Type string : wifi-ssid "Wifi SSID" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.SSId" ] Type string : wifi-channel "Wifi Channel" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.Channel" ] Type string : wifi-rssi "Wifi RSSI" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI" ] Type string : devicestate "Device State" [ stateTopic="tele/sonoff-xxx/LWT" ] }
Die Items werden wie folgt aufgebaut:
/************************************************** Gruppen ********************************************/ Group gSonoffSw1 "Sonoff S20 01" Group gSonoffSw1Info "Info 01" Group gSonoffSw2 "Sonoff S20 02" Group gSonoffSw2Info "Info 02" /************************************************** Items ********************************************/ /* Sonoff_xxx_xxx */ Switch SonoffPs01Switch_Switch "Switch 01" (gSonoffSw1) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:PowerSwitch" } Switch SonoffPs01Switch_State "State 01" (gSonoffSw1) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:PowerSwitchRes"} Number SonoffPs01Switch_Vcc "VCC [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:vcc" } String SonoffPs01Switch_WifiAp "Wifi AP [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-ap" } String SonoffPs01Switch_WifiSsid "Wifi SSID [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-ssid" } String SonoffPs01Switch_WifiChannel "Wifi Channel [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-channel" } String SonoffPs01Switch_WifiRssi "Wifi RSSI [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-rssi" } String SonoffPs01Switch_Uptime "Uptime" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:uptime" } String SonoffPs01Switch_Time "Time" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:time" } String SonoffPs01Switch_Version "Version [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:Version" } String SonoffPs01Switch_Hostname "Hostname [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:hostname" } String SonoffPs01Switch_IP "IP [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:IP" } String SonoffPs01Switch_DeviceState "Device State" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:devicestate" }
Falls gewünscht kann das Tag [„Lighting“] für die Alexa-Anbindung noch entsprechend integriert werden.
Nach der Änderung der Things und Items einmal die openHAB-Dienste neu starten.
Den Test der Konfiguration habe ich mit mqtt-spy vorgenommen.
Ich habe folgende Topics verwenden:
Damit sehe ich alle Nachrichten zu dem Gerät. Es können folgende Wildcards verwendet werden:
Im nächsten Schritt möchte ich das Schalten der Steckdosen per Regel automatisieren:
rule "MQTT_TEST" when Time cron "0 */1 * ? * *" //every 1 Minute then logInfo("INFO","MQTT.rules - MQTT Test every minute") val actions = getActions("mqtt","mqtt:systemBroker:embedded-mqtt-broker") actions.publishMQTT("cmnd/sonoff-xxx/POWER","OFF") end
Mit dieser Regel wird jede Minuten das Sonoff-Gerät ausgeschalten. Für einen einfachen Test ist das ausreichen.d
Im letzten Schritt wird noch die Visualisierung in der Sitemap für die Web-Oberfläche und die App vorgenommen:
Text label="Tasmota" icon="movecontrol" { Frame label="Sonoff S20 (B0B692 - 5778)" { Switch item=SonoffPs01Switch_Switch Switch item=SonoffPs01Switch_State Group item=gSonoffSw1Info } }
Mit den oben genannten Dokumentationen und Beispielen ist ein sehr einfacher Einstieg in MQTT, den Sonoff-Endgeräte und der Tasmota-Firmware möglich. Ich muss mir jetzt noch eine bessere Struktur für meine Topics und Messages erstellen. Im ersten Test habe ich die hinterlegten Nachrichten genommen, ich erst einmal die Funktionsfähigkeit testen wollte.
Nun kann ich auch die restlichen „Tasmoten“ bestellen und damit die Weihnachtsbeleuchtung 2019 vorbereiten 🙂
Wie sind eure Erfahrungen allgemein mit MQTT und mit der Integration in openHAB? Welche Szenarien lassen sich damit noch abbilden?
In diesem Beitrag möchte ich kurz beschreiben, wie man Sonoff S20 Steckdosen für die lokale Verwendung im SmartHome anpasst und die Bindung zur Hersteller-Cloud löst. Dafür notwendig ist die Tasmota-Firmware auf den Steckdosen.
Im ersten Schritt findet Ihr hier ein paar Quellen für die die Anpassung der Hard- und Software:
Folgende Hardware:Komponenten waren für die Anpassung notwendig
Für die Software habe ich die Arduino IDE mit ein paar Anpassungen für das Board verwendet.
In diesem Kapitel wird die Verwendung der Software-Umgebung auf Basis der Arduino IDE beschrieben.
Nun wird eine erste Grundkonfiguration der IDE vorgenommen:
Jetzt kann etsprechend die Sonoff S20 Hardware angepasst werden.
Die Funksteckdose kann einfach mit einem Kreuz-Schraubendreher und drei Schrauben geöffnet werden. Nach Abschluß des Flash-Vorgangs wird die Steckdose wieder zusammengeschraubt.
Danach wird die Verbindung zum FTDI-Adapter hergestellt:
Wichtig ist, dass während des Flash-Vorgangs die Steckdose nie am Stromnetz betrieben werden darf.
In der Hardware-Vorbereitung wird genau beschrieben wie Ihr die Pins verbinden müsst. Die Umsetzung war für mich als „Nicht-Elektroniker“ auch einfach zu machen.
Nun muss die Firmware auf der Steckdose von der Herstellerfirmware gegen Tasmota getauscht („geflasht“) werden.
Bei der Tasmota-Firmware handelt es sich um eine Software für auf ESP8266 basierende Geräte von itead z.B. Sonoff. Hier können erweitertee Funktionen wie Web, MQTT und OTA hinzugefügt werden. Als Arbeitsumgebung kann Arduino IDE PlatformIO verwendet werden. Ich habe mich für die Arduino IDE entschieden.
Die erste Einrichtung habe ich wie folgt vorgenommen:
Damit ist die Grundkonfiguration der Firmware schon einmal vorhanden.
Jetzt muss das entsprechende Sonoff-Projekt an die eigenen Vorstellungen angepasst werden:
Nun kommt der eigentliche Flash-Vorgang, der aber auch recht einfach funktioniert:
Nachdem man die Steckdose wieder zusammen geschraubt hat, ist ein erster kompletter Test im eigenen WLAN möglich.
Dazu einfach im Router (bei mir eine FritzBox) in den Netzwerkgeräten nach „sonoff“ Ausschau halten.
Hier findet Ihr dann die IP-Adresse und der entsprechende Name des Geräts. Nun kann über einen Web-Browser auf das Webinterface zugegriffen werden. Auf der Weboberfläche kann auch gleich ein erster Funktionstest (Schalttest) vorgenommen werden.
Folgende Einstellungen habe ich in der Tasmota-Weboberfläche noch vorgenommen:
Durch die Emulation ist auch eine direkte Verwendung in Amazon Echo / Alexa möglich. Die MQTT-Einstellungen sind nur für meine openHAB-Integration vorgesehen.
Für die Verwendung mit Alexa muss in der Alexa-App noch ein Suchlauf gestartet werden. Danach können die Geräte per Sprache geschalten werden:
Mit diesen paar Schritten ist es relativ einfach ein Sonoff-Endgerät mit der alternativen Firmware Tasmota zu „flashen“. Auch die Integration in das heimische Netzwerk klappt ohne größeren Aufwand. Damit habe ich für ca. 10 Euro pro Steckdose eine sehr günstige Variante um unsere Weihnachtsbeleuchtung mit vielen Steckdosen Ende 2019 entsprechend zu schalten.
Die MQTT-Konfiguration für openHAB und die Integration in Alexa über openHAB muss ich im nächsten Schritt noch genau testen.
Vom Arbeitsaufwand war es eigentlich recht überschaubar (dies hätte ich mir komplizierter) vorgestellt.
Habt Ihr auch schon einmal Endgeräte mit Tasmota geflasht?
Nach dem Update auf openHAB 2.4 funktioniert der folgende Sprachbefehl nicht mehr „Alexa, schalte das Licht Wohnbereich aus“ in unserem SmartHome. Das zugehörige Item ist wie folgt definiert:
Switch Licht_EG_Wohnbereich "Licht Wohnbereich" (gLicht_EG, gLicht) [ "Lighting" ]
Mit diesem Item schalte ich dann in einer Regel alle Lichter in den gewünschten Zimmern aus. Mit openHAB 2.3 hat das auch noch alles ohne Probleme funktioniert. Das Problem trat bei uns im Haus auf, wenn ein physikalischer Lichtschalter aktiviert wurde und dann dieses Licht per Sprache ausschalten wollte (das passiert bei uns öfter).
Ein ähnliches Problem wurde hier im openHAB-Forum leider ohne Lösung beschrieben.
Scheinbar gab es eine Änderung in dem Binding zwischen den Versionen 2.3 / 2.4 bezüglich der Stati ON / OFF / NULL. Ein Verweis auf den aktuellen Snapshot-Build hat das Problem gelöst.
Ich habe den Snapshot (Testversion) wie folgt eingespielt:
Nach dieser kleinen Änderung können „Gruppen-Schalter“ (in unserem Fall Lichter) wieder über Alexa komplett geschalten werden.
Egal wie zuverlässig man alles testet, kommt bei jedem Software-Update immer eine „Kleinigkeit“ dazu die man vergessen hat. 🙂
Hattet Ihr ähnliche Erfahrungen nach dem openHAB 2.4 Update?
Vorbereitend für unsere Sonoff-Steckdosen zum Schalten der Weihnachtsbeleuchtung habe ich mich etwas mehr mit dem Thema MQTT beschäftigt.
Ein guter Einstiegsartikel zum Thema MQTT mit dem Fokus auf openHAB findet Ihr in diesem Blog-Beitrag.
MQTT steht für Message Queuing Telemetry Transport und entspricht dem ISO Standard – ISO/IEC PRF 20922. Es handelt sich dabei um das meist verwendete Protokoll im Internet der Dinge (IoT). Bei MQTT handelt es sich um ein „publish-subscribe“ basiertes Nachrichtenprotokoll.
In einem MQTT-System kommunizieren Clients mit einem Server (dieser wird oft „Broker“ genannt). Ein Client kann Nachrichten verteilen (Publisher) oder empfangen (Subscriber).
In diesem Artikel wird nur die MQTT-Integration von openHAB 2.4 und neuer betrachtet (in den vorherigen Versionen sind andere Installationen und Konfigurationen notwendig).
Im ersten Schritt wird das MQTT Binding wie folgt installiert:
Im Zweiten Schritt wird der MQTT Broker hinzugefügt:
Danach befindet sich ein Item „MQTT Broker“ (embedded-mqtt-broker) in der Inbox und muss akzeptiert und als Thing hinzugefügt werden (hier ist keine weitere Konfiguration notwendig).
Im letzten Schritt wird noch die MQTT Action aktiviert:
Um den integrierten MQTT Broker zu testen habe ich folgende MQTT.rules-Datei erstellt:
rule "MQTT_TEST" when Time cron "0 */1 * ? * *" //every 1 Minute then val actions = getActions("mqtt","mqtt:systemBroker:embedded-mqtt-broker") actions.publishMQTT("test/system/started","true") end
Damit wird jede Minute eine Test-Nachricht auf das MQTT Topic „test/system/started“ mit dem Wert „true“ geschrieben.
Da ich aktuell noch kein MQTT-fähiges Endgerät im Haus habe, konnte ich mit mqtt-spy das Ergebnis testen. Den direkten Download der Version findet Ihr hier.
Die Konfiguration des Clients kann wie folgt aussehen:
Damit kann ich dann an den in openHAB 2.4 integrierten MQTT Broker Nachrichten senden und von dort empfangen.
Eine mögliche Konfiguration sieht so aus:
Mit openHAB 2.4 und dem zugehörigen Blog-Eintrag war eine einfache und schnelle Einarbeitung in MQTT mit den neuen openHAB-Elementen möglich. Jetzt habe ich die MQTT-Basis verstanden und ein MQTT-System installiert und konfiguriert.
Das Basis-System steht damit und ich kann in die Detailkonfiguration der Things / Items in openHAB einsteigen. Für die nächsten Tests fehlt mir noch ein MQTT-fähiges Endgerät. Hier habe ich bereits ein paar Sonoff S20 Steckdosen bestellt, die ich mit Tasmota flashen möchte.
Nutzt Ihr MQTT in euren SmartHome-Szenarien? Welche Endgeräte habt Ihr damit angebunden?
Mit obenHAB 2.4 kam als neue Funktion der HABot hinzu (in openHAB 2.3 und früher konnte man den Chat-Bot leider nicht integrieren). In diesem Artikel beschreibe ich wie einfach man einen Chat-Bot für sein SmartHome mit openHAB in Betrieb nehmen kann.
Ein Chat-Bot ist ein textbasiertes Dialogsystem das die schriftliche Kommunikation mit technischen Systemen erlaubt. Einen Chatbot kann man als bessere Volltextsuchen oder erste Ansätze von künstlicher Intelligenz verstehen.
Der Bot basiert auf der Eclipse SmartHome Laufzeitumgebung, kann offline verwendet werden und speichert keine Daten in „Third-Party-Anbieter-Clouds“.
Der HABot basiert auf folgenden Technologien:
Der Bot wird in der Paper UI wie folgt aktiviert:
Danach kann der HABot ohne weitere Konfiguration für einen ersten Test verwendet werden. In diesem einfachen Beispiel wurden noch keine erweiterten Attribute wie semantische Tags, Metadaten oder Kategorien verwendet.
Für den Start des HABot wird einfach folgende URL im Webbrowser aufgerufen:
http://IP:PORT/habot/
Danach kann durch die Eingabe der folgenden Beispiel-Elemente mit dem Bot kommuniziert werden („Christbaum“ ist ein vorhandenes openHAB-Item in meiner Umgebung):
Im User-Interface sieht das wie folgt aus:
Ein gutes Video vom SmartHome Day 2018 zum Thema HABot gibt es hier:
Es ist immer schön wenn man sich mit neuen und innovativen Technologien beschäftigen kann, aber für mein privates SmartHome habe ich bis jetzt noch keine Anwendungsfälle für einen Chat-Bot gefunden. Die meisten Geräte werden bei uns per Sprache oder physischen Schaltern aktiviert.
Wie sieht es bei euch aus? Seht Ihr Anwendungsfälle für einen Chat-Bot im SmartHome? Welche Szenarien sind für euch denkbar?