MCP23017 Schalten und Status Espeasy

Begonnen von MAC66666, 10 Februar 2018, 09:01:51

Vorheriges Thema - Nächstes Thema

MAC66666

Hi,

Zwei kleine Probleme habe ich:

Ich habe an einem mcp23017 Expander 4 Relais, geplant sind bis zu 16. Zunächst habe ich das Problem, dass ich den Schaltbefehl drei mal absetzen muss, damit es wirklich schaltet:

z. B. http://<ESP>/control?cmd=MCPGPIO,1,1 Aber der Status wird immer gleich richtig angezeigt, auch beim ersten Aufruf, der in wirklichkeit noch nicht geschaltet hat:

log "GPIO 1 Set to 1"
plugin 9
pin 1
mode "output"
state 1


Das ist unschön, aber damit könnte ich erstmal leben, notfalls wird der Befehl halt tatsächlich dreimal aus FHEM abgesetzt, aber wäre natürlich toll, wenn jemand eine Idee hat. Es ist von daher zuverlässig, dass es IMMER beim dritten mal schaltet. Habe allerdings jetzt noch gar nicht getestet, ob das in FHEM per "set <ESP> mcpgpio 1 1" auch dreimal geschehen muss...

Interessanter wäre es für mich, einen Status des GPIOs in FHEM zu haben.

Ich habe es probiert in dem ich einen Switch definiert habe, aber das funktioniert leider nicht. Wäre sowieso nicht machbar sobald ich da mehr Relais als 12 dran habe.

Man kann über http://<ESP>/control?cmd=MCPGPIO,1 die o. g. Statusseite bekommen (Die allerdings nur stimmt, wenn man 3 mal geschaltet hat vorher, aber das lassen wir mal außen vor).

Weis nicht ob das was bringt, z. B. eine Intervallabfrage aus FHEM o. ä., Minütlich würe mir da reichen.

Oder eine Möglichkeit per Rules, die mir den Status zu FHEM drückt? Z. B. über ein Dummy, was ja vier Werte beinhalten kann, dann bräuchte ich für 16 Relais 4 Dummies (Wenn ich das geschickt nach dem Binärsystem aufteile, würde ein Dummy reichen, aber man kanns auch übertreiben). Oder ich drehe das alles um und "schalte" den Dummy aus FHEM, welcher dann per Rule den MCGPIO schaltet (Hmm, drei mal?  ;) ). Den Dummy-Status habe ich ja in FHEM.

Hat da jemand eine Idee dazu? So einen richtigen Ansatz habe ich noch nicht.
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

dev0

Zitatden Schaltbefehl drei mal absetzen muss, damit es wirklich schaltet
Wenn Du dieses Verhalten eindeutig reproduzieren kannst, dann solltest Du Dich an die ESPEasy Firmware Entwickler wenden.

ZitatInteressanter wäre es für mich, einen Status des GPIOs in FHEM zu haben.
Der Status wird typischerweise an den konfigurierten Controller geschickt. "FHEM HTTP" für das ESPEasy Modul oder "MQTT".

MAC66666

Zitat von: dev0 am 10 Februar 2018, 09:14:22
Wenn Du dieses Verhalten eindeutig reproduzieren kannst, dann solltest Du Dich an die ESPEasy Firmware Entwickler wenden.


Ja, mache ich vieleicht, das ist erst mal nicht so sehr wichtig.

Zitat von: dev0 am 10 Februar 2018, 09:14:22
Der Status wird typischerweise an den konfigurierten Controller geschickt. "FHEM HTTP" für das ESPEasy Modul oder "MQTT".

Normalerweise ja (benutze FHEM HTTP und ESPEasy Modul), mit normalen GPIOs geht das auch, aber nicht bei den GPIOs vom MCP. Also nennen wir sie mal MCPGPIOs wie in ESPEasy. Da ist nämlich kein Device dafür definiert, bzw. geht das auch gar nicht als output. Und das ist mein Problem.
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

dev0

Nebenbei: Das ESP Easy Framkework ist ursprünglich für Sensoren und nicht für Aktoren entwickelt worden, das man an vielen Stellen noch bemerkt...
ZitatDa ist nämlich kein Device dafür definiert, bzw. geht das auch gar nicht als output. Und das ist mein Problem.
Wenn das ESP Easy Device "Switch Input - MCP23017" keinen Status an den/die Controller schickt, dann ist da etwas faul oder ich verkenne den Sinn von dem Plugin.

MAC66666

Zitat von: dev0 am 11 Februar 2018, 06:33:33
Nebenbei: Das ESP Easy Framkework ist ursprünglich für Sensoren und nicht für Aktoren entwickelt worden, das man an vielen Stellen noch bemerkt...

Da pflichte ich Dir bei, das habe ich so auch schon bemerkt.

Zitat von: dev0 am 11 Februar 2018, 06:33:33
Wenn das ESP Easy Device "Switch Input - MCP23017" keinen Status an den/die Controller schickt, dann ist da etwas faul oder ich verkenne den Sinn von dem Plugin.

Vieleicht habe ich da auch was falsch gemacht, mich allerdings nicht weiter draum gekümmert, da ich ja sowieso nicht genügend Switch-Devices anlegen kann. Ich werde mich mal mit den Rules beschäftigen, vieleicht komme ich da weiter in Verbindung mit einem Dummy-Device. Bin aber weiterhin für Ideen offen  :)

Mein "beim dritten Mal" Problem hat sich erledigt, das tritt komischerweise ausschließlich bei Schaltung über's Handy auf. Aus FHEM oder Via PC läuft alles perfekt.
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota

dev0

ZitatVieleicht habe ich da auch was falsch gemacht, mich allerdings nicht weiter draum gekümmert, da ich ja sowieso nicht genügend Switch-Devices anlegen kann.
Ohne den Zeigefinger heben zu wollen, habe ich den Eindruck, dass Deine allgemeinen Fragen zu ESP Easy im ESP Easy Forum besser aufgehoben wären... Wenn mit dem ESPEasy Modul oder MQTT etwas klemmt, dann gehört es hier hin, aber so ?!

MAC66666

Jup, da hast Du vieleicht nicht ganz unrecht, aber letztendlich soll ja eine Lösung herauskommen, die an FHEM angebunden ist. Überschneidet sich halt irgendwie. Recherchiert habe ich da ja schon, nur nicht aktiv gepostet.

Es dient hier im Forum ja auch jenen, welche ggf. das gleiche oder ähnliches vor haben. Und wenn hier alles, was nicht direkt FHEM betrifft sondern nur damit kommuniziert oder davon gesteuert wird, entsprechend "ausgelagert" wird, würden hier so einige Projekte nicht auftauchen. Dann wäre FHEM sicher schon wieder in der Versenkung verschwunden oder zumindest nicht so weit wie heute...

Klar, in meinem Falle ist es natürlich erst mal sehr ESP(Easy)-Lastig. Aber dafür ist es ja auch ein ESP-Unterforum  ;) Und wenn eine Lösung da ist, würde ich sie trotzdem hier posten. Der nächste hat es dann vieleicht leichter...

Schlau wäre von mir natürlich, auch Deinen Rat zu befolgen. Ist halt wieder alles englisch, was ich zwar recht gut kann, nervt mich aber trotzdem  8) Aber so gehe ich normalerweise vor: Erst mal hier fragen, könnte ja sein, dass jemand eine Lösung hat. Wenn nicht, dann halt selbst drauf kommen, egal wie.
FHEM @ Ubuntu 20.04 VM@ Windows 2019 Hyper-V @ NVMe
MAXCube als CUL_MAX (Thermostate)
MAXCube als SlowRF (FS20, wird durch ESPs ersetzt, teilweise geschehen)
Einige ESPs mit ESPEasy, zwei GHoma und ein Sonoff Tasmota