Sonoff

Umbau des Standard-Sonoff 10A in einen Impulsgeber

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 

Flashing with Raspberry Pi

( ( SUPLA Firmware Download ) )

( ( Tasmota ) )

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)

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. 1) 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:

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

Quelle2):

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.

  1. Der Luftfeuchtigkeitswert ist standardmäßig 60%, kann aber per WLAN geändert werden
  2. Die Überwachung kann ein/ausgeschaltet werden
  3. 1,2,3 oder mehr Timer können zu best. Uhrzeiten den Lüfter für X Minuten einschalten
  4. Der Lüfter kann per WLAN für 15 Minuten eingeschaltet werden
  5. Der Lüfter kann per WLAN für X Sekunden eingeschaltet werden
  6. 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://<your esp ip>/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://<your esp ip>/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

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

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. L

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://<your esp ip>/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://<your esp ip>/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

Tasmota

 
Nach oben
sonoff.txt · Zuletzt geändert: 2024/02/29 13:36 von 127.0.0.1
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp