[HowTo] Sonoff - 230V Relais mit ESP8266

Begonnen von gloob, 27 Juni 2016, 14:52:17

Vorheriges Thema - Nächstes Thema

andre07

Wo gibt es denn die R128+ ich kann leider nur R129 finden.

dev0

R128+ soll heißen: R128 oder eine neuere Version.

gloob

Zitat von: gloob am 27 Juni 2016, 14:52:17
Hallo,

Hat jemand Erfahrungen/Interesse mit/an der Einbindung eines "Sonoff - 230V Relais mit ESP8266" in FHEM?
Ich habe die Module jetzt erhalten und den ESP8266 mit einer neuen Firmware bespielt und bin echt überzeugt von den Modulen. Einfache Sache um 230V Geräte per WLAN an und aus zu schalten und nicht mit 433MHz Steckdosenadaptern.

Insbesondere die Reichweite hat mich bei den Steckdosenadaptern immer gestört und die Sonoff Module sind mit 6€ auch echt super billig.

Hier mir stelle ich eine erste Version des HowTo online:

-------------------------------------------
Sonoff vorbereiten
-------------------------------------------
Vorbereitung:
Keine 230V am Sonoff anschließen
FTDI Adapter auf 3.3V stellen

Gerät öffnen
Pins anlöten
- Sonoff - Pin Belegung.jpg -


-------------------------------------------
ESP8266 in Arduino IDE einbinden
-------------------------------------------
Datei -> Voreinstellungen -> Additional Boards Manager URLs ->  http://arduino.esp8266.com/stable/package_esp8266com_index.json eintragen
Werkzeuge -> Platine -> Boards Manager -> esp8266 installieren


-------------------------------------------
MQTT Client in Arduino IDE einbinden
-------------------------------------------
Sketch -> Include Library -> Manage Libraries -> PubSubClient installieren

-------------------------------------------
ESP8266 Einstellungen
-------------------------------------------
Generic ESP8266 Module
Flash Mode: QIO
Flash Frequency: 40 MHz
CPU Frequency: 80 MHz
Flash Size: 1M (64K SPIFFS)
Debug Port: disabled
Debug Level: none
Reset Mode: ck
Upload Speed: 115200


-------------------------------------------
Sonoff programmieren
-------------------------------------------
Sketch laden/öffnen
Anpassen der Einstellungen
#define PROJECT                "Eindeutiger Name des Geräts"
#define STA_SSID               "WLAN Name"
#define STA_PASS               "WLAN Passwort"
#define MQTT_HOST              "IP des MQTT Brokers (bei mir Raspberry Pi)"

Taster am Sonoff gedrückt halten
FTDI Adapter verbinden
- Sonoff - Pin Belegung.jpg -
Taster am Sonoff los lassen

Sketch übertragen

Sonoff vom FTDI trennen

Sonoff mit 230V verbinden
kurzer Tastendruck schaltet das Relais auch ohne FHEM


-------------------------------------------
Installation von 'Mosquitto' auf dem Raspberry Pi
-------------------------------------------
Die Installationsanleitung auf http://mosquitto.org/2013/01/mosquitto-debian-repository/ kann für den Raspberry Pi verwendet werden. Man meldet sich 'pi' über PuTTY an.

Um das Debian Paket nutzen zu können, muß man zuerst den Paket-Signierungs-Key importieren:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

cd /etc/apt/sources.list.d/

Für Raspbian wird die Repositoryliste geladen mit
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list

Dann wird die Updateinformation auf den neuesten Stand gebracht:
sudo apt-get update

und dann Mosquitto installiert:
sudo apt-get install mosquitto mosquitto-clients python-mosquitto

Dabei werden die Mosquitto-Client-Befehle und die Python-Unterstützung mitinstalliert. Nach der Installation prüft man, ob Mosquitto läuft:
ps -A | grep mosq


-------------------------------------------
Betrieb von Mosquitto
-------------------------------------------
Mosquitto startet nach jedem Boot automatisch. Im Verzeichnis

/etc/init.d/mosquitto

befindet sich das Startup-Skript. Von der Kommandozeile aus kann man Mosquitto steuern:

sudo service mosquitto restart
sudo service mosquitto stop
sudo service mosquitto start


-------------------------------------------
Test von 'Mosquitto'
-------------------------------------------
Ein erster Test kann über die Kommadozeile durchgeführt werden. Dazu öffnet man zwei PuTTY-Fenster und meldet sich jeweil mit dem Benutzer 'pi' an.

Das erste Fenster dient der Anzeige von MQTT-Topics. Mit 127.0.0.1 ist immer der Localhost gemeint. Wir geben den Befehl für eine Topic-Subscription ein:
mosquitto_sub -h 127.0.0.1 -t meinTopic/#

Das zweite Fenster dient dazu, Topics mit Nachrichten abzusetzen:
mosquitto_pub -h 127.0.0.1 -t meinTopic/Temp -m "23.7"

Jetzt sollte im ersten Fenster '23.7' angezeigt werden. Damit funktioniert 'Mosquitto' und kann für FHEM verwendet werden.


-------------------------------------------
Einbinden von Mosquitto (MQTT Broker) in FHEM
-------------------------------------------
# Definition des Mosquitto Broker in FHEM
define mqtt MQTT 127.0.0.1:1883


-------------------------------------------
Einbinden von Sonoff in FHEM
-------------------------------------------
# Definition des SONOFF Relais in FHEM
define sonoff MQTT_DEVICE
attr sonoff IODev mqtt
attr sonoff devStateIcon On:on:off Off:off:on
attr sonoff publishSet 1 0 /test/GPIO/12
attr sonoff subscribeReading_state /hooks/devices/1/SensorData/Switch
attr sonoff stateFormat state


Ich habe die gleiche Anleitung heute für die Module mit Steckergehäuse genutzt und alles funktioniert auf anhieb.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

Mitch

Habe heute meine Module im Gehäuse bekommen.
Leider lassen sie sich nicht flashen.
Ich bekomme immer folgenden Fehler:

ZitatArduino: 1.6.11 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, QIO, 115200, 1M (64K SPIFFS), ck, Disabled, None"

Der Sketch verwendet 280.865 Bytes (29%) des Programmspeicherplatzes. Das Maximum sind 958.448 Bytes.
Globale Variablen verwenden 35.784 Bytes (43%) des dynamischen Speichers, 46.136 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes.
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

Was könnte das denn sein?

Die PINs sind bei mir auch anders herum, als im Bild.
FHEM im Proxmox Container

JoWiemann

Hm,

den Taster gedrückt beim anlegen der Spannung? Falschen USB nach TTL (5V anstatt 3,3V) und ESP zerstört? TX/RX vertauscht? Ohne Bildchen oder bessere Beschreibung bleibt es beim Raten!



Gesendet von iPhone mit Tapatalk
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Mitch

Ja, Taster gedrückt, Spannung stimmt, RX/TX über kreuz (habe es aber auch anders herum schon probiert)

Kann es sein, dass die Steckdosendinger anders sind?
FHEM im Proxmox Container

gloob

Also meine haben sich mit dem gleichen Sketch und Aufbau flashen lassen wie die Teile ohne Gehäuse. Taster gedrückt halten beim anstecken des programmers und los geht's
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

gloob

Hatte RX und TX auch erst vertauscht. Also das können sie ab
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

JoWiemann

Zitat von: Mitch am 28 September 2016, 19:06:23
Ja, Taster gedrückt, Spannung stimmt, RX/TX über kreuz (habe es aber auch anders herum schon probiert)

Kann es sein, dass die Steckdosendinger anders sind?

Nein, die sind nicht anders. Aber die USB nach TTL Dinger kann man nur für die Signalleitungen auf 3,3V umschalten. VCC bleibt auf 5V. Damit macht man sich dann oft die ESP kaputt.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Mitch

Ja, weiß ich, ist schon alles korrekt auf 3,3 V

Habe meinen Fehler gefunden, man sollte nie ohne Brille löten, wenn man schlecht sieht  :-[
Kalte Lötstelle produziert  :(

Flashen ging jetzt, aber das Ding reagiert nicht auf FHEM Befehle.

So ist es definiert:
Internals:
   CFGFN
   IODev      mosquitto
   NAME       sonoff1
   NR         12769
   STATE      1
   TYPE       MQTT_DEVICE
   qos        0
   retain     0
   Readings:
     2016-09-28 20:11:11   state           1
     2016-09-28 20:11:11   transmission-state outgoing publish sent
   Message_ids:
   Publishsets:
     :
       topic      /test/GPIO/12
       values:
         1
         0
   Sets:
     0
     1
   subscribe:
     /hooks/devices/1/SensorData/Switch
   subscribeExpr:
     ^\/hooks\/devices\/1\/SensorData\/Switch$
   Subscribereadings:
     /hooks/devices/1/SensorData/Switch state
Attributes:
   IODev      mosquitto
   devStateIcon On:on:off Off:off:on
   publishSet 1 0 /test/GPIO/12
   stateFormat state
   subscribeReading_state /hooks/devices/1/SensorData/Switch


Wobei es bei mir in der Liste das Attribut subscribeReading_state nicht gibt, nur subscribeReading oder subscribeReading_.*
Habe es dann manuell eingegeben.

Woher weiß denn der MQTT Broker, wo er was hinschicken muss, also mit was er kommunizieren muss?
Sollte da nicht irgendwo der Namen aus dem Sketch noch auftauchen?  :o
FHEM im Proxmox Container

pink99panther

Was zeigt der Sonoff auf der seriellen Schnittstelle beim booten?

INIT : Booting Build nr:133
WIFI : Connecting... 1
WIFI : Connected!
INIT : I2C
MQTT : Connected to broker
Subscribed to: /Nodemcu7/#
INIT : Boot OK
INIT : Normal boot
>settings

System Info
  IP Address    : 192.168.115.100
  Build         : 133
  Unit          : 7
  WifiSSID      : XXXXX
  WifiKey       : XXXXXXXXXXXXX
  Free mem      : 28168

Mitch

Ähm, wie kann ich das nachsehen? Sorry.

Wenn ich in der Arduino SW den Seriellen Monitor anmache, sehe ich gar nichts.
An meinem Router hat sich das Ding aber angemeldet und hat eine IP bekommen.
FHEM im Proxmox Container

pink99panther

und wenn du die IP in der adresszeile deines browsers eingibst,
kommst du dann auf die website des sonoff?

Mitch

Nicht erreichbar.

Kann das Ding aber anpingen und es ist wie gesagt am Router verbunden.
FHEM im Proxmox Container

pink99panther

Welche Soft und welche Version hast du geflasht?

Der serielle Monitor von der Arduino IDE sieht beim booten bei mir
so aus