Sonoff 4CH mit Fhem

Begonnen von Reinhart, 11 Januar 2017, 11:59:00

Vorheriges Thema - Nächstes Thema

Reinhart


Hallo,

ich habe gestern meinen ersten Sonoff 4CH bekommen und den gleich mit Fhem über MQTT in Betrieb genommen.

Das Modul hat ein sehr gutes Preis/Leistungsverhältnis da es auch 4 Kanäle anbietet. Die Orginalsoftware von EWeLink kann auch Timer und Countdown, aber die kleinste Zeiteinheit ist leider 1 Minute was für einen "Impuls" für Torsteuerungen zu lange ist. Ich setze den für meine elektrischen Garagentore und Gartentore ein, die alle Impulsgesteuert sind. Ein Impuls öffnet und wieder ein Impuls schließt bzw. stoppt das Tor wenn es noch fährt.

Der 4CH ließ sich anfangs nicht so ohne weiteres flashen, da ich er immer kurz vor 100% (vor dem Reboot) hängen blieb. Der Fehler war aber schnell gefunden, aus irgend einem Grund zieht der 4CH vermutlich mehr Strom über den USB zum FDTI als die anderen Module. Einfach auf einen anderen USB umgesteckt (nicht auf USB 3.0) und schon klappte es.

Beim Flashen sollte man bei diesem Modul aufpassen und die richtigen Einstellungen in der Arduino IDE auswählen, denn das Modul hat schon den neueren ESP8285 und nicht den üblich verbauten ESP8266 an Board. Die Stiftleiste ist hier schon eingelötet und als Besonderheit sei zu erwähnen, dass hier TxD mit TxD und RxD mit RxD des FDTI Konverters zu verbinden ist.


Als Software habe ich wie bei den Sonoff Produkten üblich den Arends Sketch ausgewählt, da dieser seit Version 3.1.1 auch den 4CH unterstützt. Ich benutzte die Version 3.1.16. Leider musste ich noch ein kleines Manko feststellen, die PulseTime funktioniert derzeit nur auf Kanal 1 und fehlt noch bei den anderen Kanälen. Wer also so wie ich mindestens 3 Kanäle benötigt, muss das Problem vorerst mit der Software lösen indem man eine Sekunde später das "OFF" Kommando schickt. Ich habe Arends schon angeschrieben, mal schauen vielleicht baut er die anderen Kanäle noch dazu.


Zur Reichweite kann ich nicht viel sagen, aber wenn es eng wird sollte man eine kleine externe Antenne (oder abgemessenes Stück Draht)  anlöten. Die Anschlüsse sind leicht erreichbar auf der Platine herausgeführt. Bei mir trifft das nicht zu, da ich mit einem externen AP das ganze Grundstück abdecke. Das Modul ist solide aufgebaut, auch die Klemmen sind von brauchbarer Qualität und die Durchmesser passen auch für Kabelendhülsen.

Wer also den Bedarf hat 4 Geräte von einem Ort aus zu schalten, ist mit diesem Produkt sehr preisgünstig bedient und man hat auch ein brauchbares Gehäuse für Hutschinenmontage.



Die Einstellungen und die Settings habe ich auch schon im Wiki nachgetragen.


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Waldmensch

Warum nimmst du nicht ESPEasy? Dort kannst Du 4 Switches definieren. Über das FHEM Modul kannst du ein Pulse absetzen, auf jeden dieser Switches


Gesendet von iPhone mit Tapatalk

Reinhart

Hallo Waldmensch!

Bei ESPEASY kann ich es nur schwer vom Handy bedienen, das ist einer der Gründe. Ich brauche einfach 4 Taster die man drücken kann und da ist das minimalistische Webgui von Anrends voll ausreichend. Ich habe mir zwar schon selber eine Android App geschrieben, aber die geht nur auf Android und ich habe ein Windows Handy, deshalb muss eine einfache Browserlösung her.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Waldmensch

Okay, ich dachte du hast sowieso eine App, mit der Du FHEM komplett bedienst. Wenn die ESP Firmware im Source vorliegt wirst du die wohl debuggen müssen. Wie der pulse gemacht wird, findest du im Espeasy Sketch in der Switch.ino


Gesendet von iPhone mit Tapatalk

Reinhart

Ja Danke, ich habe mir auch schon den Arends Sketch angeschaut wegen der Erweiterung der fehlenden Kanäle, aber wie ich Theo kenne läßt der das eh nicht auf sich sitzen und baut das in den nächsten Versionen mit ein. Manchmal kommen ja bis zu 10 neue Versionen pro Woche.

Ich mag auch ESPEasy gerne anwenden, aber speziell für die Sonoff bietet der Arends Sketch mehr Vorteile weil er eben fast alle Sonoff Module erfassen kann (nur der neue SC geht noch nicht) was bei ESPEasy leider nicht so ist. Wie es scheint, legt das ESPEasy Team keinen besonderen Wert auf spezielle Sonoff Unterstützung und seine Stärke ist "All in One".  Der Arends Sketch ist dafür nur für Sonoff Module geeignet und dafür speziell angepasst.

Aber ein Zeitglied per Fhem um PulseTime nachzubilden ist auch schnell realisiert.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

beim 4CH  mit dem 8285 gab es Probleme beim Flashen via OTA, die sind ab der Version 3.2.11 nun behoben!
Wer die Arends Software verwendet bitte daher updaten, evtl. via FTDI wenn das Problem vorhanden ist.


* 3.2.11 20170126
* Add confirmation before Restart via webpage
* Fix possible ESP8285 flash problem by updating Flash Chip Mode to DOUT during web upload
* Fix LedPower status after button press (#279)


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

frankreed

#6
So nun hab' ich auch einen.
Flashen mit arendts-mqtt-Sketch https://github.com/arendst/Sonoff-MQTT-OTA-Arduino hat auch funktioniert, nachdem ich in der user_config.h meine WLAN-Parameter und den Sonoff-Typ auf 4CH eingestellt habe.
Über das Web-Interface konnte ich auch darauf zugreifen, alle 4 Kanäle lassen sich mit toggle schalten.
Anschließend noch im Interface den MQTT-Broker eingestellt und einen neuen Namen (Topic?) vergeben.
Nach einem Reboot des Sonoff war es das mit den dortigen Einstellungen, weiter habe ich nichts vorgenommen.

Dank der Hilfe von Reinhart hier aus dem Forum habe ich dann in FHEM mal einen der Schaltkanäle definiert:
define Sonoff_ch1 MQTT_DEVICE
attr Sonoff_ch1 IODev myBroker
attr Sonoff_ch1 alias Sonoff CH1
attr Sonoff_ch1 devStateIcon on:rc_GREEN:off off:rc_RED:on
attr Sonoff_ch1 eventMap ON:on OFF:off ON:Ein OFF:Aus
attr Sonoff_ch1 icon light_ceiling
attr Sonoff_ch1 publishSet ON OFF cmnd/sonoffch4/1/POWER1/set
attr Sonoff_ch1 stateFormat Power
attr Sonoff_ch1 subscribeReading_Power stat/sonoffch4/POWER1
attr Sonoff_ch1 subscribeReading_state cmnd/sonoffch4/1/POWER1/set
attr Sonoff_ch1 webCmd Ein:Aus


Aber:
Wenn ich jetzt den Hardware-Taster drücke, wechselt das Icon in fhem schön seinen Status und der geänderte Zustand passt auch so, wie es sein muss. Also die Übertragung des Status vom Sonoff über den MQTT-Broker zu FHEM funktioniert.

Wenn ich das ganze aber von FHEM aus schalten will blinkt zwar die blaue LED am Sonoff kurz auf, das war es dann aber auch. Sprich die Übertragung FHEM->MQTT->Sonoff geht nicht.

Irgendwo ist da der Wurm drin:
Entweder in der Konfiguration auf Seiten des Sonoff (Web-Interface bzw. user_config.h) oder auf Seiten von FHEM  :(
Kann mir jemand helfen?

Zweite Frage:
Soll ich beim  https://github.com/arendst/Sonoff-MQTT-OTA-Arduino - Sketch bleiben (der ist ja abgekündigt) oder soll ich ab jetzt besser den https://github.com/arendst/Sonoff-Tasmota - Sketch verwenden?

Vielen Dank für das echt gute Forum!


Reinhart

#7
wenn irgendwas nicht so richtig funktioniert, immer am Broker mittloggen  und man sieht was da passiert, in beide Richtungen!

mosquitto_sub -d -v -t \#
mit diesem Kommando am Mosquitto wird sämtlicher Verkehr mitgelogt!

dann gib in der Konsole (Webif) am Sonoff Modul ein: power2 on

stat/sonoffch4/POWER2 ON

wenn die Antwort so ausschaut dann ist eine neue Software drauf, dann entsprechend die "/1" in der Fhem Konfiguration entfernen, das ist alles!

subscribeReading_state cmnd/sonoffch4/1/POWER1/set
Beispiel wo die 1 steht!

LG



FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

ich habe jetzt die Software 3.2.13 aufgespielt und da funktionieren die Beispiele so wie ich sie dir geschickt habe!

define Sonoff_ch4 MQTT_DEVICE
attr Sonoff_ch4 IODev myBroker
attr Sonoff_ch4 alias Sonoff CH4
attr Sonoff_ch4 devStateIcon on:rc_GREEN:off off:rc_RED:on
attr Sonoff_ch4 eventMap ON:on OFF:off ON:Ein OFF:Aus
attr Sonoff_ch4 group Toröffner
attr Sonoff_ch4 icon light_ceiling
attr Sonoff_ch4 publishSet ON OFF cmnd/sonoffch4/1/POWER4/set
attr Sonoff_ch4 room Entwicklung
attr Sonoff_ch4 stateFormat Power
attr Sonoff_ch4 subscribeReading_Power stat/sonoffch4/POWER4
attr Sonoff_ch4 subscribeReading_state cmnd/sonoffch4/1/POWER4/set
attr Sonoff_ch4 webCmd Ein:Aus


also ident mit deiner Konfiguration! Nur musst du das 4 x anlegen wegen der 4 Schalter!

Irgendwann wird Tasmota fällig werden, aber im Augenblick sind beide Versionen auf aktuellem Stand. Wenn der 4CH läuft gibt es auch keinen Grund die Software auszutauschen, man wird dann ohnehin im laufenden Betrieb das Modul nicht wechseln wollen. Tasmota ist ja nur zur Ersteinrichtung einfacher (oder auch nicht, wie ich schon gelesen habe, den auch hier muss man zumindest den Modultyp einstellen). Was die Sensoren betrifft sind beide noch auf aktuellem Stand.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

frankreed

Habe eben alles nochmal neu aufgesetzt und den zitierten fhem.cfg per Copy & Paste verwendet.
Jetzt geht es  :D :D :D :D

Hatte im topic-Name im Web-Interface des Sonoff versehentlich ein Leerzeichen am Ende gesetzt.

Danke Danke Danke an alle Hilfsbereiten!

Grüße

Reinhart

freut mich wenns geht, es sind immer nur Kleinigkeiten die man übersieht!

Bitte nicht aus Tasmota updaten, wenn du auf das Modul "Sonoff 4CH" umschaltest bootet der 4CH nicht mehr! Das ist noch ein Fehler in der Software drinnen, aber die 3.2.13 funktioniert eh wunderbar. Es gib nur einen kleinen Fehler, wenn du Pulstime benötigst dann funktioniert die nur auf Relaise 1.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

panameranet

Hallo, habe auch den Sonoff 4 Channel Switch.
Allerdings komme ich bei folgendem Problem nicht weiter.

Mit Arduino 1.8.1 habe ich die ESPEasy Firmware hochgeladen.
Als Basis habe ich R140 ausgewählt und wie beschrieben 8285 als Chip gewählt.
Das Flashen funktioniert tadellos. Im Anschluss daran kann ich mich mit dem erzeugten WLAN-Netz ESP_0 verbinden und eine Verbindung mit meinem Heimnetz über W-Lan herstellen. Allerdings kann ich dann nicht auf den Sonoff Switch über den Browser zugreifen. Die IP-Adresse habe ich über die FritzBox ermittelt. Hier wird der Switch als eingeloggt angezeigt.
Woran kanns liegen?

Reinhart

Da du dich bereits erfolgreich am AP eingeloggt hast (192.168.4.1) und dort die Wlan Daten deines Netzes eingegeben hast, kann es nur ein Konfigurationsfehler sein.

Versuche doch einmal die ermittelte IP-Adresse zu pingen ( cmd Shell unter Windows ).
ping ipadresse
Wenn das nicht funktioniert, bleibt dir wohl nur über nochmals zu flashen. Wenn der Ping funktioniert, dann kannst du noch folgendes testen:
Telnet ip-adresse 80
somit kannst du tesen ob das Port 80 offen ist, es muss eine leere (schwarze) Seite kommen. Telnet muss aber auf deinem PC installiert sein.
Wenn dieser Test nicht funktioniert, dann prüfe die Fritzbox: Hast du irgendwelche Port oder IP sperren auf der Fritzbox aktiviert, denn als AP hast du dich ja einloggen können und da hast die eine direkte Verbindung hergestellt die nicht über die Fritzbox gelaufen ist.


#define DEFAULT_NAME        "newdevice"         // Enter your device friendly name
#define DEFAULT_SSID        "myssid"              // Enter your network SSID
#define DEFAULT_KEY         "passwort"            // Enter your network WPA key
#define DEFAULT_SERVER      "10.0.0.5"       // Enter your Domoticz Server IP address
#define DEFAULT_PORT        8080                // Enter your Domoticz Server port value
#define DEFAULT_DELAY       60                  // Enter your Send delay in seconds
#define DEFAULT_AP_KEY      "configesp"         // Enter network WPA key for AP (config) mode

#define DEFAULT_USE_STATIC_IP   true           // true or false enabled or disabled set static IP
#define DEFAULT_IP          "10.0.0.35"      // Enter your IP address
#define DEFAULT_DNS         "10.0.0.254"       // Enter your DNS
#define DEFAULT_GW          "10.0.0.254"       // Enter your gateway
#define DEFAULT_SUBNET      "255.255.255.0"     // Enter your subnet


am Besten du gibst die Netzkonfiguration schon vorher in der  ESPEasy.ino korrekt ein.
10.0.0.35 = die IP-Adresse des Sonoff
10.0.0.254 = IP deiner Fritzbox
255.255.255.0 = Netmask, so lassen, dies ist so auf Class C eingestellt.

Wenn du das vorher definierst, kannst dich sofort mit der eingestellten IP verbinden.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

panameranet

Hallo Reinhart, vielen Dank für die schnelle Antwort.
Zwei Sonoff TH10/16 konnte ich mit ESPEasy R140 erfolgreich flashen und ins WLAN bringen. Auch die FHEM Anbindung funktionierte tadellos.
Bei dem Sonoff 4Channel ist ja der Chip 8285 verbaut. Hier musste ich die Frimware selbst kompillieren mit Arduino IDE. Im Anhang befindet sich ein Screenshot der verwendeten Einstellungen.
Hat das Sonoff 4CH schon jemand mit ESPEasy laufen? Welche Version würdest du mir empfehlen? R120 vll. besser?
Außerdem ist mir aufgefallen, dass ich beim verbinden mit ESP_0 kein Passwort eingeben musste. Bei der TH10/16 schon...

Deine Tipps brachten leider keine Lösung des Problems. Ich vermute, dass es am Flashen liegt.

Reinhart

ich habe den Arends Sketch (3.9.12) installiert, aber primär wird das dein Problem nicht lösen. Ob Arends oder ESPEASY, es muss ja beides laufen.
Ja mit dem Chip musst du aufpassen weil der andere Parameter zum Compilieren benötigt, habe ich aber auch so im Wiki hingewiesen.

In Fhem habe ich dann einfach 4 Schalter angelegt, fertig.


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa