Event-Backtrace / Ständige Variablenänderungen

Begonnen von chrisfger, 19 November 2017, 17:22:14

Vorheriges Thema - Nächstes Thema

chrisfger

Hallo zusammen,

ich verzweifle an einem Problem, das ich habe, und finde einfach keinen Ansatz zur Lösung. Würde mich daher sehr über Hinweise freuen.

Es geht um folgendes:
Ich möchte einen "HomeStatus" einrichten. Auf die verschiedene Stati möchte ich später notifys aufsetzen, um beim kommen/gehen gewisse Befehle auszuführen (Licht und Heizung an z.B.).

Jetzt habe ich das Problem, dass sich aus einem mir nicht ersichtlichen Grund der "HomeStatus" ohne mein zutun ständig ändert. Siehe anbei ein Screenshot des Eventlogs...

Gibt es irgendwie die Möglichkeit eines backtrace, um zu sehen, wo das Variablensetzen ausgelöst wird?


Folgende Infos dazu:
- Wenn ich die Netzwerk-Verbindung des Raspberry trenne, auf dem FHEM läuft, sehe ich im Log danach keine Änderungen mehr --> das scheint von extern zu kommen oder nur aufzutreten, wenn der Server am Netzwerk hängt
- Ich habe einen zweiten Rasp-Pi, der Temperaturen an den FHEM-Server sendet. Den habe ich Testweise ausgeschaltet -> keine Änderung
- Ich benutze "geofancy" für die Anwesenheitserkennung mit einem Webhook. Die daran anschließenden notifys setzen den HomeStatus testweise auf "2"; Er alterniert aber immer zwisachen 1,3 und 4
- In meiner fhem.cfg gibt es in besagten geofancy-notify nur "set HomeStatus 2". In der ganzen fhem.cfg gibt es kein einziges "set HomeStatus 1", "set HomeStatus 3" oder "set HomeStatus 4". -> D.h. für mich, das muss irgendwie von "extern" kommen
- Ich habe die Ports, die vom Router aus dem Internet geforwarded werden, testweise auch abgeschaltet; keine Änderung.


Es ist so, als gäbe es eine "Notify-Schleife", d.h. wenn der Status auf 3 gesetzt wird, wird er wieder auf 1 zurückgesetzt usw.

Hat jemand eine Idee, wir das am besten gedebuggt werden kann?


Danke für jeden Hinweis!


Viele Grüße,

Christian


amenomade

Bitte ein "list" von den verschiedenen Devices.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

chrisfger

Hi,

danke für Deine Antwort.

Leider weiß ich ja nicht, welches Device genau das Verhalten auslöst... Unten sind mal ein paar "lists" der Angesprochenen, ich befürchte aber, das wird nichts helfen... Oder bräuchte man eine bestimmtes Device? Die unten gezeigten notifies können es aber nicht sein, da das Verhalten auch auftritt, wenn die "inactive" gesetzt werden...

Am einfachsten wäre, man könnte einfach anzeigen lassen, von welcher "Quelle" die Befehle ausgehen... Ich finde auch beim googlen keine Möglichkeit hierzu. Meine Installation ist auch nicht so wahnsinnig umfangreich, ich habe nochmal (fast) alle Devices durchforstet und finde einfach nichts...


Internals:
   NAME       HomeStatus
   NR         134
   STATE      3
   TYPE       dummy
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1511122914.59234
           VALUE      3
   READINGS:
     2017-11-19 21:21:54   state           3
Attributes:
   room       Alles
   setList    1 2 3 4


Internals:
   DEF        geofancy:currLoc_iPhone_chris:.Zuhause set HomeStatus 1
   NAME       n_iPhone_chris.Presence
   NOTIFYDEV  geofancy
   NR         113
   NTFY_ORDER 50-n_iPhone_chris.Presence
   REGEXP     geofancy:currLoc_iPhone_chris:.Zuhause
   STATE      2017-11-19 17:57:14
   TYPE       notify
   READINGS:
     2017-11-19 17:41:23   state           active
Attributes:


Internals:
   DEF        geofancy:currLoc_iPhone_chris:.underway IF ([HomeStatus:state] != 4) (set HomeStatus 3)

   NAME       n_iPhone_chris.absence
   NOTIFYDEV  geofancy
   NR         112
   NTFY_ORDER 50-n_iPhone_chris.absence
   REGEXP     geofancy:currLoc_iPhone_chris:.underway
   STATE      2017-11-19 17:54:30
   TYPE       notify
   READINGS:
     2017-11-19 17:41:23   state           active
Attributes:



Internals:
   DEF        geo
   NAME       geofancy
   NR         103
   STATE      id:xxx trig:1 date:1511110616 lat:xxx long:xx dev:xxx devAlias=iPhone_chris
   TYPE       GEOFANCY
   Helper:
     DBLOG:
       currLocAddr_iPhone_chris:
         logdb:
           TIME       1511110470.53306
           VALUE      -
       currLocLat_iPhone_chris:
         logdb:
           TIME       1511110634.44859
           VALUE      xxx
       currLocLong_iPhone_chris:
         logdb:
           TIME       1511110634.44859
           VALUE      xxx
       currLocTime_iPhone_chris:
         logdb:
           TIME       1511110634.44859
           VALUE      2017-11-19 17:56:56
       currLoc_iPhone_chris:
         logdb:
           TIME       1511110634.44859
           VALUE      Zuhause
       iPhone_chris:
         logdb:
           TIME       1511110634.44859
           VALUE      arrived Zuhause
       lastArr:
         logdb:
           TIME       1511110634.44859
           VALUE      iPhone_chris Zuhause
       lastDep:
         logdb:
           TIME       1511110470.53306
           VALUE      iPhone_chris Zuhause
       lastDevice:
         logdb:
           TIME       1511110634.44859
           VALUE      iPhone_chris
       lastDeviceUUID:
         logdb:
           TIME       1511110634.44859
           VALUE      xxx
       state:
         logdb:
           TIME       1511110634.44859
           VALUE      xxxdevAlias=iPhone_chris
   READINGS:
     2017-11-19 17:56:56   currLocAddr_iPhone_chris Trivastraße 30
80637 München
Deutschland
     2017-11-19 17:56:56   currLocLat_iPhone_chris x
     2017-11-19 17:56:56   currLocLong_iPhone_chris x
     2017-11-19 17:56:56   currLocTime_iPhone_chris 2017-11-19 17:56:56
     2017-11-19 17:56:56   currLoc_iPhone_chris Zuhause
     2017-11-19 17:56:56   iPhone_chris    arrived Zuhause
     2017-11-19 17:56:56   lastArr         iPhone_chris Zuhause
     2017-11-19 17:50:33   lastDep         iPhone_chris Zuhause
     2017-11-19 17:56:56   lastDevice      iPhone_chris
     2017-11-19 17:56:56   lastDeviceUUID  xx
     2017-11-19 17:18:54   lastLocAddr_iPhone_chris Zuhause
     2017-11-19 17:18:54   lastLocArr_iPhone_chris Zuhause
     2017-11-19 17:18:54   lastLocDep_iPhone_chris 2017-11-19 17:18:54
     2017-11-19 17:18:54   lastLocLat_iPhone_chris Zuhause
     2017-11-19 17:18:54   lastLocLong_iPhone_chris Zuhause
     2017-11-19 17:18:54   lastLoc_iPhone_chris Zuhause
     2017-11-19 17:56:56   state           id:xxx
   fhem:
     infix      geo
   helper:
     device_aliases:
       xxx iPhone_chris
     device_names:
       iPhone_chris xxx
Attributes:
   devAlias   x:iPhone_chris
   room       Unsorted

amenomade

#3
Hast Du irgendwelche notify oder DOIF oder watchdogs, die "generische" Befehle haben, z.B. mit Regex  oder FILTER ? Die würde ich zuerst analysieren.

Mit attr global verbose 5, siehst Du nicht in der Log?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

chrisfger

Zitat von: amenomade am 19 November 2017, 23:03:53
Hast Du irgendwelche notify oder DOIF oder watchdogs, die "generische" Befehle haben, z.B. mit Regex  oder FILTER ? Die würde ich zuerst analysieren.

Danke, das schau ich mir gleich genauer an...


Zitat
Mit attr global verbose 5, siehst Du nicht in der Log?

Das war ein guter Hinweis, damit sehe ich, dass die Events wohl über die Webschnittestelle ausgelöst werden:

2017.11.19 23:12:56 4: WEB: /fhem/?cmd=set%20HomeStatus%203&fwcsrf=csrf_644612574782591&XHR=1&_=1511034021337 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2017.11.19 23:12:56 4: WEB_192.168.1.99_54124 GET /fhem/?cmd=set%20HomeStatus%201&fwcsrf=csrf_644612574782591&XHR=1&_=1511034021338; BUFLEN:0
2017.11.19 23:12:56 5: Cmd: >set HomeStatus 1<


Ich kann mich nicht erinnern, sowas eingestellt zu haben, aber ich suche mal ob vielleicht irgendwo was zu finden ist...

chrisfger

kurzes Update, jetzt habe ich hier und da rumprobiert, und im Moment tritt das ganze nicht auf...

Ich habe am Raspberry ein kleines Display hängen, auf dem eine kleine Oberfläche läuft. Vorhin hab ich einfach mal den X-Server geschlossen, und prompt hat das beschriebene Verhalten aufgehört; jetzt läuft alles wieder, und das Problem tritt nicht mehr auf; Dabei hab ich eigentlich nichts geändert... Strange...

Nun ja, ich suche mal weiter, wenn es wieder auftritt...

Vielen Dank für den Hinweis mit dem attr global verbose 5, das kannte ich noch nicht; das war bei der Suche sehr hilfreich!


Gute Nacht,
Christian