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.
Das Einfachste ist, es in der ESP Easy Firmware (WUI), auf 'inverse' umstellen...
Wenn ich "Inversed Logic" in ESPEasy wähle. Der Schalter in FHEM zeigt korrekt an, funktioniert aber nicht.
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).
sind meine Werte (devStateIcon, eventMap, stateFormat) korrekt?
nimm evtl mal nen anderen GPIO. der GPIO-2 hat einen internen Pull Up. Evtl beisst dich der...
Ansonsten sind devStateIcon und stateFormat uninteressant für die Funktion. Ob eventMap korrekt gesetzt ist, kann man anhand der reinen Definition, nicht erkennen.
Das ist wahrscheinlich das Problem ESPEasy. Ich habe ein Problem mit GitHub gemeldet.
https://github.com/letscontrolit/ESPEasy/issues/609
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
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
In espeasy kannst "invers logic" oder so aktivieren.
Mit dem Handy online, daher kurz gefasst...
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?
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...
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
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...
Getestet,
Invers geht. Gpio off schaltet an.
Mit dem Handy online, daher kurz gefasst...
Frank_Huber: Kannst du ein Fragment deiner Konfigurationsdatei angeben?
Und ein Screenshot der Relaiskonfiguration in ESPEASY.
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...
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
Die Verwendung von NC bedeutet mehr Energieverbrauch. Wenn es nicht in FHEM getan werden kann, muss ich die Relais durch die anderen ersetzen.
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"}
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.