ESPeasy - GPIO schalten // Edit: GPIOs = absent

Begonnen von noxx, 06 Juni 2017, 22:37:21

Vorheriges Thema - Nächstes Thema

noxx

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




JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

dev0

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.

noxx

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


noxx

#4
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

dev0

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.

noxx

#6


werde es weiter probieren, vielleicht gehts ja irgendwie

gruß

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

noxx

#8
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 :




noxx

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ß

noxx

#10
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     :



dev0

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.

noxx

#12
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


noxx

#13
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

dev0

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