SONOFF basic flashen und in openHAB einbinden

Aus CyberWiki
Version vom 30. März 2019, 18:11 Uhr von Geli (Diskussion | Beiträge) (→‎Ablauf)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

SONOFF flashen

Die folgende Beschreibung fasst im Wesentlichen diese Seite zusammen:
SONOFF flashen schnellste Methode. Sie bezieht sich auf die Modelle SONOFF Basic und SONOFF 4CH R2.

Benötigte Hard- und Software

  • FTDI Adapter FT232RL USB nach TTL Serial (Jumper auf 3,3V!)
  • Mini-USB-Kabel für die Verbindung zum PC
  • 4 Dupont Jumper Kabel (m/w)
  • Tasmota Firmware sonoff-classic.bin (Nicht sonoff-DE.bin).
  • ESPEasy Flasher Download als ZIP-Datei
  • Termite Program only zum Eintragen der WLAN-Zugangsdaten.

Ablauf

Falls der Flashversuch schiefgeht, ist das nicht tragisch - er kann beliebig oft wiederholt werden. Wichtig: SONOFF darf keinesfalls mit 230V verbunden sein!

  • Jumper des FTDI Adapters muss auf 3,3V stehen, sonst ist der SONOFF gegrillt.
  • Mit den 4 Jumper-Adern werden GND, Vcc, TX und RX verbunden.
  • Am SONOFF Basic sind das die 4 Anschlüsse neben dem Taster. Beginnend ab Taster mit Vcc, TX, RX und GND. Die Stifte der Jumperkabel müssen nicht gelötet werden, sondern es reicht eine vorübergehene Fixierung (mit Klebeband). Die Belegung der 4 Anschlüsse sollte vorher aber gecheckt werden.
  • Am SONOFF 4CH R2 sind die Anschlüsse auf der Oberseite beschriftet.
  • Start FlashESP8266.exe und Auswahl COM-Port sowie Firmware (bzw. nach Verbinden mit PC). Die Firmware sonoff-classic.bin muss im gleichen Ordner liegen!
  • Knopf am SONOFF Basic drücken und Adapter mit PC verbinden. Nach Aufbau der Verbindung (blinken am Adapter) kann der Taster losgelassen werden. Der SONOFF ist im Flashmodus.
  • Beim SONOFF 4CH R2 muss der am weitesten von den Stromanschlüssen entfernte Knopf gedrückt werden.
  • Auf Button Flash klicken und Flashvorgang durchführen.
  • Nach Flash Complete -> Ok -> SONOFF abstecken und wieder anstecken!
  • Termite.exe starten -> Port auswählen -> Baud rate 115200
  • Nach OK -> click to connect in der Befehlszeile unten ssid1 WLANname und danach password1 WLANpassword eingeben.
  • Danach ist der SONOFF per IP-Adresse über den Browser erreichbar.
  • Hier zuerst den richtigen SONOFF auswählen und speichern.

Bei meiner letzten Lieferung der SONOFF Basic sind die 4 Anschlüsse auf der Platinenrückseite beschriftet. Ungeachtet dessen hat das Flashen trotzdem mit der obigen Reihenfolge funktioniert.
Die Empfehlung im verlinkten Tutorial, ein neu aufgesetztes Windows zu verwenden ist, wenn auch schwierig zu realisieren, nicht von der Hand zu weisen. Nach dem Flashvorgang konnte ich Termite nur nach mehreren Anläufen verwenden, da der PC ständig USB-Geräte gesucht hat und eine Verbindung mit dem SONOFF dadurch verhindert hat. Am Notebook hat der Eintrag von SSID und Password ohne Probleme funktioniert. Ich vermute, dass bei mir die händisch installierten Treiber für den CC-Debugger die Störenfriede sind, da die Probleme erst danach auftraten.

SONOFF in openHAB einbinden

Voraussetzung: geflashter SONOFF mit TASMOTA firmware.

Installation des MQTT-Server auf dem Raspberry Pi (mit Putty connecten)

sudo openhabian-config
Optional Components/Mosquitto (ohne password)

Danach muss in der Weboberfläche von openHAB das MQTT-Binding installiert werden.

PAPER UI/Add-ons/BINDINGS -> MQTT Binding INSTALL

Konfiguration MQTT Broker

Inbox +
Klick MQTT Binding/ADD MANUALLY/MQTT Broker
Name=beliebiger Name z.B. ohbroker
Thing ID=ohbroker
Broker Hostname/IP=localhost
SHOW MORE
Broker Port=1883
[Username=openhabian
Password=g..i] vorerst ohne user/password

Mit Klick auf das blaue Häckchen wird der Broker gespeichert und sollte als ONLINE angezeigt werden.
Anschließend werden die Geräte verknüpft.

Configuration/Things
blaues +
MQTT Binding/ADD MANUALLY/Generic MQTT Thing
Name=biotoppumpe
Thing ID=biotoppumpe
Location bleibt vorerst leer (bezieht sich auf die sitemap!)
Bridge Selection=Auswahl ohbroker - mqtt:broker:ohbroker

Mit Klick auf das blaue Häckchen wird das Thing gespeichert. Der Status von biotoppumpe sollte ONLINE sein. Mit Klick auf biotoppumpe wird das Thing bearbeitet.

Channels +
Auswahl Channel type -> On/Off switch
Channel id=Power
Label=Power
MQTT state topic=stat/biotoppumpe/POWER
MQTT command topic=cmnd/biotoppumpe/POWER
SAVE

Die Befehle können mit MQTT.fx durch subscribe herausgefunden werden.
Abschließen wird durch Klick auf das runde blaue Symbol vor Power der Kanal mit einem Item verlinkt.

Profile bleibt Default
Create new item
Name des Items eintragen

Nach dem Speichern erscheint das neue Item unter Control/OTHER im Paper-UI und kann sofort bedient werden.

Programm MQTT.fx

Die Beschreibung von MQTT.fx hat jetzt mit der eigentlich Konfiguration des SONOFF nichts zu tun, sondern dient zur Überprüfung des MQTT-Server und zum Absetzen von Befehlen. Es ist also ein Test, ob die Kommunikation zwischen SONOFF und MQTT-Server funktioniert.
Darin müssen folgende Einstellungen vorgenommen werden:

Profil Name (z.B. ohbroker) 
Broker Address = IP des Raspberry Pi [alternativ ist der hostname möglich]
Broker Port 1883
Client ID = wenn leer -> Generate
User Credentials: User Name und Password

Startseite des SONOFF aufrufen (mit IP des SONOFF im Browser)

Das Konfigurationsmenü des SONOFF wird im Brower aufgerufen, die IP-Adresse findet man im Router. Z.B.

http://10.0.0.10

Hier ist bei Host die Eingabe der IP-Adresse erforderlich. Der hostname funktioniert nicht, jedenfalls nicht trivial. Sinnvoll ist es daher, im Router Immer die gleiche IP-Adresse verwenden: zu aktivieren, oder man vergibt für den openHAB-Server eine statische IP-Adresse. Topic ist der Name, mit dem der SONOFF im MQTT.fx-Client und in openHAB angesprochen wird.

Einstellungen/MQTT konfigurieren
Host=IP-Adresse des Raspberry Pi
Port=1883
Benutzer und password des MQTT-Server
Topic=biotoppumpe

Nach dem Speichern kann getestet werden, ob die Verbindung funktioniert.

MQTT.fx

Eingabe Brokername (smarthome) -> Connect (rechts sollte ein grünes Symbol erscheinen)

Mit Klick auf Subscribe (Karteireiter) wählt man das zu beobachtende Gerät aus, indem man in die darunterliegende Befehlszeile

stat/biotoppumpe/RESULT -> Subscribe

eingibt. Drückt man am SONOFF den kleinen Ein- und Ausschalter, sollten die Ereignisse im rechten Teil des Fensters gelistet werden. Damit ist der SONOFF sauber verbunden. In weiterer Folge können hier auch die aus openHAB abgesetzten Befehle verfolgt werden. Das Gerät wird solange beobachtet, bis man auf Unsubscribe klickt.

Wählt man -> Publish (Karteireiter) und gibt in die Kommandozeile

cmnd/biotoppumpe/POWER -> Publish

ein, kann man im darunterliegenden, größeren Feld ON und OFF gefolgt von Klick auf Publish neben der Kommandozeile eingeben. Der SONOFF sollte sich entsprechend ein- und ausschalten. Mit Disconnect beendet man die Beobachtung des MQTT-Brokers.
Weitere Erklärungen zu MQTT und MQTT.fx lassen sich mit einer Websuche finden.

Konfiguration in openHAB

Die Konfigurationsdateien kann man mit Nano editieren (z.B. nano /etc/openhab2/items/switch.items), einfacher ist es aber, die Dateien mit Notepad++ in den Unterordnern des freigegebenen (Windows)Ordners openHAB-conf zu erstellen/bearbeiten.
Zuerst wird im Unterordner eine .items-Datei erstellt, z.B. switch.itmes. Hier wird folgende Commandline eingetragen (eine Zeile!):

Switch Switch01 "Biotoppumpe" <pump> { channel="mqtt:topic:biotoppumpe:Power" }

Damit ist die .items-Datei eingerichtet.

Nun wird noch eine .sitemap-Datei benötigt. Als Beispiel default.sitemap. Sie liegt im (Windows)Ordner openHAB-conf/sitemaps. Sie enthält:

sitemap default label="My Smart Home" {
    Frame label="Biotopsteuerung" {
        Switch item=Switch01 label="Biotoppumpe"
    }
}

Damit kann die Webseite von openHAB aufgerufen werden. Im BASIC UI sollte die Biotoppumpe als Pumpensymbol erscheinen. Damit ist auch demonstriert, wie mit wenigen Zeilen neue Devices hinzugefügt werden können.