Neues Modul: ESPEasy [war: ESPEasy ohne MQTT]

Begonnen von dev0, 18 Juli 2016, 11:53:28

Vorheriges Thema - Nächstes Thema

Mitch

Ja, Relais schaltet und LED leuchet, das passt alles.
Nur die Rückmeldung an fhem fehlt.

In der WebGUI von ESPEasy she ich auch die Zustandsänderung.
FHEM im Proxmox Container

JoWiemann

Hallo,

schau mal in die Readings vom Relais. Dort kannst Du sehen, dass der Status auf on / off wechselt. Es wird nur nicht in das STATE übernommen. Du kannst die Anzeige über das Attribut stateFormat ändern. Dort einfach eintragen:


{ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"value name in esp easy device","")}


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

Mitch

Nein, daran liegt es nicht.
Das stateFormat habe ich schon so eingerichtet.

Es wird aber das reading nicht aktualisiert.
FHEM im Proxmox Container

JoWiemann

Poste doch mal einen Screenshot von Deiner Devicedefinition im ESPEasy.

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

Mitch

Hier der list vom fhem Device:

Internals:
   .eventMapCmd on:noArg off:noArg check:noArg
   CHANGED
   DEF        192.168.0.50 80 ESPBridge sonoff1
   ESPBridge_MSGCNT 704
   ESPBridge_TIME 2016-09-29 20:27:59
   HOST       192.168.0.50
   IDENT      sonoff1
   IODev      ESPBridge
   LASTInputDev ESPBridge
   MODULE_VERSION 0.4.4
   MSGCNT     704
   NAME       ESPEasy_sonoff1
   NR         973
   PORT       80
   STATE      off
   SUBTYPE    device
   TYPE       ESPEasy
   Readings:
     2016-09-29 20:25:36   GPIO12          off
     2016-09-29 20:25:36   GPIO12_mode     output
     2016-09-29 20:27:59   RSSI            -63.00
     2016-09-29 20:25:36   _lastAction     GPIO 12 Set to 0
     2016-09-29 20:25:36   presence        present
     2016-09-29 20:27:59   state           GPI:off GPI:output RSS:-63.00
   Helper:
     urlcmd     /control?cmd=
     Intat:
       1:
         FN         ESPEasy_statusRequest
         INTERVAL   305
         TRIGGERTIME 29.09.2016 20:29:55
Attributes:
   DbLogExclude .*
   IODev      ESPBridge
   devStateIcon on:ios-on-green:off off:ios-off:on absent:10px-kreis-rot:statusRequest .*:ios-NACK:check
   event-on-change-reading presence,GPIO12
   eventMap   /gpio 12 on:on/gpio 12 off:off/status gpio 12:check/
   group      ESPEasy Device
   stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"GPIO12","")}
   verbose    0


und anbei die Screenshots.

2 sonoff haben das "Problem"
FHEM im Proxmox Container

majorshark

Mal eine kurze Zwischenfrage. Wo definiert man denn die Rules. Oder gibt es das noch nicht in der R120?

Grüße
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

JoWiemann

Och ne, schon mal das ESPEasy Wiki konsultiert. Muss man unter Tools/Advanced ganz weit unten das Häckchen setzen.

http://www.esp8266.nu/index.php/Tutorial_Rules

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

JoWiemann

Zitat von: Mitch am 29 September 2016, 20:31:02
Hier der list vom fhem Device

2 sonoff haben das "Problem"

Das sieht eigentlich Ok aus. Sind die Sonoff unterschiedlich benannt. Wurde für jedes Sonoff ein eigenes Fhem Device angelegt? Siehst Du im Device das Reading Relais?

Und, ich würde idx für jedes device mit einer anderen Indexnummer belegen.

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

majorshark

Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

dev0

@Mitch: Das gezeigte list mit dem IDENT sonoff1 passt nicht zu den Screenshots. Welche ESPEasy Version verwendest Du? Zeig bitte ein list der Bridge und stelle bridge und device auf verbose 4 und zeig dann das Log eines Schaltvorgangs. Ich schaue mir das dann morgen früh an, wenn ich am Rechner bin.

Mitch

Version R120

List der Bridge:
Internals:
   CONNECTS   908
   DEF        bridge 8383
   FD         42
   HOST       bridge
   MODULE_VERSION 0.4.4
   NAME       ESPBridge
   NR         972
   PASS       *************
   PORT       8383
   STATE      initialized
   SUBTYPE    bridge
   TYPE       ESPEasy
   USER       mbj1703
   .clientArray:
     ESPEasy
   Readings:
     2016-09-29 10:18:03   state           initialized
   Helper:
     urlcmd     /control?cmd=
     192.168.0.50:
       presence   absent
     192.168.0.52:
       presence   absent
     Outdated:
       192.168.0.50 1
       192.168.0.52 1
     Uniqid:
Attributes:
   DbLogExclude .*
   group      Zentrale
   icon       it_network
   room       Zentrale
   uniqIDs    0
   verbose    0


Log mit verbose 4:
2016.09.29 21:55:16.020 4: ESPEasy ESPBridge: data:
2016.09.29 21:55:16.018 4: Connection accepted from ESPBridge_192.168.0.50_1830
2016.09.29 21:55:16.014 4: ESPEasy ESPEasy_sonoff1: _lastAction: GPIO 12 Set to 0
2016.09.29 21:55:16.009 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||_lastAction||GPIO 12 Set to 0||0
2016.09.29 21:55:15.980 4: ESPEasy ESPEasy_sonoff1: GPIO12: off
2016.09.29 21:55:15.973 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||GPIO12_state||0||10
2016.09.29 21:55:15.972 4: ESPEasy ESPEasy_sonoff1: GPIO12_mode: output
2016.09.29 21:55:15.966 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||GPIO12_mode||output||0
2016.09.29 21:55:15.965 4: ESPEasy ESPEasy_sonoff1: presence: present
2016.09.29 21:55:15.959 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||presence||present||0
2016.09.29 21:55:15.919 3: ESPEasy ESPBridge: send gpio,12,0 to sonoff1 (192.168.0.50)
2016.09.29 21:55:15.918 3: ESPEasy ESPEasy_sonoff1: set ESPEasy_sonoff1 gpio 12 off
2016.09.29 21:55:14.255 4: ESPEasy ESPBridge: data:
2016.09.29 21:55:14.253 4: Connection accepted from ESPBridge_192.168.0.50_27276
2016.09.29 21:55:14.217 4: ESPEasy ESPEasy_sonoff1: _lastAction: GPIO 12 Set to 1
2016.09.29 21:55:14.213 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||_lastAction||GPIO 12 Set to 1||0
2016.09.29 21:55:14.186 4: ESPEasy ESPEasy_sonoff1: GPIO12: on
2016.09.29 21:55:14.182 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||GPIO12_state||1||10
2016.09.29 21:55:14.181 4: ESPEasy ESPEasy_sonoff1: GPIO12_mode: output
2016.09.29 21:55:14.177 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||GPIO12_mode||output||0
2016.09.29 21:55:14.175 4: ESPEasy ESPEasy_sonoff1: presence: present
2016.09.29 21:55:14.171 4: ESPEasy ESPBridge: dispatch: sonoff1::192.168.0.50::1::1::setreading||presence||present||0
2016.09.29 21:55:13.966 3: ESPEasy ESPBridge: send gpio,12,1 to sonoff1 (192.168.0.50)


Was ich noch habe sind eine Menge Fehler im Log:
2016.09.29 15:33:46.686 1: PERL WARNING: Use of uninitialized value in numeric ne (!=) at ./FHEM/34_ESPEasy.pm line 537.
2016.09.29 15:33:46.686 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/34_ESPEasy.pm line 534.
FHEM im Proxmox Container

dev0

Du benötigst mindestens ESPEasy R128, so kann ich das nicht supporten. Das steht aber auch in der command ref. Ab der nächsten Modulversion werden ältere ESPEasy Version gar nicht mehr funktionieren.

Mitch

Ok, hatte auf der Wiki Seite die R120 als letzte stable gefunden.
Da werde ich mich morgen mal dran machen.
FHEM im Proxmox Container

oli82

Du musst dir die Version aus Git holen und über die Arduino IDE entweder direkt flashen oder eine OTA bin erzeugen.
Offtopic: Habt ihr auch den Fehler, dass der Compiler an folgender Stelle hängen bleibt?
reply += F("<TR><TD>Core Version:<TD>");
    reply += ESP.getCoreVersion();

dev0

Nein, das Compilieren läuft hier problemlos durch (R128 - R133 getestet).

ZitatGetestete Entwicklungsumgebung:
- Arduino IDE 1.6.9
- Boardmanager -> http://arduino.esp8266.com/stable/package_esp8266com_index.json -> esp8266 by ESP8266 Community version 2.3.0
- Libraries aus dem neusten ESPEasy Paket (z.Z R120)
- ab ESPEasy R109 wird die pubsubclient library 2.6+ benötigt -> https://github.com/knolleary/pubsubclient
- ab ESPEasy R120 wird die ArduinoJson library 5.6.4+ benötigt -> https://github.com/bblanchon/ArduinoJson

Ich möchte euch aber bitten dieses Thema nicht in diesem Thread zu diskutieren. Ein neuer Thread macht an dieser Stelle mehr Sinn, da es auch Nutzer betrifft, die ESPEasy über andere IOs nutzen.