SONOFF basic flashen und in openHAB einbinden: Unterschied zwischen den Versionen

Aus CyberWiki
Zur Navigation springen Zur Suche springen
 
(78 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
===SONOFF flashen===
Die folgende Beschreibung fasst im Wesentlichen diese Seite zusammen:<br />
[https://rothlive.de/de/article/sonoff-tasmota-firmware-flashen-schnellste-methode-ohne-software-installation 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 [https://github.com/arendst/Sonoff-Tasmota/releases sonoff-classic.bin] (Nicht sonoff-DE.bin).
*ESPEasy Flasher [https://github.com/BattloXX/ESPEasyFlasher Download als ZIP-Datei]
*Termite [https://www.compuphase.com/software/termite-3.4.zip 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.
<small>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.<br />
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.</small><br />
===SONOFF in openHAB einbinden===
===SONOFF in openHAB einbinden===
<small> Transkription von https://www.youtube.com/watch?v=CKcQlEigiHw</small><br />
Voraussetzung: geflashter SONOFF mit TASMOTA firmware.<br />
Voraussetzung: geflashter SONOFF mit TASMOTA firmware.<br />
<br />
====Installation des MQTT-Server auf dem Raspberry Pi (mit Putty connecten)====
====Installation des MQTT-Server auf dem Raspberry Pi (mit Putty connecten)====
  sudo openhabian-config
  sudo openhabian-config
  Optional Components/Mosquitto (ohne password)
  Optional Components/Mosquitto (ohne password)
Danach müssen in der Weboberfläche von openHAB die MQTT-Bindings installiert und ein Schalter gesetzt werden.
Danach muss in der Weboberfläche von openHAB das MQTT-Binding installiert werden.
Configuration/System -> Include Legacy 1.x Bindings -> ON und ''SAVE''
  PAPER UI/Add-ons/BINDINGS -> MQTT Binding ''INSTALL''
  PAPER UI/Add-ons/BINDINGS -> MQTT Binding ''INSTALL''
  PAPER UI/Add-ons/BINDINGS -> MQTT Binding (1.x) ''INSTALL''
 
Nur dann findet man die Datei mqtt.cfg.
====Konfiguration MQTT Broker====
====Editieren config-Datei des MQTT-Server====
Inbox +
  sudo nano /etc/openhab2/services/mqtt.cfg
Klick MQTT Binding/ADD MANUALLY/MQTT Broker
Hier wird die URL zum MQTT broker eingetragen (im oberen Teil der Datei). ''brokername'' ist beliebig, z.B. smarthome.
Name=beliebiger Name z.B. ohbroker
  mqtt:brokername.url=tcp://localhost:1883 (ohne # am Anfang)
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.<br />
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.<br />
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====
====Programm MQTT.fx====
Dient zur Überprüfung des MQTT-Server und zum Absetzen von Befehlen. Darin müssen folgende Einstellungen vorgenommen werden:
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.<br />
  Profil Name (z.B. gaaden)
Darin müssen folgende Einstellungen vorgenommen werden:
  Broker Address = IP des Raspberry Pi
  Profil Name (z.B. ohbroker)  
  Broker Address = IP des Raspberry Pi [alternativ ist der hostname möglich]
  Broker Port 1883
  Broker Port 1883
  Client ID = gaaden
  Client ID = wenn leer -> ''Generate''
  User Credentials: User Name (openhabian) und Password (wird zur Einstellung benötigt)
  User Credentials: User Name und Password


====Startseite des SONOFF aufrufen (mit IP des SONOFF im Browser)====
====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
  Einstellungen/MQTT konfigurieren
  Host=IP-Adresse des Raspberry Pi
  Host=IP-Adresse des Raspberry Pi
Zeile 33: Zeile 91:


====MQTT.fx====
====MQTT.fx====
  Eingabe Brokername (Gaaden) -> ''Connect'' (rechts sollte ein grünes Symbol erscheinen)
  Eingabe Brokername (smarthome) -> ''Connect'' (rechts sollte ein grünes Symbol erscheinen)
Unter ''Subscribe'' kann getestet werden, ob Befehle empfangen werden.
Mit Klick auf ''Subscribe'' (Karteireiter) wählt man das zu beobachtende Gerät aus, indem man in die darunterliegende Befehlszeile
  stat/biotoppumpe/power -> ''Subscribe''
  stat/biotoppumpe/RESULT -> ''Subscribe''
Danach ''press button'' am SONOFF (der Ein- und Ausschalter)
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.<br />
Erhält man in der Log-Ausgabe ON/OFF ist der SONOFF sauber verbunden. Zusätzlich kann man unter -> ''Publish'' als Command
<br />
  cmd/biotoppumpe/power -> Es erscheint ein Feld -> Eingabe ON -> ''Publish''
Wählt man -> ''Publish'' (Karteireiter) und gibt in die Kommandozeile
Der SONOFF sollte sich einschalten.<br />
  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.<br />
Weitere Erklärungen zu MQTT und MQTT.fx lassen sich mit einer Websuche finden.


====Konfiguration in openHAB====
====Konfiguration in openHAB====
Die Konfigurationsdateien kann man mit Nano editieren (z.B. in /etc/openhab2/items/switch.items), einfacher ist es aber, die Dateien mit Notepad++ im freigegebenen (Windows)Ordner openHAB-conf/items zu erstellen/bearbeiten.<br />
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.<br />
Zuerst wird eine .items-Datei erstellt, z.B. switch.itmes. Hier wird folgende Commandline eingetragen (eine Zeile!):
Zuerst wird im Unterordner eine .items-Datei erstellt, z.B. switch.itmes. Hier wird folgende Commandline eingetragen (eine Zeile!):
  Switch Switch01 "Biotoppumpe" {mqtt=">[gaaden:cmnd/Name_des_SONOFF/POWER:command:ON:1],>[gaaden:cmnd/Name_des_SONOFF/POWER:command:OFF:0],<[gaaden:stat/Name_des_SONOFF/POWER:state:default]"}
  Switch Switch01 "Biotoppumpe" <pump> { channel="mqtt:topic:biotoppumpe:Power" }
<small>Mit state wird der Zustand des SONOFF angegeben. > bedeutet ausgehender Befehl, < bedeutet eingehender Befehl</small>.<br />
Damit ist die .items-Datei eingerichtet.<br />
Damit ist die .items-Datei eingerichtet.<br />
<br />
<br />
Nun wird noch eine .sitemap-Datei benötigt. Als Beispiel default.sitemap. Sie liegt im (Windows)Ordner openHAB-conf/sitemaps. Sie enthält:
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="Gaaden Smart Home" {
  sitemap default label="My Smart Home" {
     Frame label="Biotopsteuerung" {
     Frame label="Biotopsteuerung" {
         Switch item=Switch01 label="Biotoppumpe"
         Switch item=Switch01 label="Biotoppumpe"
     }
     }
  }
  }
Damit kann die Webseite von openHAB aufgerufen werden. Im BASIC UI sollte die Biotoppumpe als Schalter erscheinen.
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.

Aktuelle Version vom 30. März 2019, 18:11 Uhr

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.