Dies ist eine alte Version des Dokuments!
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
( ( SUPLA Firmware Download ) )
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.
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.
// 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
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
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…
DHT: Der Sensor () ist DHT22-kompatibel
Die (blaue) Leuchtdiode hängt auch an GPIO 14, leuchtet also gleichzeitig mit der Relaisschaltung.
L
Noch mehr Sensoren anschließen :http://tinkerman.cat/sonoff-th10-th16-sensors-displays-actuators/