1-Kanal WiFi-Relay mit ESP8266 von LC-Technologie #2

Begonnen von CurtRod, 19 Oktober 2017, 09:57:00

Vorheriges Thema - Nächstes Thema

CurtRod

Hallo zusammen,

ich komme zwar eigentlich nicht aus der FHEM-Ecke, aber bin über google auf diesen Thread gestoßen und wollte mich diesem Thema anschließen:

https://forum.fhem.de/index.php/topic,77880.0.html

Leider ist das Thema bereits geschlossen, sonst hätte ich dort geschrieben.

Vor ein paar Wochen hab ich mir wohl was ähnliches gedacht, wie Henrik. Für gut 6€ gabs bei banggood ein Relais mit ESP8266. Da hau ich meinen eigenen Sketch drauf und fertig.

Henrik hat geschrieben:
ZitatHabe inzwischen in einer Beschreibung den Hinweis gefunden, daß die Sequenz zum aktivieren des Relais
0xA0, 0x01, 0x01, 0xA2

lautet und die zum deaktivieren
0xA0, 0x01, 0x00, 0xA1

Wenn ich diese über die serielle Leitung oder den ESP sende passiert jedoch nichts.
Der Controller gibt stetig 0x00 als Antwort aus. Ist vielleicht doch nicht die richtige Sequenz. :-\

Die Sequenzen kann ich soweit bestätigen. Mit einer Baudrate von 9600 funktioniert das Schalten des Relais über den ESP. Ein Problem kann ich allerdings feststellen:
Manchmal schaltet das Relay nicht. Am ESP kann man die Aktivität (Senden der Sequenz) durch die LED erkennen, das Relais schaltet aber nicht durch, bzw. öffnet nicht. (Ich habe im Sketch ein Zeitintervall, dass das Relais für eine bestimmte Zeit geschlossen und wieder geöffnet wird).

@Henrik: Falls du das liest, könntest du mir sagen, woher du die Information hast, welche Sequenzen zum aktivieren und deaktivieren verschickt werden müssen?

Grüße
Curt

ottok

#1
Hallo Leute,

ich sitze hier am selben Problem. Mich würde auch interessieren, woher die Sequenzen kommen.
Bisher konnte ich noch keine Schaltung über eine der Sequenzen durchführen.

Wenn jemand von euch etwas Code für die Arduino IDE bereit stellen könnte, würde ich gerne
an einer Lösung mitarbeiten.

Update:

Hab es hin bekommen, das Relais schaltet bei mir sehr sauber, hatte bisher noch keine Aussetzer.

Ich verwende zur Ansteuerung einen Mosquitto Broker über OpenHab2, aber das sollte
für die Lösung egal sein. Die Schaltsequenzen habe ich als Konstanten definiert.

const byte relayOn[] = {0xA0, 0x01, 0x01, 0xA2};
const byte relayOff[] = {0xA0, 0x01, 0x00, 0xA1};
.
.
.
  if(*msg == "1")
  {
    Serial.begin(9600);
    Serial.write(relayOn, sizeof(relayOn));
  }
 
  if(*msg == "0")
  {
    Serial.begin(9600);
    Serial.write(relayOff, sizeof(relayOff));
  }

Gruß Otto

cs-online

ESP und Relais klingt nach super Einsatzfähigkeit von ESPEasy analog Sonoff:

https://wiki.fhem.de/wiki/Sonoff

am Beispiel der Sonoff S20 Steckdose

Legt Device in FHEM an und kann bidirektional geschaltet werden :-)
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Henrik Aalto

Hallo,

bin heute zufällig über diesen Beitrag gestolpert. Damals hatte ich mein Thema geschlossen, weil das angeforderte Ersatzteil eine gefühlte Ewigkeit nicht geliefert wurde und als es dann ankam war's auch noch defekt. Die Status-LED blinkte nur blau und die Sequenzen die ich dem Modul sendete bewirkten nichts. Ich war nahe dran die Versuche mit dem Teil aufzugeben bei der miesen Qualität :(
Gut möglich, daß das von euch beobachtete Verhalten auch auf Qualitätsprobleme zurückzuführen ist. Doch juste heute hab' ich ein 12V Model erhalten und damit funktioniert alles wie es soll.  :)

@CurtRod: Mein Modul hat eine Status-LED die rot leuchtet, wenn ich die Sequenz 0xA0, 0x01, 0x01, 0xA2 sende. Parallel klickt dann auch das Relais. Wie ist das bei Deinem Modul? Könnte es evtl. auch am Relais liegen. Auch die schalten manchmal unzuverlässig bzw. "kleben".

Gruß Henrik



riker1

Zitat von: ottok am 26 Oktober 2017, 18:05:37


Update:

Hab es hin bekommen, das Relais schaltet bei mir sehr sauber, hatte bisher noch keine Aussetzer.

Ich verwende zur Ansteuerung einen Mosquitto Broker über OpenHab2, aber das sollte
für die Lösung egal sein. Die Schaltsequenzen habe ich als Konstanten definiert.

const byte relayOn[] = {0xA0, 0x01, 0x01, 0xA2};
const byte relayOff[] = {0xA0, 0x01, 0x00, 0xA1};
.
.
.
  if(*msg == "1")
  {
    Serial.begin(9600);
    Serial.write(relayOn, sizeof(relayOn));
  }
 
  if(*msg == "0")
  {
    Serial.begin(9600);
    Serial.write(relayOff, sizeof(relayOff));
  }

Gruß Otto

@Otto,

habe das bei mir auch so probiert. Das Problem ist, das das Relay zwar schaltet, aber nicht geschaltet bleibt. Also nur kurz auf und direkt wieder zu.
Habe das mit serialwrite und serial.flush() gesendet. nicht mit MQtt.

Eventuell eine Idee warum das Relais nicht offen bleibt?


Habe das 2 channel relay mit baut 115200 schaltet das nur.

Danke LG Thomas
FHEM    5.26.1 Ubuntu 18, FHEM    5.26.1 RPI 3 , Actoren: IT ,Tasmota, ESPEasy,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20,Tasmota, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox

ottok

Zitat von: riker1 am 30 Januar 2018, 19:38:32
@Otto,

habe das bei mir auch so probiert. Das Problem ist, das das Relay zwar schaltet, aber nicht geschaltet bleibt. Also nur kurz auf und direkt wieder zu.
Habe das mit serialwrite und serial.flush() gesendet. nicht mit MQtt.

Eventuell eine Idee warum das Relais nicht offen bleibt?


Habe das 2 channel relay mit baut 115200 schaltet das nur.

Danke LG Thomas

Hallo Thomas,

ich habe mir meinen Code noch mal angeschaut und kann keine Verbindung zwischen MQtt und dem
Status des Relais feststellen. Zum Test habe ich auch mein Relais geschaltet und das WLAN deaktiviert,
das Relais blieb im geschalteten Zustand.

Sorry, dass ich nicht weiter helfen kann.

Gruß Otto