notify will nicht...

Begonnen von jolanda-anne, 03 Dezember 2018, 15:54:41

Vorheriges Thema - Nächstes Thema

jolanda-anne

Hallo,

ich habe einen Neato ("NeatoD5")Staubsauger, der durch einen einfachen dummy-Schalter ("Ursl") gesteuert werden soll. Schalter an = Sauger fährt los. Schalter aus = Sauger fährt zurück an die Ladestation.

Das Starten klappt mit notify schon super. Wenn der Sauger hingegen mit der Reinigung fertig ist, so fährt er eigenständig zur Basis. Hierauf habe ich einen weiteren Trigger gesetzt. Dieser soll das Reading stateId überwachen--und bei Änderung auf stateId="1" den dummy-Schalter wieder auf off setzen. Aus welchem Grund auch immer passiert das aber nicht...




define Ursl dummy
attr Ursl devStateIcon on:scene_cleaning off:scene_cubby
attr Ursl event-on-change-reading .*
attr Ursl group Service
attr Ursl room Küche
attr Ursl setList on off
attr Ursl webCmd :

define NeatoD5 BOTVAC aaa@bbb.de passwd neato 200
attr NeatoD5 event-on-change-reading .*
attr NeatoD5 room Küche
attr NeatoD5 webCmd startCleaning:stop:sendToBase
define FileLog_NeatoD5 FileLog ./log/neatod5.log NeatoD5.*
attr FileLog_NeatoD5 logtype text

define UrslOnNeatoTrigger notify Ursl:on set NeatoD5 startCleaning
define UrslOffNeatoTrigger notify Ursl:off set NeatoD5 pauseToBase

define NeatoUrslOffTrigger notify NeatoD5:stateId:1 set Ursl off


Das Reading "stateId" habe ich über die Oberfläche beobachtet. Das springt wieder auf "1" um, aber der Schalter "Ursl" bleibt auf "on". Wie kann ich das weiter untersuchen ? Oder seht ihr ein Problem im Code ?

Vielen Dank, Jolanda
 

MadMax-FHEM

Notify (und DOIF) geht am einfachsten so:

Eventmonitor öffnen (gegebenenfalls Filter setzen), auf den richtigen Event warten und dann die Zeile markieren und dann "create/modify"...

https://wiki.fhem.de/wiki/Event_monitor


Vermutlich könnte das hier funktionieren:


define NeatoUrslOffTrigger notify NeatoD5:stateId.1 set Ursl off


Aber ohne den Event zu kennen nur Rätselraten... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Wernieman

Alternativ einfach mal ins Logilfe gucken ...und wenn nicht verständlich, bitte die Zeile aus dem Logfile posten.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux


define NeatoUrslOffTrigger notify NeatoD5:stateId:.1 set Ursl off


Beim nächsten mal bitte ein list vom Device. Das hier war noch einfach aber es hilft mehr wenn helfende ein list haben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

jolanda-anne

Zitat von: Wernieman am 03 Dezember 2018, 16:35:02
Alternativ einfach mal ins Logilfe gucken ...und wenn nicht verständlich, bitte die Zeile aus dem Logfile posten.

Das device NeatoD5 schreib ja in seinen eigenen Logfile. Hier ein Auszug, als die Reinigung startet. "stateId wird von 1 auf 2 gesetzt:


2018-12-03_11:03:59 NeatoD5 batteryPercent: 100
2018-12-03_11:10:39 NeatoD5 batteryPercent: 99
2018-12-03_11:10:58 NeatoD5 startCleaning
2018-12-03_11:10:59 NeatoD5 dockHasBeenSeen: true
2018-12-03_11:10:59 NeatoD5 stateId: 2
2018-12-03_11:10:59 NeatoD5 action: 1
2018-12-03_11:10:59 NeatoD5 House Cleaning
2018-12-03_11:13:58 NeatoD5 isDocked: false
2018-12-03_11:13:58 NeatoD5 batteryPercent: 98
2018-12-03_11:17:19 NeatoD5 batteryPercent: 95



Nun ist der Reinigungsprozess beendet und der Roboter fährt eigenständig zur Basis zurück. "stateId" wird von 2 wieder auf 1 gesetzt:



2018-12-03_11:53:59 NeatoD5 batteryPercent: 70
2018-12-03_11:57:19 NeatoD5 batteryPercent: 67
2018-12-03_12:00:39 NeatoD5 isCharging: true
2018-12-03_12:00:39 NeatoD5 isDocked: true
2018-12-03_12:00:39 NeatoD5 dockHasBeenSeen: false
2018-12-03_12:00:39 NeatoD5 stateId: 1
2018-12-03_12:00:39 NeatoD5 action: 0
2018-12-03_12:00:39 NeatoD5 Idle
2018-12-03_12:00:41 NeatoD5 map_id: 2018-12-03T10:11:06Z
2018-12-03_12:00:41 NeatoD5 map_date: 2018-12-03 12:00:14
2018-12-03_12:00:41 NeatoD5 map_area: 37.8672
2018-12-03_12:03:59 NeatoD5 batteryPercent: 70
2018-12-03_12:07:19 NeatoD5 batteryPercent: 73
2018-12-03_12:10:39 NeatoD5 batteryPercent: 75


Müsste das nich eigentlich meinen Trigger auslösen ?

CoolTux

Ich habe dir doch schon die Lösung hingeschrieben. Hat es damit nicht geklappt?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

jolanda-anne

Vielen Dank für die Hilfe ! Jetzt klappt alles.