====== Sonoff ====== [[sonoff:umbau|Umbau des Standard-Sonoff 10A in einen Impulsgeber]] [[https://wiki.fhem.de/wiki/Sonoff|Sonoff FHEM (nur mit eig. Firmware)]] Flash: sudo python ../.local/lib/python2.7/site-packages/esptool.py -p /dev/ttyUSB0 --baud 115200 write_flash --flash_size=1MB 0x0 sonoff_dual_user1.1024.new.2.bin [[http://www.sigmdel.ca/michel/ha/sonoff/flashing_sonoff_en.html|Flashing with Raspberry Pi]] ( ( [[https://www.supla.org/de/download|SUPLA Firmware Download]] ) ) ( ( [[https://github.com/arendst/Sonoff-Tasmota/wiki|Tasmota]] ) ) [[https://www.letscontrolit.com/wiki/index.php/ESPEasy#Loading_firmware|ESP Easy Firmware]] ===== Flashen (Hardware) ===== Man muss erst die 4/5 Pins einlöten. Man braucht: Grnd, Senden (TX), Empfangen (RX) & 3.3 V (VCC oder 3V3). Wichtig: Keine 5V verwenden! Ding geht kaputt! Klar: Nie mit Netzspanung flashen! Bei den ESP8266 muss der GPIO0 beim Booten auf Masse liegen, damit der Sonoff in den Flashmode geht. GPIO0 ist mit dem Taster verbunden, den also beim Anschluss gedrückt halten. Leider ist der Taster beim TH (Temperatur/Huminity) __nicht__ mit dem Taster verbunden (also löten!). https://wiki.fhem.de/wiki/Sonoff Bei Erfolg mit neuen WLAN verbinden (ESP_0 V2.0 ESP0). Passwort: configesp IP-Adresse 192.168.4.1 (oder 2.1) https://waschto.eu/easyesp/ ==== Sonoff 10A (Standard) ==== {{::sonoff_standard_10a.jpg?200|}} Pins von oben (Relais an der Unterseite): * VCC * Rx * Tx * Grnd * GPIO 14 Wichtig: RX/TX vertauschen! Ich brenne mit Windows (flash.cmd). Com3, Size 1024 (kb), Firmware V 140. ==== Sonoff RF ==== Das ist das gleiche Layout wie der Standard, nur ist noch ein Modul installiert für 433Hz-Funkschalter. Das Modul hat einen Tipschalter. Warum? Achtung: Zum Flashen muss man die beiden Kontakte von R21 kurzschließen (beim Standard ist ein Nummwiderstand installiert, hier nicht). Ich habe einen Draht drangelötet, dann geht es. ((https://github.com/arendst/Sonoff-MQTT-OTA-Arduino/issues/172)) {{ ::sonoff-r21.jpg?200|R21-Brücke}} ==== Billige WLAN-Steckdose SWA1 ==== Lingan Meine Marke: 'Wi-Fi Smart Socket TUXWANG TU XW ANG' Anleitung zum Flashen: [[https://github.com/arendst/Sonoff-Tasmota/wiki/Lingan-SWA1]] Nur Tashmota! Dort als Typ: Generic (ganz unten). Neu booten, um alle GPIOs zu sehen. Achtung: Bei meinem Modell ist die ESP-Platine genau spiegelverkeht! Also genau andersrum wie auf dem Foto der Webseite. ABER: Da ich die Pins von unten reingelötet habe (können dann drin bleiben) ist die Belegung genau wie auf dem Foto. Also: (Von der unterseite bei mir aus gesehen von links nach rechts) * 5 Volt (nicht benutzen: am Besten gar keinen Pin einlöten!) * GPIO0 (beim Einlöten gleich zum nöchsten Pin kurzschliessen, später Kurzschluss entfernen!) * GND * RX * TX 3,3 Volt findet man (bei mir auf der anderen Seite) beim Mittelpin des kl. Spannugnsreglers. Also: Temporär Kabel für VCC anlöten (SMD!). Funktioniert aber. Tasmota: {{ ::swa1-steckdose.png?direct&600|}} ===== Tasmota ===== Standard IP (bei Neuinstallation mit eigenem WLAN): 192.168.4.1 Drücken Sie nach der Installation 4 mal kurz auf den Taster des Sonoff Gerätes. Damit startet der Wifi Manager und bietet einen Access Point mit der IP-Adresse 192.168.4.1 und einen Webserver, der die Konfiguration von Wifi- und MQTT-Parametern ermöglicht. Das eigene WLAN heisst irgendwas mit Sonoff. z.B. "Sonoff-1234". [[https://wiki.fhem.de/wiki/Sonoff]] ==== Button Funktion des Sonoff ==== Quelle((https://creationx.shop/ratgeber/sonoff/tasmota)): Der Button am Sonoff direkt hat mit der Tasmota-Firmware verschiedene Funktionalitäten, je nachdem wie oft man diesem kurz hintereinander drückt. Wichtig ist ... kurz und schnell hintereinander zu drücken. Die Button-Funktionalität hat sich mit den verschiedenen Tasmota-Versionen minimal verändert. Bitte achten Sie auf die Tasmota-Version Ihres Gerätes! === Sonoff Ein- bzw. Ausschalten (1-2x kurz drücken) === Durch einmaliges drücken am Relay kann dieses getoggled werden. Die LED blinkt dabei 2x und sendet zusätzlich ein MQTT-Status. Besitzt ein Gerät ein zweiten Kanal (z.B. Sonoff Dual) kann durch zweimaliges drücken des Button dieser Kanal angesprochen und getoggled werden. Auch hier wird wieder ein MQTT-Status gesendet. === WiFi Smartconfig Modus (3x kurz drücken) === Dreimaliges Drücken am Sonoff startet den WiFi Smartconfig Modus. Dies erlaubt die Einstellung der SSID und das dazugehörige Passwort auf einem Android Handy mit der App ESP8266 Smartconfig. Der MQTT-Server muss trotzdem noch in der user_config.h konfiguriert weren. Die LED blinkt während des Vorgangs durchgängig. Abbrechen kann man den Vorgang, in dem man 1x kurz auf den Button drückt. === WiFi Manager (4x kurz drücken) === Möchte man das Gerät mit seinem WLAN-Netzwerk verbinden, kann man den WiFi Manager dazu verwenden. Dies geschieht nach viermaligem Drücken am Sonoff. Das Gerät stellt ein Acces Point unter der IP 192.168.4.1 bereit. Sobald ihr euch mit diesem verbindet, können unter der IP (meist wird automatisiert der Browser mit der IP aufgerufen, nachdem man sich mit dem AP verbunden hat) die WLAN-Einstellungen eures Netzwerkes konfiguriert werden. Ebenso lassen sich hier MQTT-Parameter definieren. Die LED blinkt während es Vorgangs durchgängig. === WPS-Modus aktivieren (5x kurz drücken) === Möchte man den WPS-Modus aktivieren, muss man 5x kurz auf Knopf drücken. Dies startet den WPS-Modus um die WLAN-Einstellungen an dem Gerät zu übertragen. Ihr müsst dazu den WPS-Knopf an eurem Router oder über die Oberfläche eures Routers starten. Die LED blinkt durchgängig während es Vorgangs. Abbrechen kann man den Vorgang, in dem man 1x kurz auf den Button drückt. === Sonoff neu starten (6x kurz drücken) === Möchte man das Relay neustarten, genügt 6x kurz drücken am Gerät damit dies durchgeführt wird. Alle Einstellungen bleiben erhalten! === OTA Download (7x kurz drücken) === Möchte man die Firmware via OTA herunterladen, muss man auf dem Gerät 7x kurz drücken. Die LED leuchtet während des Vorgangs durchgängig. Sonoff resetten (je nach Tasmota-Version) Sollte es mal zu Problemen mit dem Gerät kommen oder Sie möchten das Gerät auf die Werkseinstellungen zurücksetzen, können Sie den Sonoff resetten. Es werden dabei alle Einstellungen aus der user_config.h übernommen. Dies können Sie je nach Tasmota-Version wie folgt ausführen: //Tasmota-Version >= 5.13.0// Drücken Sie den Knopf mindestens 40 Sekunden am Gerät um den Sonoff auf Werkseinstellungen zurück zu setzen. // Tasmota-Version < 5.13.0// Drücken Sie den Knopf für mehr als 4 Sekunden am Gerät um den Sonoff auf Werkseinstellungen zurück zu setzen. ===== EAPEasy ===== Es gibt Version 1 und 2. 2 habe ich nicht getestet (flashen schlug fehl), daher das Kompilat von 1 runtergeladen. FHEM via http funktioniert ab Release 128. Habe zuerst 120 installiert, das geht wirklich nicht, obwohl es schon FHEM-http als Protokoll anbietet (EasyESP-Modul in fhem meckert, dass es V 128 min braucht). V 140 funktioniert aber einwandfrei. Als Comtroller-IP (oder halt Hostname) in der Config muss der FHEM-Server eingetragen sein. Timeserver NPT kann man in den Advanced Settings eintragen. ==== Rules ==== [[https://www.letscontrolit.com/wiki/index.php/Tutorial_Rules]] [[https://www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference]] Variablen: [[https://www.letscontrolit.com/wiki/index.php/ESPEasy_System_Variables]] z.B.: TaskValueSet [DHT22#TempDHT22],5,1 On Clock#Time do // this event comes in every minute TaskValueSet 4,2,[SENSOR#Temperature] TaskValueSet 4,3,[SENSOR#Humidity] endon Überwacht Luftfeuchtigkeit und schalte die Lüftung ein, wenn zu hoch. - Der Luftfeuchtigkeitswert ist standardmäßig 60%, kann aber per WLAN geändert werden - Die Überwachung kann ein/ausgeschaltet werden - 1,2,3 oder mehr Timer können zu best. Uhrzeiten den Lüfter für X Minuten einschalten - Der Lüfter kann per WLAN für 15 Minuten eingeschaltet werden - Der Lüfter kann per WLAN für X Sekunden eingeschaltet werden - Ein Druck auf den Knopf schaltet den Lüfter für 15 Min ein. Wenn er schon an ist, schaltet er ihn aus (min. 15 Min) // 2017 gerwiki.de/sonoff On System#Boot do timerSet,1,30 // wait for ntp & start timer TaskValueSet 4,1,0 TaskValueSet 4,3,60 // 60% Humidity default endon on CheckTime1 do if %systime%=23:25 gpio,12,1 timerSet,2,900 TaskValueSet 4,1,1 endif endon on CheckTime2 do if %systime%=22:00 gpio,12,1 timerSet,2,600 TaskValueSet 4,1,1 endif endon on PUMP#Key do if [PUMP#Relay]=1 TaskValueSet 4,1,1 gpio,12,0 timerSet,2,900 else Event FanOn15min endif endon on Rules#Timer=1 do Event CheckTime1 Event CheckTime2 if [Dummy#Monitorstop]=0 timerSet,1,60 Event CheckHum // TaskValueSet 4,2,%uptime% endif endon on CheckHum do if [SENSOR#Humidity]>[Dummy#Hum] gpio,12,1 else gpio,12,0 endif endon on Rules#Timer=2 do TaskValueSet 4,1,0 Event CheckHum timerSet,1,60 endon // Switch on Fan for x seconds: // http:///control?cmd=event,FanOn=15 on FanOn do gpio,12,1 timerSet,1,0 TaskValueSet 4,1,1 timerSet 2,%eventvalue% endon on FanOn15min do event FanOn,900 endon on WatchStart do TaskValueSet 4,1,0 timerSet 1,60 endon on WatchStop do TaskValueSet 4,1,1 timerSet 1,0 endon //http:///control?cmd=event,SetHumidity=66 on SetHumidity do TaskValueSet 4,3,%eventvalue% endon ==== Normaler Switch 10A ==== * Relais über GPIO 12 * Taster über GPIO 0 * Leuchtdiode über GPIO 13 {{::easyesp-t10a-config.png?400|}} Rules: (zuvor bei den advanced Settings aktivieren: Damit funktioniert der Taster & schaltet das Relais ein/aus on PUMP#Key do if [PUMP#Relay]=1 gpio,12,0 else gpio,12,1 endif endon on PUMP#Relay do if [PUMP#Relay]=1 gpio,13,0 else gpio,13,1 endif endon {{ :config_th16_2stock_u2_r140_2024_2_4.zip |}} ==== Dual ==== Update 2024 Keller:Jetzt mit Tasmota. Das Kellerfenster ist mit GPIO4 verbunden (und GMD, Pullup via Software). Ein anderer als GPIO4 scheint noch schwerer zu realisieren beim SONOFF TH. Der Dual ist wie der normale Switch, aber mir 2 Relais. ABER. Zum Flashen muss man bei den ESP den GPIO 0 geschaltet haben beim Booten. Dann geht das Ding in den Flashmodus. Normalerweise ist bei Sonoff der Taster an den GPIO verbunden -> also Knopf drücken beim Booten, dann einfach flashen. Nicht so beim Dual. Da geht der Taster nicht über den GPIO 0, daher muss man den GPIO 0 an der Platine abgreifen, um zu flashen. Anleitungen im Netz. War mir bislang zu mühsam... ==== TH 10 / TH 16 ==== {{::sonoff_th.jpg?200|}} Ich habe den AM2301 (=DHT21) AM2301/AM2302 (DHT21/DHT22) temperature and humidity sensor~ * Jack mit Temperatur-/Feuchtigkeitssensor via GPIO 14 DHT: Der Sensor () ist DHT22-kompatibel Die (blaue) Leuchtdiode hängt auch an GPIO 12, leuchtet also gleichzeitig mit der Relaisschaltung. {{::easyesp_th10_16.png?400 |}} L {{ ::easyesp-th16-relay.png?400|}} {{::easyesp-th16-schalter.png?400|}} {{::easyesp-th16-temeratur_feuchte.png?600|}} Rules: // 2017 gerwiki.de/sonoff On System#Boot do timerSet,1,30 // wait for ntp & start timer TaskValueSet 4,1,0 // timer einschalten TaskValueSet 4,3,65 // x% Humidity default endon on PUMP#Key=1 do timerSet,3,1 endon on rules#timer=3 do if [PUMP#Key]=0 //Action if button is short pressed event ShortPress else //Action if button is still pressed event LongPress endif endon on ShortPress if [PUMP#Relay]=1 TaskValueSet 4,1,1 gpio,12,0 timerSet,2,900 else Event FanOn15min endif endon on Longpress SendToHTTP 192.168.122.82,8084,/fhem?cmd.licht_keller=set%20licht_keller%20off&room=Keller&XHR=1&fwcsrf=csrf_619740147770463&fw_id=46330 endon on Rules#Timer=1 do if [Dummy#Monitorstop]=0 timerSet,1,60 Event CheckHum // TaskValueSet 4,2,%uptime% endif endon on TurnOn do if [PUMP#Relay]=0 gpio,12,1 TaskValueSet 4,3,([Dummy#Hum]+2) endif endon on TurnOff do if [PUMP#Relay]=1 gpio,12,0 TaskValueSet 4,3,([Dummy#Hum]-2) endif endon on CheckHum do if [SENSOR#Humidity]<[Dummy#Hum] event TurnOn else event TurnOff endif endon on Rules#Timer=2 do TaskValueSet 4,1,0 Event CheckHum timerSet,1,60 endon // Switch on Fan for x seconds: // http:///control?cmd=event,FanOn=15 on FanOn do gpio,12,1 timerSet,1,0 TaskValueSet 4,1,1 timerSet 2,%eventvalue% endon on FanOn15min do event FanOn,900 endon on WatchStart do TaskValueSet 4,1,0 timerSet 1,60 endon on WatchStop do TaskValueSet 4,1,1 timerSet 1,0 endon //http:///control?cmd=event,SetHumidity=66 on SetHumidity do TaskValueSet 4,3,%eventvalue% endon on Clock#Time=All,03:00 do Reboot endon ===== Extra GPIO schalten===== {{::sonoff_esp8266_extra_gpio.jpg?600|}} Noch mehr Sensoren anschließen :[[http://tinkerman.cat/sonoff-th10-th16-sensors-displays-actuators/]] https://waschto.eu/easyesp-sensoren-in-fhem-einbinden ====== Tasmota ====== https://github.com/arendst/Sonoff-Tasmota/wiki