FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: noxx am 06 Juni 2017, 22:37:21

Titel: ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 06 Juni 2017, 22:37:21
Hallo,

habe meinen ESP mit FHEM am laufen, aber wie schalte ich den? Bekomme es nicht hin.
Internals:
   CFGFN
   DEF        192.168.1.226 80 espBridge espeasy01_Heizung_R4
   ESP_BUILD  147
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.1.226
   IDENT      espeasy01_Heizung_R4
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     67
   NAME       ESPEasy_espeasy01_Heizung_R4
   NOTIFYDEV  global
   NR         520
   NTFY_ORDER 50-ESPEasy_espeasy01_Heizung_R4
   PORT       80
   STATE      sta: on
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.07
   espBridge_MSGCNT 67
   espBridge_TIME 2017-06-06 22:34:57
   Readings:
     2017-06-06 22:30:21   presence        present
     2017-06-06 22:34:57   state           sta: on
     2017-06-06 22:34:57   stateR4         on
   Helper:
     fpc        1496780720
     pmEncode   1
     Intat:
       1:
         FN         ESPEasy_statusRequest
         INTERVAL   305
         TRIGGERTIME 06.06.2017 22:35:26
     Received:
       stateR4    1496781297
Attributes:
   IODev      espBridge
   Interval   300
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3


Internals:
   CFGFN
   CONNECTS   559
   DEF        bridge 8383
   FD         24
   HOST       bridge
   MAX_HTTP_SESSIONS 3
   MAX_QUEUE_SIZE 250
   NAME       espBridge
   NOTIFYDEV  global
   NR         476
   NTFY_ORDER 50-espBridge
   PASS       not defined yet !!!
   PORT       8383
   SESSIONS   0
   STATE      initialized
   SUBTYPE    bridge
   TYPE       ESPEasy
   USER       not defined yet !!!
   VERSION    1.07
   Readings:
     2017-06-06 22:14:31   state           initialized
   Helper:
     pmEncode   1
     Received:
       192.168.1.226:
         build      147
         espName    espeasy01
         sleep      0
         unit       0
         version    9
Attributes:
   authentication 0
   combineDevices 0
   group      ESPEasy Bridge
   room       ESPEasy



Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: JoWiemann am 07 Juni 2017, 08:46:06
Frage: Den ersten Post hier https://forum.fhem.de/index.php?topic=55728.0 sorgfältig durchgelesen? Dort wird beschrieben, wie die GPIO zu schalten sind.

Grüße Jörg
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: dev0 am 07 Juni 2017, 09:53:35
Danke Jörg.

@noxx: mMn hätte auch ein Blick in die commandref gereicht: https://fhem.de/commandref.html#ESPEasysetLogical
Sollte das nicht der Fall sein, dann bitte hier melden, damit ich fehlende oder unklare Informationen ergänzen kann.
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 07 Juni 2017, 17:15:43
Denn ersten Post hatte ich gelesen, hat aber nicht geklappt. Brauche ich einen Dummy Schalter? Wenn nein, die Attribute gehören in die Bridge?

Gesendet von meinem GT-I9195 mit Tapatalk

Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 07 Juni 2017, 19:32:41
So, habs mal so gemacht, aber klappt nicht ganz. habe den Code von #1
übernommen.
Status war vorher 1, konnte den auf 0  setzen, aber nicht wieder zurück auf 1.
Internals:
   DEF        192.168.1.226 80 espBridge espeasy01_Heizung_R4
   ESP_BUILD  147
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.1.226
   IDENT      espeasy01_Heizung_R4
   INTERVAL   300
   IODev      espBridge
   LASTInputDev espBridge
   MSGCNT     437
   NAME       ESPEasy_espeasy01_Heizung_R4
   NOTIFYDEV  global
   NR         82
   NTFY_ORDER 50-ESPEasy_espeasy01_Heizung_R4
   PORT       80
   STATE      off
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.07
   espBridge_MSGCNT 437
   espBridge_TIME 2017-06-07 19:31:04
   Readings:
     2017-06-07 19:28:25   GPIO15          off
     2017-06-07 19:28:25   GPIO15_mode     input
     2017-06-07 19:29:12   presence        present
     2017-06-07 19:31:04   state           GPI: off sta: on
     2017-06-07 19:31:04   stateR4         on
   Helper:
     fpc        1496852622
     pmEncode   1
     Intat:
       1:
         FN         ESPEasy_statusRequest
         INTERVAL   304
         TRIGGERTIME 07.06.2017 19:34:17
     Received:
       GPIO15     1496856505
       GPIO15_mode 1496856505
       stateR4    1496856664
Attributes:
   IODev      espBridge
   Interval   300
   devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
   eventMap   /gpio 15 on:on/gpio 15 off:off/status gpio 15:check/
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"GPIO15","")}
   webCmd     :



Edit

Beim rumspielen mit den Sets (zb manuell schalten per SET) sehe ich in den LOGs
2017.06.07 19:40:58 2: ESPEasy espBridge: httpReq failed:  192.168.1.226 espeasy01_Heizung_R4 'gpio 15,1'
2017.06.07 19:41:37 2: ESPEasy ESPEasy_espeasy01_Heizung_R4: RESOLVED: connect to http://192.168.1.226:80 timed out
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: dev0 am 07 Juni 2017, 19:57:11
Welche Attribute für ESPEasy Bridge/Device verwendbar sind ist in der commandref dokumentiert. Sei mir nicht böse, aber ich habe keine Lust das hier alle paar Tage erneut zu schreiben.
Die Meldung "httpReq failed" bedeutet, dass der ESP nicht erreicht werden konnte -> vmtl. ein Netzwerk- und/oder ESP-Problem.
Bevor wir hier weiter machen, bitte auf die aktuelle Modul Version aktualisieren.
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 07 Juni 2017, 21:45:33


werde es weiter probieren, vielleicht gehts ja irgendwie

gruß
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: JoWiemann am 07 Juni 2017, 21:48:37
Zitat von: noxx am 07 Juni 2017, 21:45:33
ok, im moment läuft eh nix mehr.
ESPEasy_v2.0.0-dev10 (habs neu geflasht) will sich nicht mehr mit FHEM verbinden.
(HTTP : connection failed, Controller IP/Port stimmen)

Nur mal zum Nachfragen:

- Welche IP hat Du in EspEasy eingetragen
- Welchen Port in EspEasy
- Welchen Port in Fhem in der EspBridge

Grüße Jörg
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 07 Juni 2017, 21:56:25
Hat sich erledigt, danke für die Nachfrage.
Reset, dann ging er obwohl ich vorher schon welche gemacht hatte.

Bin leider neu bei FHEM, auch wenn länger schon angemeldet. Hatte bisher
immer Pimatic am laufen und wollte nun mal intensiver FHEM nutzen.
FHEM ist am Anfang leider alles andere als einfach zu verstehen, sorry.

Habe nun mehrmals den Code von der ersten Seite probiert, er geht nicht.
Bekomme keinen brauchbaren Schalter

attr ESPEasy_ESP01_Schalter_01 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"GPIO15","")}
attr ESPEasy_ESP01_Schalter_01 devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESPEasy_ESP01_Schalter_01 eventMap /gpio 15 on:on/gpio 15 off:off/status gpio 15:check/
attr ESPEasy_ESP01_Schalter_01 webCmd :



Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 07 Juni 2017, 22:15:00
Keine Ahnung warum, hab einfach alles durchprobiert. so gehts:

attr ESPEasy_ESP01_Schalter_01 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Schalter_01","")}

Warum das GPIO15 nicht ging, macht mich allerdings ratlos.

Gruß
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 09 Juni 2017, 20:01:00
Ich verliere im Moment ständig die Verbindung zu den Schalter, eine Idee woran das liegen kann?
2017.06.09 19:58:04 4: Connection accepted from espBridge_ESP01_192.168.1.35_9132
2017.06.09 19:58:04 4: ESPEasy espBridge_ESP01_192.168.1.35_9132: Peer address accepted
2017.06.09 19:58:04 5: ESPEasy espBridge_ESP01_192.168.1.35_9132: Received header: {'Connection' => 'close','Host' => '192.168.1.220','Content-Length' => '224'}
2017.06.09 19:58:04 5: ESPEasy espBridge_ESP01_192.168.1.35_9132: Received content: {"module":"ESPEasy","version":"1.02","data":{"ESP":{"name":"ESP01","unit":0,"version":9,"build":147,"sleep":0,"ip":"192.168.1.35"},"SENSOR":{"0":{"deviceName":"Temperatur","valueName":"Temperatur","type":1,"value":"21.1"}}}}
2017.06.09 19:58:04 4: ESPEasy espBridge_ESP01_192.168.1.35_9132: No basic authentication required
2017.06.09 19:58:04 4: ESPEasy espBridge_ESP01_192.168.1.35_9132: Send http close '200 OK'
2017.06.09 19:58:04 5: ESPEasy espBridge_ESP01_192.168.1.35_9132: Dispatch: ESP01_Temperatur::192.168.1.35::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||147||0|||i||version||9||0|||r||Temperatur||21.1||1
2017.06.09 19:58:04 5: espBridge_ESP01: dispatch ESP01_Temperatur::192.168.1.35::1::1::1::i||unit||0||0|||i||sleep||0||0|||i||build||147||0|||i||version||9||0|||r||Temperatur||21.1||1
2017.06.09 19:58:04 4: ESPEasy espBridge_ESP01_192.168.1.35_9132: Closing tcp session.



Internals:
   DEF        192.168.1.35 80 espBridge_ESP01 ESP01_Schalter_01
   ESP_BUILD  147
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 9
   HOST       192.168.1.35
   IDENT      ESP01_Schalter_01
   INTERVAL   300
   IODev      espBridge_ESP01
   IPV        4
   LASTInputDev espBridge_ESP01
   MSGCNT     8
   NAME       ESPEasy_ESP01_Schalter_01
   NOTIFYDEV  global
   NR         81
   NTFY_ORDER 50-ESPEasy_ESP01_Schalter_01
   PORT       80
   STATE      absent
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.15
   espBridge_ESP01_MSGCNT 8
   espBridge_ESP01_TIME 2017-06-09 18:59:10
   Readings:
     2017-06-09 18:19:22   GPIO14          on
     2017-06-09 18:19:22   GPIO14_mode     output
     2017-06-09 18:59:10   Schalter_01     off
     2017-06-09 19:56:52   presence        absent
     2017-06-09 19:56:52   state           absent
   Helper:
     fpc        1497025162
     Pm:
       Encode     1
       JSON       1
     Received:
Attributes:
   IODev      espBridge_ESP01
   Interval   300
   devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
   eventMap   /gpio 14 on:on/gpio 14 off:off/status gpio 14:check/
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Schalter_01","")}
   webCmd     :


Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: dev0 am 09 Juni 2017, 20:48:46
Zitat
Ich verliere im Moment ständig die Verbindung zu den Schalter, eine Idee woran das liegen kann?
Wenn es so ist, dann vmtl. eine schlechte wlan Verbindung. Im gezeigten Log ist davon aber nichts zu sehen.
Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 09 Juni 2017, 21:00:06
hmm, der ESP steht nur 1m vom Router weg. Temp geht ja auch.

Auf den ESP komme ich ohne Probleme drauf.

Ich teste mal ne andere "FW"
3424776 : WD : Uptime 57 ConnectFailures 0 FreeMem 26384
3454777 : WD : Uptime 57 ConnectFailures 0 FreeMem 26384
3459210 : DS : Temperature: 20.75 (28-ff-4a-a6-71-15-2-57)
3484778 : WD : Uptime 58 ConnectFailures 0 FreeMem 26384
3514779 : WD : Uptime 58 ConnectFailures 0 FreeMem 26384
3519270 : DS : Temperature: 20.75 (28-ff-4a-a6-71-15-2-57)
3544780 : WD : Uptime 59 ConnectFailures 0 FreeMem 26384
3574781 : WD : Uptime 59 ConnectFailures 0 FreeMem 26384
3579330 : DS : Temperature: 20.75 (28-ff-4a-a6-71-15-2-57)
3604782 : WD : Uptime 60 ConnectFailures 0 FreeMem 26096


EDIT

An der FW lags nicht. Auch mit ESPEasy_v2.0.0-dev10 gehts nicht richtig.

700739 : WD : Uptime 12 ConnectFailures 0 FreeMem 23656
730740 : WD : Uptime 12 ConnectFailures 0 FreeMem 23656
732456 : DS : Temperature: 21.00 (28-ff-4a-a6-71-15-2-57)
760741 : WD : Uptime 13 ConnectFailures 0 FreeMem 23656
790742 : WD : Uptime 13 ConnectFailures 0 FreeMem 23656
792516 : DS : Temperature: 21.00 (28-ff-4a-a6-71-15-2-57)
820743 : WD : Uptime 14 ConnectFailures 0 FreeMem 23656
850744 : WD : Uptime 14 ConnectFailures 0 FreeMem 23656
852576 : DS : Temperature: 21.00 (28-ff-4a-a6-71-15-2-57)
880745 : WD : Uptime 15 ConnectFailures 0 FreeMem 23656

Titel: Antw:ESPeasy - GPIO schalten ?
Beitrag von: noxx am 10 Juni 2017, 08:07:07
Hallo,
das Problem mit dem absent muss woanders liegen. Die GPIO-switches fliegen
ja nicht alle auf einmal raus, sondern nacheinander.

Hier gabs das Problem für den Sonoff, die "Lösung" funktioniert bei mir leider
nicht, oder es fehlt noch etwas, was ich nicht kenne.
https://forum.fhem.de/index.php?topic=71418.0

Internals:
   CONNECTS   1119
   DEF        bridge 8383
   FD         24
   HOST       bridge
   IPV        4
   MAX_HTTP_SESSIONS 3
   MAX_QUEUE_SIZE 250
   NAME       espBridge_ESP01
   NOTIFYDEV  global
   NR         77
   NTFY_ORDER 50-espBridge_ESP01
   PORT       8383
   STATE      initialized
   SUBTYPE    bridge
   TYPE       ESPEasy
   VERSION    1.15
   Readings:
     2017-06-09 21:43:33   state           initialized
   Helper:
     Pm:
       Encode     1
       JSON       1
     Queue:
     Sessions:
       192.168.1.35 0
Attributes:
   authentication 0
   autocreate 1
   autosave   1
   combineDevices 0
   group      ESPEasy Bridge
   room       ESPEasy
   verbose    5
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 10 Juni 2017, 08:21:40
Damit der Presence-Erkennung funktioniert benötigst Du in jedem "FHEM ESPEasy Device" ein Reading, dass regelmäßig aktualisiert wird. Das ist bei Dir nicht der Fall:
Zitat
   Readings:
     2017-06-09 18:19:22   GPIO14          on
     2017-06-09 18:19:22   GPIO14_mode     output
     2017-06-09 18:59:10   Schalter_01     off
     2017-06-09 19:56:52   presence        absent
     2017-06-09 19:56:52   state           absent
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 10 Juni 2017, 08:58:44
Wie realisiere ich das?

Gesendet von meinem GT-I9195 mit Tapatalk

Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 10 Juni 2017, 09:18:25
Indem der ESP regelmäßig die entsprechenden Daten sendet. In Deinem Fall bspw. den Wert für das Reading "Schalter_01".
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 10 Juni 2017, 20:17:04
und wie stellt man das an?

Habe nun den ganzen Nachmittag verbracht, mich mit MQTT vertaut zu machen.
Läuft nun auch soweit. Hier habe ich keinen einzigen Abbruch bisher. Einstellungen
am ESP sind 1:1, bis auf den Controller (Vorher FHEM, nun OpenHAB).

Noch eine Frage: Meine gelesen zu haben, das die "Bridge" nur 2 ESPs bedienen kann,
ist das richtig?
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 10 Juni 2017, 21:13:43
Zitat
und wie stellt man das an?
Im ESP Device das Delay auf einen sinnvollen Wert >0 einstellen.
Das ESPEasy Modul kann beliebig viele ESPs bedienen.
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 10 Juni 2017, 21:24:34
Teste ich nochmal. Was wird eigentlich mit den delay verzögert?

Gesendet von meinem GT-I9195 mit Tapatalk

Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 10 Juni 2017, 21:38:45
Es ist das Interval in dem der ESP die Daten an einen Controller schickt. Fragen zur ESPEaay Firmware stellst Du nach lesen des Wikis aber besser im letscontrolit Forum.
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 11 Juni 2017, 08:08:21
OK, danke. Frage mich aber trotzdem warum es beim Temp Sensor (delay=0) es keine Probleme gibt und beim switch (delay=0) die Verbindung abbricht. Andere Frage, funktioniert die espbridge nur mit dem Fhem Controller?

Gesendet von meinem GT-I9195 mit Tapatalk

Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 11 Juni 2017, 08:55:25
Da Du Dich nicht sehr klar ausdrückst, kann ich nur vermuten, dass nicht die Verbindung abbricht, sondern nur der Presence Status auf absent geht, da keine Daten empfangen werden.
commandref/ESPEasy/presenceCheck:
Zitat
presenceCheck
Used to enable/disable presence check for ESPs
Presence check determines the presence of a device by readings age. If any reading of a device is newer than interval seconds then it is marked as being present. This kind of check works for ESP devices in deep sleep too but require at least 1 reading that is updated regularly. Therefore the ESP must send the corresponding data regularly (ESP device option "delay").
Possible values: 0,1
Default: 1 (enabled)
Wenn die Verbindung (beim Senden) _wirklich_ abbricht, dann ist es wahrscheinlich ein WLAN- oder Netzwerkproblem. Das erkennst Du im Log an der Fehlermeldung "httpReq Failed".

Warum der Temperatur Sensor trotz delay=0 Daten liefert, müßtest Du im Sourcecode nachsehen. Vmtl. übernimmt das Plugin dann den Systemdefault, der unter dem Config Tab auf dem ESP eingestellt ist.

ZitatAndere Frage, funktioniert die espbridge nur mit dem Fhem Controller?
Zum Senden von Daten an ESPEasy ist es egal welcher Controller eingestellt ist, da das Senden davon unabhängig ist. Datenempfang funktioniert nur mit meinem "FHEM HTTP" Plugin.
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: noxx am 12 Juni 2017, 21:23:17
So, die Bridge gefällt mir besser. Aber der Schalter geht nur wenn ich unter ESPeasy den GPIO Port bei Inversed keinen Haken setzen. Habe aber den Haken gesetzt, sonst passt der Status beim ESP nicht.
Nicht Inversed: Angeschlossene Lampe an -> Status 0
Inversed: Angeschlossene Lampe an -> Status 1

Die Bridge ist ja so eingerichtet:
attr ESP03_Aussenlicht stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Schalter_01","")}
attr ESP03_Aussenlicht devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
attr ESP03_Aussenlicht eventMap /gpio 5 on:on/gpio 5 off:off/status gpio 5:check/


Der Schiebeschalter reagiert überhaupt nicht. Die ON / OFF Buttons schon. Bei ON geht die Lampe am ESP aus, bei OFF geht sie an. Dabei springt der Schiebeschalter auch, direkt bedienen lässt er sich aber nicht

Internals:
   CFGFN
   DEF        192.168.1.45 80 espBridge ESP03_Aussenlicht
   ESP_BUILD  20000
   ESP_BUILD_GIT v2.0.0-dev8
   ESP_BUILD_NOTES  - Mega
   ESP_NODE_TYPE_ID 17: ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   0
   ESP_VERSION 2
   HOST       192.168.1.45
   IDENT      ESP03_Aussenlicht
   INTERVAL   300
   IODev      espBridge
   IPV        4
   LASTInputDev espBridge
   MSGCNT     71
   NAME       ESP03_Aussenlicht
   NOTIFYDEV  global
   NR         233
   NTFY_ORDER 50-ESPEasy_ESP03_Aussenlicht
   PORT       80
   STATE      off
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    1.16
   espBridge_MSGCNT 71
   espBridge_TIME 2017-06-12 21:25:01
   Readings:
     2017-06-12 21:25:01   Schalter_01     off
     2017-06-12 21:24:25   presence        present
     2017-06-12 21:25:01   state           Sch: off
   Helper:
     fpc        1497294861
     Pm:
       Encode     1
       JSON       1
     Received:
       Schalter_01 1497295501
Attributes:
   IODev      espBridge
   Interval   300
   devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
   eventMap   /gpio 5 on:on/gpio 5 off:off/status gpio 5:check/
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"Schalter_01","")}


EDIT

Nun gehts, wenn ich in FHEM nochmal invertiere mit
eventMap /gpio 5 on:off/gpio 5 off:on/status gpio 5:check/
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: cs-online am 05 Oktober 2017, 23:08:32
...seit ich bei meinen ESPs "pollGPIOs" auf den entsprechenden gpio gesetzt habe und intervall auf 180 gesetzt habe, hab ich kein Problem mehr mit "absent"  :D
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: dev0 am 05 Oktober 2017, 23:44:49
Das halte ich für den falschen Weg.
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: Frank_Huber am 06 Oktober 2017, 07:11:55
Es gibt ein Attribut presenceCheck. Das setzt du auf 0 und Ruhe ist.

Gesendet von meinem S3_32 mit Tapatalk

Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: cs-online am 06 Oktober 2017, 08:41:19
wenn du den presence-check abschaltest, weisst du nicht, ob der Schaltbefehl wirklich ausgeführt wurde. Wenn zyklisch der entsprechende GPIO abgefragt wird, sieht man a) ob das Gerät noch ansprechbar ist, sonst steht der state nämlich wirklich auf absent und b) welchen Schaltzustand du aktuell wirklich hast. Wenn ich den S20 dann aus der Steckdose ziehe, geht der nach 3min. auf absent. Genauso sollte es meiner Meinung nach sein

Ich hatte vorher auch immer das Problem, dass ich nach kurzer Zeit immer ein absent bekam, weil kein neues reading reinkam und ich nicht mdhr direkt sehen konnte, ob nun an oder aus.

Eine weitere Alternative ist vielleicht espeasy über System die presence-Zeit schicken zu lassen... siehe hier (erster Screenshot):

https://forum.fhem.de/index.php/topic,64363.msg687550.html#msg687550
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: Frank_Huber am 06 Oktober 2017, 08:57:12
Ich halte es für den richtigen Weg bei den GPIOs den presencecheck abzuschalten.
Ich habe auf meinen ESPs ein weitered device angelegt welches zyklisch die RSSI meldet. Hier wird auch die presence geprüft.

wenn ich einen GPIO schalte sendet er ja seinen Status an FHEM zurück. funktioniert zumindest bei mir tadellos.
Titel: Antw:ESPeasy - GPIO schalten // Edit: GPIOs = absent
Beitrag von: cs-online am 06 Oktober 2017, 10:06:55
das darf jeder so gestalten, wie er/sie es am besten gebrauchen kann. Gerade dass das ganze so flexibel ist, ist doch super !