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 
			
			
			
				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
			
			
			
				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.
			
			
			
				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
			
			
			
				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
			
			
			
				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.
			
			
			
				
werde es weiter probieren, vielleicht gehts ja irgendwie
gruß
			
			
			
				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
			
 
			
			
				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 :
			
			
			
				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ß
			
			
			
				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     : 
			
			
			
				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.
			
 
			
			
				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
			
			
			
				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 
			
			
			
				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
			 
			
			
				Wie realisiere ich das?
Gesendet von meinem GT-I9195 mit Tapatalk
			
			
			
				Indem der ESP regelmäßig die entsprechenden Daten sendet. In Deinem Fall bspw. den Wert für das Reading "Schalter_01".
			
			
			
				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? 
			
			
			
				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.
			
 
			
			
				Teste ich nochmal. Was wird eigentlich mit den delay verzögert?
Gesendet von meinem GT-I9195 mit Tapatalk
			
			
			
				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.
			
			
			
				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
			
			
			
				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.
			
 
			
			
				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/
			
			
			
				...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
			
			
			
				Das halte ich für den falschen Weg.
			
			
			
				Es gibt ein Attribut presenceCheck. Das setzt du auf 0 und Ruhe ist. 
Gesendet von meinem S3_32 mit Tapatalk
			
			
			
				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
			
			
			
				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.
			
			
			
				das darf jeder so gestalten, wie er/sie es am besten gebrauchen kann. Gerade dass das ganze so flexibel ist, ist doch super !