Moin ...
... ich habe nunmehr einige SONOFF Teile umgeflasht. Das ist auch grundsätzlich kein Problem und funktioniert. Wo ich aber immer noch Probleme habe, ist die Einbindung in FHEM...
Die Geräte lassen sich grundsätzlich schalten (set SONOFF1 on|off). Nach der Inbetriebnahme werden die auch kurz als "present" angezeigt, nach ca. 1 Minute aber nur noch als "absent". Ein Schalten direkt über die WEBgui ist dann nicht mehr möglich, wenn ich denn den Status der Präsenz auch erfassen möchte...
Vermutlich habe ich irgendwo Murks gemacht, aber auch nach einigen Wochen, in denen ich die Teile nunmehr in Betrieb habe, komme ich einfach nicht dahinter und erbitte nunmehr Hilfe. Dazu anbei mal der Code in FHEM, exemplarisch geltend auch für die anderen SONOFF- Teile:
Definition einer Steckdose in FHEM:
define SONOFF_ST2 ESPEasy 192.168.1.51 80 espBridge SONOFF_RY_TA
attr SONOFF_ST2 IODev espBridge
attr SONOFF_ST2 devStateIcon on:rc_GREEN:off off:rc_RED:on absent:rc_BLUE:on
attr SONOFF_ST2 eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
attr SONOFF_ST2 group ESPEasy Device
attr SONOFF_ST2 icon hue_filled_outlet
attr SONOFF_ST2 room _90 HW - ESPeasy
attr SONOFF_ST2 stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"RY","")}
attr SONOFF_ST2 webCmd :
Listing dazu:
Internals:
.eventMapCmd on:noArg off:noArg off:noArg off:noArg
CFGFN /opt/fhem/_HW/WL.Sonoff.cfg
DEF 192.168.1.51 80 espBridge SONOFF_RY_TA
HOST 192.168.1.51
IDENT SONOFF_RY_TA
INTERVAL 300
IODev espBridge
NAME SONOFF_ST2
NOTIFYDEV global
NR 959
NTFY_ORDER 50-SONOFF_ST2
PORT 80
STATE absent
SUBTYPE device
TYPE ESPEasy
VERSION 1.38
.attraggr:
.attrminint:
READINGS:
2018-03-17 13:19:39 presence absent
2018-03-17 13:19:39 state absent
helper:
fpc 1521286151
pm:
Encode 1
JSON 1
received:
Attributes:
IODev espBridge
devStateIcon on:rc_GREEN:off off:rc_RED:on absent:rc_BLUE:on
eventMap /gpio 12 on:on/gpio 12 off:off/gpio 12 gpio:off/gpio 12 output:off/
group ESPEasy Device
icon hue_filled_outlet
room _90 HW - ESPeasy
stateFormat {ReadingsVal($name,"presence","") eq "absent" ? "absent" : ReadingsVal($name,"RY","")}
webCmd :
Die Bridge sieht so aus:
define espBridge ESPEasy bridge 8383
attr espBridge authentication 0
attr espBridge autocreate 1
attr espBridge autosave 1
attr espBridge combineDevices 1
attr espBridge group System
attr espBridge room System
Die Konfiguration der Steckdose habe ich als Bilder angehängt.
Hallo Micha,
ich verlinke Dir mal kurz meine schon etwas älteren Mitschriften (https://heinz-otto.blogspot.de/2017/07/einbindung-von-espeasy-schaltern-in-fhem.html).
Der Trick ist einen zweiten Wert zu nehmen (z.B. rssi) der immer übertragen wird.
Ich weiß es gab eine elegantere Lösung hier im Forum als meine, vielleicht findest Du die durch meine Stichworte im Artikel :)
Gruß Otto
Zitat von: Otto123 am 17 März 2018, 13:48:13
Der Trick ist einen zweiten Wert zu nehmen (z.B. rssi) der immer übertragen wird.
mein "Trick" ist es das Attribut presencecheck zu setzen. :-)
attr SONOFF_02 presenceCheck 0
ZitatDer Trick ist einen zweiten Wert zu nehmen (z.B. rssi) der immer übertragen wird.
ESPEasy muss einfach nur regelmäßig die benötigten Werte schicken: in der ESP Easy Firmware Device Konfig: "Send Data" aktivieren und ein Interval (Delay) setzen, dass <= dem ESPEasy Modul Interval ist.
Zitatmein "Trick" ist es das Attribut presencecheck zu setzen. :-)
Blödsinn! Bitte unterlasse diese "Hilfestellung", die ich schon öfters von Dir lesen mußte.
Zitat von: dev0 am 17 März 2018, 15:05:17
Blödsinn! Bitte unterlasse diese "Hilfestellung", die ich schon öfters von Dir lesen mußte.
Wenn ich keine Presence benötige dann schalte ich es ab. was soll daran Blödsinn sein?
Wenn ich ein Sonoff anlege der den Relais Zustand sendet dann sendet er den nur wenn geschalten wird.
Will ich das "absent" hier verhindern setzte ich das Attribut. Wozu ist das Attribut sonst da?
Klar kann ich alle 30 Sekunden den Zustand des Relais schicken, aber warum soll ist die ESPBridge und FHEM derart unnötig zumüllen?...?
@Otto:
Gute Idee! Werde ich mir mal merken für andere Problemfälle; mir war nicht klar, dsa RSSI periodisch gesendet wird.
@Frank:
Ich will ja eine Präsenz- Anzeige und diese nicht abschalten. Dieses Attribut habe ich schon länger mit "1" gesetzt.
@dev0 (Vornamen hatte ich auch schon mal auf dem Schirm; sorry):
Dein Hint funktioniert! Ich habe jetzt den Button und das Relays jeweils auf 10sec gesetzt (vermutlich zu kurz, aber das hochsetzen kommt später). Jetzt weiß ich auch, für was diese Option da ist. Nun sind alle S20 auch dauerhaft präsent... aBär... Ich habe da wohl noch ein eklatantes Verständnisproblem...
Wenn ich mir in der GUI einen S20 anzeigen lasse (Code siehe oben), dann habe ich ja nur den Button zum schalten. Einschalten geht, ausschalten nicht mehr. Rufe ich nun das Device auf, erkenne ich, das an dieser Stelle das Device immer noch als "absent" dargestellt wird (siehe Screenshot 1). Zudem ist das Reading "presence" identisch mit dem Reading "state"; kann also irgendwie nicht klappen.
Nun finde ich unten unter "Probably associated with" nicht nur die Bridge, sondern zudem ein weiteres Device, welches den gleichen Namen hat, aber ein Prefix "ESPEasy_". Rufe ich nun dieses Device auf (Screenshot 2), sehe ich die vermissten Readings in diesem Device.
Das verwirrt mich nun ungemein :o Wie hängt das zusammen, das eine schnöde S20 in FHEM auf zwei Devices verteilt ist und wie bekomme ich das in der üblichen Form in ein Device zusammengefasst?
Lösche beide Devices (nicht die Bridge) und lasse das Device via autocreate neu anlegen und vergib die benötigten Attribute neu. Ursache könnte das unsachgemäße editieren der fhem.cfg sein.