FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: vobo am 02 Mai 2017, 10:25:34

Titel: [gelöst] Sonoff "absent"
Beitrag von: vobo am 02 Mai 2017, 10:25:34
Hallo Leute,

ich habe mehrere Sonoff´s in mein FHEM eingebunden.
Ich bin dabei nach dem Wiki vorgegangen. Auf den Sonoff´s läuft die aktuelle RC von EspEasy.

Nun habe ich das Problem, dass im Prinzip zwar alles funktioniert, allerdings werden die Module
immer nach kurzer Zeit als "absent" angezeigt
. Das "schalten" im TabletUI funktioniert dann zwar trotzdem,
aber der Status wird beim Aufrufen natürlich nicht richtig angezeigt.

Wie bekomme ich das in den Griff ?

Viele Grüße
Volker

Titel: Antw:Sonoff "absent"
Beitrag von: dev0 am 02 Mai 2017, 11:50:55
Ich rate mal, dass Du das ESPEasy Modul verwendest.

commandref/ESPEasy:
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.
Possible values: 0,1
Default: 1 (enabled)
Titel: Antw:Sonoff "absent"
Beitrag von: vobo am 02 Mai 2017, 19:43:32
presenceCheck ist 1 bei allen Sonoff´s (wie bei Beispiel im Wiki).
Trotzdem werden die Devices nach kurzer Zeit als "absent" dargestellt.

Viele Grüße
Volker
Titel: Antw:Sonoff "absent"
Beitrag von: dev0 am 02 Mai 2017, 20:17:41
1 entspricht ja auch enabled.
Titel: Antw:Sonoff "absent"
Beitrag von: vobo am 02 Mai 2017, 22:19:07
hmmm ....

dann verstehe ich scheinbar das System nicht ....
Der Sonoff ist ja noch im Netzwerk "vorhanden" und lässt sich ja auch schalten ... nur wird er halt als "absent" angezeigt

Habe ich da einen größeren Gedankenfehler ?

Viele Grüße
Volker
Titel: Antw:Sonoff "absent"
Beitrag von: dev0 am 02 Mai 2017, 23:14:13
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.
Possible values: 0,1
Default: 1 (enabled)
Auf Deutsch: der ESP muss regelmäßig einen Wert senden, der in einem Reading dargestellt wird, sonst funktioniert die Anwesenheitsprüfung nicht. Du kannst auch einen zusätzlichen Wert, wie zB. RSSI, senden lassen, damit der Mechanismus greift.
Titel: Antw:Sonoff "absent"
Beitrag von: vobo am 02 Mai 2017, 23:50:01
jetzt "hab" ich´s. Funktioniert nun !

Vielen Dank Dev0 !

in den Screenshots habe ich die Lösung des "Problems" angehängt.
Einfach Device System Info zusätzlich anlegen welches den RSSI Wert überträgt.
Ich habe denselben Namen wie beim Switch und Relais benutzt, da sonst ein neues "Gerät" in Fhem angelegt wird.


Gruß
Volker
Titel: Antw:Sonoff "absent"
Beitrag von: dev0 am 03 Mai 2017, 07:41:35
Zitat von: vobo am 02 Mai 2017, 23:50:01
Ich habe denselben Namen wie beim Switch und Relais benutzt, da sonst ein neues "Gerät" in Fhem angelegt wird.

Wenn die Namen identisch sind, dann funktionieren einige ESPEasy Rules nicht mehr korrekt. Es ist besser eindeutige Namen zu verwenden und das Attribut combineDevices (https://fhem.de/commandref.html#ESPEasy_combineDevices) entsprechend zu setzen.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: schizo am 19 Dezember 2017, 15:24:46
Hallo,

ich habe auch das Problem, dass mir mein Sonoff nach einigen Minuten immer als "absent" angezeigt wird und sich der Status erst nach einem neuen Schaltimpuls aktualisiert.
Meine ESPEasy-Konfiguration sieht so aus wie schon beschrieben - mit dem Unterschied, dass ich die Devices verschieden benannt habe (Switch, Button, Info) und über "combineDevices" zusammengefasst habe.

Im Device "Info" wird der State über RSSI zwar aktualisiert, aber wie kriege ich es hin, dass dieser Status auch am Gerät "Relais" angezeigt wird?

Im Anhang findet ihr Screenshots meiner Config der einzelnen Devices.

LG
Sebastian

Titel: Antw:Sonoff "absent"
Beitrag von: dev0 am 19 Dezember 2017, 18:50:50
Zitat von: dev0 am 03 Mai 2017, 07:41:35
Es ist besser eindeutige Namen zu verwenden und das Attribut combineDevices (https://fhem.de/commandref.html#ESPEasy_combineDevices) entsprechend zu setzen.
Titel: Antw:Sonoff "absent"
Beitrag von: schizo am 20 Dezember 2017, 13:33:36
Leider habe ich noch nicht verstanden, wo ich das Atrribut setzen und wie ich es benennen muss.
Kann jemand weiterhelfen?
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 20 Dezember 2017, 18:16:52
Wenn Dir nicht klar ist, wo das Attribut gesetzt werden muss, dann hast Du die Dokumentation (aka command ref) nicht gelesen. Wenn Du nach dem Lesen noch Fragen hast, werde ich Deine konkreten Fragen gerne beantworten.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: schizo am 21 Dezember 2017, 08:38:21
Guten Morgen,

ich habe die Doku zum Attribut gelesen, darum habe ich das Attribut ja auch bei der Bridge eingebaut (siehe mein unterer Screenshot im Beitrag oben). Dort habe ich die Devices "Relais", "Button" und "Info" zusammengefasst, bzw. es versucht.

Woran erkenne ich denn, ob das richtig ist? Es erscheint kein Fehler beim Speichern, aber es wird weiterhin statt des Icons nur "absent" angezeigt. Erst wenn ich einmal schalte, wechselt das "absent" auf das Icon der Glühbirne...

LG
Sebastian
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 21 Dezember 2017, 09:00:23
Screenshots ignoriere/überlese ich meinstens. Ein list der Devices ist im Allgemeinen sinnvoller...
Ist denn zB. "Sonoff_S20_1_Info" wiklich der Name des ESPEasy Gerätes? Vermutlich nicht. Der Name wird in der Web Gui im Config Tab vergeben.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: schizo am 21 Dezember 2017, 11:56:47
Ah, jetzt komme ich der Sache näher, vielen Dank! Das ESPEasy Gerät heißt nur "S20_1".
Das "Unterdevice" Sonoff_S20_1_Info wurde dann automatisch von FHEM angelegt.
Die Devices "Relais" und "Button" auch, nachdem ich einmal den Button gedrückt hatte. Die Übertragung des RSSI-Wertes funktioniert, und dort wird auch "present" angezeigt.
Leider bleibt der Wert beim Relais und Button weiterhin auf "absent" und wird erst beim Schalten aktualisiert.

Wo ist mein Denkfehler? Der betreffende Abschintt in der Config sieht so aus:

########## BRIDGE (ESPEasy) ##############################################

define espBridge ESPEasy bridge 8383
attr espBridge authentication 0
attr espBridge combineDevices Sonoff_S20_1
attr espBridge group Sonoff
attr espBridge room hidden

########## DEVICES (ESPEasy) #############################################

define Sonoff_S20_1 ESPEasy 192.168.1.101 80 espBridge S20_1
attr Sonoff_S20_1 IODev espBridge
attr Sonoff_S20_1 Interval 300
attr Sonoff_S20_1 group Sonoff
attr Sonoff_S20_1 presenceCheck 1
attr Sonoff_S20_1 readingSwitchText 1
attr Sonoff_S20_1 room hidden
attr Sonoff_S20_1 setState 3

define Sonoff_S20_1_Info ESPEasy 192.168.1.101 80 espBridge S20_1_Info
attr Sonoff_S20_1_Info IODev espBridge
attr Sonoff_S20_1_Info Interval 300
attr Sonoff_S20_1_Info group Sonoff
attr Sonoff_S20_1_Info presenceCheck 1
attr Sonoff_S20_1_Info readingSwitchText 1
attr Sonoff_S20_1_Info room hidden
attr Sonoff_S20_1_Info setState 3

define Sonoff_S20_1_Button ESPEasy 192.168.1.101 80 espBridge S20_1_Button
attr Sonoff_S20_1_Button IODev espBridge
attr Sonoff_S20_1_Button Interval 300
attr Sonoff_S20_1_Button group Sonoff
attr Sonoff_S20_1_Button presenceCheck 1
attr Sonoff_S20_1_Button readingSwitchText 1
attr Sonoff_S20_1_Button room hidden
attr Sonoff_S20_1_Button setState 3

define Sonoff_S20_1_Relais ESPEasy 192.168.1.101 80 espBridge S20_1_Relais
attr Sonoff_S20_1_Relais IODev espBridge
attr Sonoff_S20_1_Relais Interval 300
attr Sonoff_S20_1_Relais alias Stern Küche
attr Sonoff_S20_1_Relais devStateIcon .*Relais..on:FS20.on .*Relais..off:FS20.off
attr Sonoff_S20_1_Relais eventMap /gpio 12 on:on/gpio 12 off:off
attr Sonoff_S20_1_Relais group Licht
attr Sonoff_S20_1_Relais presenceCheck 1
attr Sonoff_S20_1_Relais readingSwitchText 1
attr Sonoff_S20_1_Relais room Licht
attr Sonoff_S20_1_Relais setState 6
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 21 Dezember 2017, 12:20:40
Zum Posten von Code/Logs bitte die Code Tags verwenden (# Button) und keine Definitionen posten, sondern ein "list" des Device. Siehe angepinnte Beiträge im Anfägerbereich.

Zitat von: schizo am 21 Dezember 2017, 11:56:47
Wo ist mein Denkfehler?
Die alten/anderen Devices kannst Du löschen, sie weden nicht mehr benötigt. Es wird nur noch das Device "Sonoff_S20_1" genutzt. Die entsprechen Readings werden in diesem neuen Device angelegt/aktualisiert.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 21 Dezember 2017, 13:51:54
Um einfacher erkennen zu können, ob das combinedDevices Attribut greift, habe ich gerade eine neue Version ins svn eingechekt, die das (ab verbose level 4) im Log protokolliert. Ab morgen 8:00 Uhr via FHEM update verfügbar.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: schizo am 21 Dezember 2017, 18:22:52
Es funktioniert jetzt :)
Mein Fehler war noch, dass das Sonoff-Gerät selbst nur "S20_1" heißt, ich in der Bridge aber "combineDevices Sonoff_S20_1" geschrieben hatte.
Das habe ich nun korrigiert, und jetzt konnte ich die danach automatisch erstellten Devices "Info", "Relais" und "Button" löschen.
Die Readings werden jetzt wie gewünscht im Device "ESPEasy_S20_1" gesammelt und ausgegeben.
Vielen Dank! :)
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: cs-online am 22 Dezember 2017, 10:53:29
wir haben das in einem anderen Thread auch schon mal diskutiert, ich habe für das absent-Problem einfach folgende Lösung:


attr ESPEasy_WLAN_Dose_6_PUMP Interval 180
attr ESPEasy_WLAN_Dose_6_PUMP pollGPIOs 12


damit wird der GPIO mit dem Relais in dem Intervall (hier alle 3 Minuten) abgefragt und das Reading aktualisiert. Läuft seit Monaten stabil. Wenn ich das Dinge aus der Steckdose ziehe, erscheint nach kurzer Zeit absent, wenn wieder rein ist schnell wieder online...

Grüße

Christian
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 22 Dezember 2017, 11:06:05
Das Pollen von GPIO Zuständen ist unnötig und kontraproduktiv, auch wenn Du es (immer noch) nicht glauben magst und es (noch) funktioniert.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: cs-online am 22 Dezember 2017, 18:34:49
Zitat von: dev0 am 22 Dezember 2017, 11:06:05
Das Pollen von GPIO Zuständen ist unnötig und kontraproduktiv, auch wenn Du es (immer noch) nicht glauben magst und es (noch) funktioniert.

sorry, hab ich noch nicht verstanden, magst du das mal erklären, warum das nicht gut ist ?
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: sbiermann am 22 Dezember 2017, 21:29:19
Mal ein etwas hinkender Vergleich. Du gehst ja auch nicht alle 3 Minuten in die Küche und guckst ob du noch Milch im Kühlschrank hast. Sinnvoller ist es wenn der Kühlschrank dich benachrichtigt das die Milch alle ist. Sprich mit pollen tust du jede Menge unnötige Arbeit.
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 23 Dezember 2017, 09:01:45
@cs-online: Wie sbiermann schon schrieb, ist pollen generell keine gute Idee, besonders dann, wenn es eine bessere Alternative dazu gibt. Der Pollingmechanismus im Modul nutzt zudem auch keine offizielle ESP Easy Schnittstelle, um einen Status, über den "normalen" Weg,  anzufordern (gibt es nämlich nicht), sondern nutzt die JSON Antwort auf eine HTTP Anfrage. Dieses JSON wertet das Modul, dann eher schlecht als recht, aus. Sobald sich an diesem JSON etwas ändert, wird das nicht mehr, ohne Änderungen am Modul, funktionieren. Wenn das passiert, dann werde ich vmtl. das Attribut ganz aus dem Modul entfernen, da es unnötig ist den Zustand zu pollen, denn:

Mittels "Switch Input" Device sendet ESP Easy den Status der GPIOs nicht nur bei Änderungen, sondern auf Wunsch auch in einem konfigurierbarem Intervall (Delay). Damit benötigt man nichtmals mehr den Umweg über combineDevices in Verbindung mit einem zusätzlichen Wert, um das Presencefeature des Moduls nutzten zu können, dass auf dem Alter der Readings beruht. Das ist mindestens seit ESP Easy R90 so...
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: cs-online am 23 Dezember 2017, 13:13:56
ahso, ich verstehe. Dann macht das durchaus Sinn, daß ich mich da zwischen den Feiertagen mal beisetze und das bei meinen ändere. Ich habe hier ca. 10 S20 im Einsatz. Wie gesagt, es sah nach einem recht einfachen Weg aus und bislang war das auch super stabil, deshalb habe ich das bislang favorisiert.

Danke für die Info und ebenfalls für das Modul, das ist richtig cool !!!

Wünsche frohe Weihnachten,

Grüße

Christian
Titel: Antw:[gelöst] Sonoff "absent"
Beitrag von: dev0 am 24 Dezember 2017, 10:46:19
Zitatzwischen den Feiertagen mal beisetze und das bei meinen ändere
Ob man das jetzt direkt ändern muss, ist eine andere Frage. Bei einer neuen Installation würde es aber nicht mehr empfehlen. Daher mein veto.