[Gelöst]Probleme mit Bewegungsmelder seit Update

Begonnen von LAN-Opfer, 11 Dezember 2015, 20:39:58

Vorheriges Thema - Nächstes Thema

LAN-Opfer

Hallo,

seit einem Update vor 2 Tagen funktioniert folgender notify nicht mehr:

BM_Motion_Garten:motion:.on.* { if (Value("ZW.AS_LICHT") eq "off" && ReadingsVal("BM_Motion_Garten","brightness","80") < "100") { fhem("set ZW.AS_LICHT on-for-timer 30; set ZW.AS_LICHT dim 99") } }

Hinter "BM_Motion_Garten" steht ein HM-Sen-MDIR-O-2. "ZW.AS_LICHT" ist ein FIBARO System FGD211 Universal Dimmer 500W (Z-Wave) - auf Befehle ("set ZW.AS_LICHT on-for-timer 30; set ZW.AS_LICHT dim 99") reagiert er, wie gewohnt (Lampe schaltet für 30 Sekunden ein mit 99% Helligkeit).
Der Bewegungsmelder selbst reagiert auch noch, wenn ich daran vorbei laufe:

Logfile
2015.12.11 19:22:00 3: BM_Motion_Garten_Reset: scanning

FileLog_BM_Motion_Garten
2015-12-11_19:17:00 BM_Motion_Garten brightness: 44
2015-12-11_19:17:00 BM_Motion_Garten motion: on (to broadcast)
2015-12-11_19:17:00 BM_Motion_Garten motionCount: 66_next:116s
2015-12-11_19:17:00 BM_Motion_Garten motion
2015-12-11_19:17:00 BM_Motion_Garten trigger_cnt: 66
2015-12-11_19:21:59 BM_Motion_Garten Activity: alive
2015-12-11_19:22:00 BM_Motion_Garten scanning
2015-12-11_19:31:59 BM_Motion_Garten Activity: dead


Ein erneuter Update und shutdown restart haben nichts gebracht.
Kann ich das irgendwie debuggen - hat jmd. eine Idee, woran es liegen könnte?

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

LAN-Opfer

...es fehlt noch was:
in der 99_myUtils.pm habe ich noch eine Funktion zum Zurücksetzen drin:


sub BM_MotionHandling($$){
my($device, $event) = @_;
return if($attr{$device}{subType} ne "motionDetector");

my $ResetAT = $device."_Reset";
if($event eq "motion") {
   # Bewegung erkannt, erstelle AT um Status wieder zurückzusetzen
         if (defined($defs{$ResetAT})) {
           fhem "modify ".$ResetAT." +00:05:00 {BM_MotionHandling(\"$device\", \"scanning\")}";
         } else {
         fhem "define ".$ResetAT." at +00:05:00 {BM_MotionHandling(\"$device\", \"scanning\")}";
         }
} elsif($event eq "scanning") {
   # Status des Devices wieder zurücksetzen
   readingsSingleUpdate($defs{$device}, "state", $event, 1);
}
}



Ich muss zugeben, dass ich das alles zusammenkopiert und ausprobiert habe, bis es funktioniert hat - alles verstanden habe ich leider nicht :-(

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

marvin78

Ich nehme an, es liegt am Stringvergleich, der keiner sein sollte. Gut ist immer, wenn man das Log verwendet

BM_Motion_Garten:motion:.on.* {if (Value("ZW.AS_LICHT") eq "off" && ReadingsVal("BM_Motion_Garten","brightness","80") < 100) {fhem("set ZW.AS_LICHT on-for-timer 30;set ZW.AS_LICHT dim 99")}}

LAN-Opfer

Zitat von: marvin78 am 12 Dezember 2015, 09:44:02
Gut ist immer, wenn man das Log verwendet
...du meinst, verbose von 3 auf 5 setzen?

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

marvin78

Das und eventuell mit der Perl Funktion Log selbst ein wenig Log produzieren um die Bedingungen zu testen. Eventuell hilft aber auch der Rest meines Beitrags oben schon!?

LAN-Opfer

...ich dachte auch schon daran, dass da eventuell schon immer ein fehlerhafter Ausdruck drin wäre, der aber bisher funktionierte und nun durch eine restriktivere Behandlung nicht mehr funktioniert.
ReadingsVal("BM_Motion_Garten","brightness","80") < 100
ReadingsVal liefert doch einen numerischen Wert zurück? Die "80" habe ich nur abgeschrieben - keine Ahnung, was die bedeuten. Hat aber viele Wochen funktioniert.
Jetzt sollte ich vielleicht ReadingsVal("BM_Motion_Garten","brightness","80") in ein Log schreiben - ich weiss aber nicht, wie...

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

marvin78

Richtig und trotzdem hast du oben die 100 in Anführungszeichen gesetzt. Die 80 muss auch nicht in Anführungszeichen, sonst ist sie ein String und es würde einen Fehler geben, da du keinen Stringvergleich machst.  Dazu empfehle ich ein Perl Handbuch.

Die Funktion mit der du loggen kannst:

Log VERBOSELEVEL, TEXT

Beispiel:

Log 3, "Test: ".ReadingsVal($NAME,"brightness",80);

Ein wenig Transferdenken überlasse ich dir.

Es fehlen einfach weiter Infos, um die besser helfen zu können. Welche benötigt würden, ist ja bekannt.

Damu

Hallo

Ich hab das selbe auch am laufen.
Bei mir scheinen die Bewegungsmelder noch zu gehen.
Nur gehen Sie nicht mehr auf scanning zurück.

LAN-Opfer

#8
Zitat von: marvin78 am 12 Dezember 2015, 15:28:27
Es fehlen einfach weiter Infos, um die besser helfen zu können. Welche benötigt würden, ist ja bekannt.
Ich danke dir - ohne Anführungszeichen geht es jetzt  :) Das habe ich dann schon von Anfang an falsch gehabt und jetzt hat es sich gerächt  :'(
Sorry - Perl ist für mich Neuland - sollte ich mir mal aneignen. Aber phyton auch und ... ;-)
FHEM betreibe ich in der neusten Version 5.7 (ich habs im Profil nachgezogen - dachte aber, nach dem Update wäre immer die neuste Version drauf) - ansonsten hoffe ich, vollständige Infos geliefert zu haben, lasse mich aber gerne eines Besseren belehren.
Mich würde noch interessieren, was die 80 bedeuten und wo man das nachlesen kann? Wie gesagt: ich habe das nur irgendwo abgeschrieben. Aber irgendwo müsste ja beschrieben sein, wie die Datenstruktur von diesem Sensor aussieht.

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

franky08

#9
Die 80 ist der default wert.
ZitatReadingsVal(<devicename>,<reading>,<defaultvalue>)
Gibt den Inhalt der "readings" zurück (den Inhalt der in dem "Readings"-Abschnitt von "list device" angezeigt wird)
VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

LAN-Opfer

danke - dann weiss ich das jetzt auch - ich finde aber im Wiki keine Angaben, welche Werte in welchem Format (und Wertebereich) von diesem Sensor gelesen werden können.

Uwe
FHEM5.7 auf Raspberry 2 mit V 1.53 CUL868, HMLAN, Z-Wave 3.99

franky08

#11
Dann sieh dir die Register vom device mal an, dort müsstest du das finden können (kann ich nicht prüfen da ich dieses device nicht habe)

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1