FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: melwinek am 28 November 2017, 11:43:50

Titel: ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 28 November 2017, 11:43:50
Ich weiß nicht, wie man den Relaiszustand umkehrt.
meine config:
define ESPEasy_esp1_RELAY1 ESPEasy 192.168.3.11 80 espBridge esp1_RELAY1
attr ESPEasy_esp1_RELAY1 IODev espBridge
attr ESPEasy_esp1_RELAY1 Interval 180
attr ESPEasy_esp1_RELAY1 devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESPEasy_esp1_RELAY1 eventMap /gpio 2 on:on/gpio 2 off:off/status gpio 2:check/
attr ESPEasy_esp1_RELAY1 group ESPEasy Device
attr ESPEasy_esp1_RELAY1 icon hue_filled_outlet
attr ESPEasy_esp1_RELAY1 pollGPIOs 2
attr ESPEasy_esp1_RELAY1 presenceCheck 1
attr ESPEasy_esp1_RELAY1 readingSwitchText 1
attr ESPEasy_esp1_RELAY1 room ESPEasy
attr ESPEasy_esp1_RELAY1 setState 3
attr ESPEasy_esp1_RELAY1 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Relay","")}
attr ESPEasy_esp1_RELAY1 webCmd :

Das Relais ist ausgeschaltet, wenn der Schalter in FHEM eingeschaltet ist.

Veränderung:
eventMap /gpio 2 on:off/gpio 2 off:on/status gpio 2:check/
Bewirkt, dass der Schalter in FHEM überhaupt nicht mehr reagiert.

Ich weiß, das ist ein triviales Problem, aber vielleicht hilft mir jemand.
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: dev0 am 28 November 2017, 11:52:46
Das Einfachste ist, es in der ESP Easy Firmware (WUI), auf 'inverse' umstellen...
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 28 November 2017, 12:05:27
Wenn ich "Inversed Logic" in ESPEasy wähle. Der Schalter in FHEM zeigt korrekt an, funktioniert aber nicht.
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: dev0 am 28 November 2017, 12:21:01
Wenn das so ist, dann ist ist es ein ESP Easy Firmware Problem und sollte mit dem ESP Easy Maintainer diskutiert/erörtert werden (->github).
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 28 November 2017, 12:30:20
sind meine Werte (devStateIcon, eventMap, stateFormat) korrekt?
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 28 November 2017, 12:32:47
nimm evtl mal nen anderen GPIO. der GPIO-2 hat einen internen Pull Up. Evtl beisst dich der...
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: dev0 am 28 November 2017, 12:36:35
Ansonsten sind devStateIcon und stateFormat uninteressant für die Funktion. Ob eventMap korrekt gesetzt ist, kann man anhand der reinen Definition, nicht erkennen.
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 28 November 2017, 12:43:47
Das ist wahrscheinlich das Problem ESPEasy. Ich habe ein Problem mit GitHub gemeldet.
https://github.com/letscontrolit/ESPEasy/issues/609
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Klaus0815 am 28 November 2017, 19:41:13
Das liegt doch an Deinem Relais-Board und nicht an ESPEasy?

Mess doch mal was am entsprechenden GPIO anliegt, wenn Du 0 oder 1 schickst? bei http://192.168.3.11/control?cmd=GPIO,0,1 bin ich mir sicher das dann der GPIO 3,3V hat

Welches Relais-Board benutzt Du? Vielleicht kann man über entsprechende Widerstände Abhilfe schaffen, ansonsten würde ich mir ein anderes Board kaufen

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 30 November 2017, 18:23:04
Für den GPIO, den ich 1 sende, ist es 3.3V. 0 ist 0V.
ESPEasy funktioniert gut.
Die Relaiskarte wird mit einem niedrigen Pegel gesteuert.
Das ist ungefähr so:
http://eecs.oregonstate.edu/education/images/2chrelay_large.jpg

Durch Senden an GPIO 1 oder 0 kann ich das Relais ein- oder ausschalten.
Wenn ich WIDGET in fhem schalte, kann ich das Relais auch aktivieren oder deaktivieren.
Das Problem ist, dass es in FHEM anders herum funktioniert. Wenn ich WIDGET in fhem einschalte, wird dieses Relais ausgeschaltet.

Es ist so:
FHEM GPIO Relais
Auf 1 Aus
Aus 0 Ein

Ich möchte, dass es so ist:
FHEM GPIO Relais
Aus 1 Aus
Ein 0 Ein
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 30 November 2017, 18:48:14
In espeasy kannst "invers logic" oder so aktivieren.

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Klaus0815 am 30 November 2017, 19:59:12
invers logic wird Dir nicht viel bringen, da es sich nur auf die Eingänge bezieht

Das einfachste wäre wohl, ein anderes Relaisboard zu kaufen, oder, mit viel Mühe, das vorhandene umbauen

Warum nimmst nicht einfach die NC statt die NO-Kontakte des Relais? sind doch Wechsler?



Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 30 November 2017, 20:00:41
Zitat von: Klaus0815 am 30 November 2017, 19:59:12
invers logic wird Dir nicht viel bringen, da es sich nur auf die Eingänge bezieht

Das einfachste wäre wohl, ein anderes Relaisboard zu kaufen, oder, mit viel Mühe, das vorhandene umbauen

Warum nimmst nicht einfach die NC statt die NO-Kontakte des Relais? sind doch Wechsler?
Sicher?
Ich meine das auch für Ausgänge einzusetzen....

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Klaus0815 am 30 November 2017, 20:06:43
ZitatSicher?
Ich meine das auch für Ausgänge einzusetzen....

Hallo Franz,
100% sicher bin ich mir nicht, da ich es so nicht einsetzte, kenne aber ESPEasy ziemlich gut:
Es gibt dort gar keine Settings, Webinterface oder ähnliches für Ausgänge, Das ganze Thema mit Reverse Logic usw bezieht sich nur auf Eingänge
Du kannst Ausgänge nur direkt über ein HTTP-Kommando Low oder High schalten

Im FHEM-Interface wird der Trick angewandt, den Ausgang zusätzlich als Eingang zu definieren, damit FHEM ihn findet

Man könnte jetzt hier den Trick anwenden, Rules zu definieren, z.B. Rule_on --> GPIOX off , aber ich glaube das FHEM-Interface kann in ESPEasy keine Rules auslösen



Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 30 November 2017, 20:20:07
Zitat von: Klaus0815 am 30 November 2017, 20:06:43
Hallo Franz,
100% sicher bin ich mir nicht, da ich es so nicht einsetzte, kenne aber ESPEasy ziemlich gut:
Es gibt dort gar keine Settings, Webinterface oder ähnliches für Ausgänge, Das ganze Thema mit Reverse Logic usw bezieht sich nur auf Eingänge
Du kannst Ausgänge nur direkt über ein HTTP-Kommando Low oder High schalten

Im FHEM-Interface wird der Trick angewandt, den Ausgang zusätzlich als Eingang zu definieren, damit FHEM ihn findet

Man könnte jetzt hier den Trick anwenden, Rules zu definieren, z.B. Rule_on --> GPIOX off , aber ich glaube das FHEM-Interface kann in ESPEasy keine Rules auslösen
Rules auslösen geht. Setze ich für toggle ein.
Ausgänge werden auch als "switch input" definiert, und arbeiten dann auch. (https://uploads.tapatalk-cdn.com/20171130/633f7dafe6a6d48d1429fd4e5a0ecc2e.jpg)

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 30 November 2017, 20:22:55
Getestet,
Invers geht. Gpio off schaltet an.

Mit dem Handy online, daher kurz gefasst...

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 30 November 2017, 20:36:05
Frank_Huber: Kannst du ein Fragment deiner Konfigurationsdatei angeben?
Und ein Screenshot der Relaiskonfiguration in ESPEASY.
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Frank_Huber am 30 November 2017, 20:43:02
Screenshot ist schon drin.

Config des selben:

defmod SONOFF_01 ESPEasy 192.168.12.191 80 ESPBridge SONOFF_01_Relais
attr SONOFF_01 IODev ESPBridge
attr SONOFF_01 Interval 300
attr SONOFF_01 event-on-change-reading .*
attr SONOFF_01 eventMap /gpio 12 on:on/gpio 12 off:off
attr SONOFF_01 presenceCheck 0
attr SONOFF_01 readingSwitchText 1
attr SONOFF_01 setState 3
attr SONOFF_01 stateFormat Relais


Mit dem Handy online, daher kurz gefasst...

Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: Klaus0815 am 30 November 2017, 21:03:30
Ich würde jetzt mal spontan sagen, ohne es getestet zu haben:

Du änderst dadurch nur die Rückmeldung an FHEM, der Status ist weiterhin falsch
Versuch mal in FHEM ein "set RalaisESPxyz on"" Vermutlich wird es dann im Status als off angezeigt

Wobei man dann halt auch wieder von den NO auf die NC-Kontakte wechseln kann, Nachteil ist halt dass das Relais bei off dauernd angezogen ist und Strom verbraucht
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 30 November 2017, 21:52:42
Die Verwendung von NC bedeutet mehr Energieverbrauch. Wenn es nicht in FHEM getan werden kann, muss ich die Relais durch die anderen ersetzen.
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: melwinek am 03 Dezember 2017, 11:10:17
Mit dieser Konfiguration funktioniert der Switch gut:
eventMap /gpio 0 on:off/gpio 0 off:on/status gpio 0:check/
stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Relay","") eq "on" ? "off" : "on"}
Titel: Antw:ESPEasy, FHem und Low-Level-Relais
Beitrag von: FrankM am 09 Januar 2019, 19:22:59
Hi zusammen. Ich habe mich mit dem gleichen Problem herumgeschlagen und folgende Lösung für mich gefunden.
Ich nutze die eventMap: /gpio 12 on:off/gpio 12 off:on/status gpio 12:check/
Und zusätzlich, da mein Relais nicht mehr aus dem eingeschalteten in den ausgeschalteten Zustand wollte, habe ich einen Level-Shifter von 3,3v auf 5v dazwischen geschaltet und verstärke damit das Signal.
Der Level-Shifter besteht aus 2 10k-Widerständen und einem einfachen N-Kanal MOSFET.