[wahrscheinlich gelöst:] Problem - Aqara Motion / Lichtsensor / Shelly - DOIF

Begonnen von shamal2008, 22 April 2020, 18:41:57

Vorheriges Thema - Nächstes Thema

shamal2008

Hallo Forum,

vielleicht habt ihr die zündende Idee, warum mein DOIF nicht funktioniert.

Ist-Zustand: Shelly2.5 hinter Tasterschalter (Gira) im Wechselbetrieb. Mit Gira auslösen funktioniert perfekt, ebenso mit Motionsensor. Nun wollte ich dahingehend automatisieren, dass das die Bedingung "zuwenig Licht" dabei ist:

mein DOIF sieht so aus:

(([st.Anwesenheit] eq "absent") or ([s.gutenacht] eq "on"))
(set li.vz.entry off)
DOELSEIF (([li.vz.entry:relay_0] eq "off") and ([mo.vz.eingang.lux:lux] < 90) and ([mo.vz.eingang2:state] eq "motion"))
(set li.vz.entry on)
DOELSEIF ([mo.vz.eingang2:state] eq "nomotion")
(set li.vz.entry off)
DOELSE (set li.vz.entry off)


Der Waittimer ist wie folgt eingestellt:
0:0:30 - soll bewirken, dass bei NoMotion das Licht nicht sofort ausgeht, da ja der Aqara eine gewisse Verzögerung (60 bzw. 90 sec) hat.

als weitere Attribute sind (zwecks Debugging) eingestellt:

Event-on-update: state
event-on-change: state

Wenn das Teil so aktiv ist, passiert folgendes:

Sobald es duster wird und motion detected wird, beginnt das DOIF ca. 5-8 mal zwischen CMD2 und CMD4 hin- und her zuspringen (sprich: das Licht flashed an und aus), und erst wenn man sich vom Sensor wegbewegt, bleibt es "manchmal" an. Der WAF-Faktor ist somit im Eimer :( und meine süßen Motion-Detektoren sollen schon "verschwinden".

Eigentlich habe ich ja in der Commandref gelernt, dass DOIF sich selbst schützt, d.h. Änderungen von Stati während Ausführung keinen Einfluss haben.

Any ideas?

lg Shamal
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

xerion

Pauschal würde ich sagen, dass die Klammern grundsätzlich nicht passen:

Ist:(([st.Anwesenheit] eq "absent") or ([s.gutenacht] eq "on"))
Soll: ([st.Anwesenheit] eq "absent" or [s.gutenacht] eq "on")
Ich würde mich  freuen, wenn du meinen Einladungscode für Tibber, der Stromanbieter, der dir hilft, deinen Stromverbrauch zu verstehen und zu reduzieren, nutzt: https://invite.tibber.com/5fc08jbs. So bekommen wir beide 50 Euro und 100 % Ökostrom / https://geld-fuer-eauto.de/ref/334561880

Otto123

Hi,

jeder Event der Beteiligten Geräte triggert Dein DOIF und die Bedingungen werden abgearbeitet.
Ich weiß nicht was passiert, aber mach den Eventmonitor auf, da siehst Du es.

Ich denke Du darfst nicht alle Events zum triggern nehmen, Du kannst einige Bedingungen auf Abfrage umstellen (?)
Du sagst es geht sonst? Dann stell die Lichtabfrage um: [?mo.vz.eingang.lux:lux]

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

shamal2008

#3
Hallo Otto,

Im Eventlog sehe ich nur, dass das doif zwischen CMD_4 und CMD2 ca. 6-7x hin und her springt und sich dann mal auf "CMD_2" "einigt".

EDIT: Also, gerade ausprobiert, das Ergebnis ist spannenderweise exakt "dasselbe"

Aus dem Eventlog, mit Verbose 5:

2020-04-23 18:20:31 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:31 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:31 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:31 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:31 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:32 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:32 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:33 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:34 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:34 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:34 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:34 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:35 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:36 DOIF di.licht.vz.panel cmd_4
2020-04-23 18:20:36 DOIF di.licht.vz.panel cmd_2
2020-04-23 18:20:37 DOIF di.licht.vz.panel cmd_4


Das geht noch ca. 20x so, bis er entweder auf cmd_2 od. cmd_4 "hängen" bleibt.

Ich habe jetzt dem Shelly (ich verwende das shelly.pm Modul) jetzt auch eine fixe IP-Adresse gegeben, nachdem es hin und wieder ein Timeout gemeldet hat. Reboot ebenfalls. Ergebnis ist immer noch dasselbe.

Das Shelly ist übrigens im Relay-Mode, die div. Switch-Einstellungen (Button-Type - momentary,edge, toggle) habe ich auch schon durchprobiert. Ohne Erfolg.

Manuell über Schalter und Web, sowie über die Oberfläche lässt es sich einwandfrei ansprechen und schalten.

Ich habe keine Idee mehr...

lg
Shamal

lg Shamal

FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;

Otto123

Also wenn das DOIF ohne and ([mo.vz.eingang.lux:lux] < 90) funktioniert und mit and ([?mo.vz.eingang.lux:lux] < 90) auch nicht funktioniert weiß ich an Hand der Datenlage auch  nicht weiter.
Du darfst Dir im Eventmonitor nicht bloß das DOIF anschauen, Du solltest alle betreffenden Geräte anschauen.
regExp für den Eventmonitor vielleicht so?
st.Anwesenheit.*|s.gutenacht.*|li.vz.entry.*|mo.vz.eingang.lux.*|mo.vz.eingang2.*

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Laffer72

#5
Hallo Shamal,

was passiert mit "li.vz.entry:relay_0", wenn der Schalter eingeschaltet wir? Wechselt er dann auch von off auf on?
Dann würde cmd2 nicht mehr greifen und er wechselt nach cmd4...li.vz.entry off... wenn dann li.vz.entry:relay_0 auch auf off wechselt greift wieder cmd2.

[?li.vz.entry:relay_0] eq "off"


Daher der dauernde Wechsel.

Vielleicht liegt es ja daran.

Viele Grüße

Reinhard

Raspberry Pi Rev.B, FB7390 (FHEM2FHEM), Sonos, Smarter Coffee
Osram Lightify:2m LED-Streifen, 5m-LED-Streifen, Gartenspot, Surface 28W, Classic E14,E27, Classic RGBW E27, PAR16 GU10, Plug
CUL868:FS20-ST, FS20-DI, FS20-FMS, FS20-ES1
HMUSB:HM-Sec-RHS,HM-Sec-MDIR2
Jeelink868:TX-29-IT, TFA30.315

shamal2008

Hallo zusammen,

ich hab es jetzt (scheinbar) geschafft. Der Aqara meldet sich im FHEM mit 2 Sensoren (Licht, Bewegung). Beide liefern nett div. Readings mit, allerdings werden die scheinbar nach einer gewissen Zeit nicht mehr upgedated. Das betrifft scheinbar den LightSensor. Er liefert zwar auch die Readings mit - z.B. motion - aber eben ohne Update. Somit muss man den Lightsensor und den Bewegungsmelder "getrennt" (aus Sicht der FHEM-Devices) erstellen und auch abfragen.

Warum er bei beiden Sensoren (ZHAPresence und ZHALightsensor) getrennt angelegt und abgefragt werden, scheint es zu funktionieren.

Warum allerdings die Readings mitkommen, aber "irgendwann" (relativ bald) nicht mehr upgedated werden, kann wohl nur der Andre beantworten :), dafür reichen meine Programmier und Zigbee Kenntnisse (noch) nicht.

Weiters habe ich den Sensor jetzt auf 5 sec Intervall eingestellt - gemäß diesem Thread (https://forum.fhem.de/index.php?topic=104123.0#ratethis) und folgendes DOIF erstellt:


(([st.Anwesenheit] eq "absent") or ([s.gutenacht] eq "on"))
(set li.vz.entry off)
DOELSEIF (([?mo.vz.entry:lux] < 80) and
([mo.vz.entry2:state] eq "motion"))
(set li.vz.entry on)
DOELSE (set li.vz.entry off)


Die Attribute:

   uiTable:
Attributes:
   DbLogExclude .*
   devStateIcon cmd_1:black_Steckdose.off cmd_2:black_Steckdose.on cmd_3:black_Steckdose.off
   do         resetwait
   event-on-change-reading state,motion
   event-on-update-reading state,motion,lux

Scheint bis jetzt gut zu funktionieren, schauen wir mal, ob die 5 Sekunden Einstellung einen Reboot "überlebt". Wenn nicht, muss ich mir halt ein DOIF bauen, dass nach dem Reboot die Config-Werte wieder schreibt.

Setze es jetzt mal auf gelöst.

Danke für eure Unterstützung,
lg Shamal
FHEM auf RasPiI 3+, MapleCUL 868+433MhZ, MAX! via CUL, LD686 LED-Controller, GHoma Plugins,, Shelly, ConbeeII + IKEA + Xiaomi, div. Infodienste & Google Assistant via FHEM;