FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: pte am 01 November 2017, 14:55:04

Titel: kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 14:55:04
ich erhalte aus dem Modul DBLog nur Ereignisse bei disconnected. Ein späteres connected generiert kein Ereignis im Ereignismonitor.
Da ich mittels Modul Monitoring diverse Geräte und/oder Dienste überwache, wird DBLog bei disconnected zwar dem Monitoring-Device hinzugefügt, bei erneutem connected aber nicht entfernt.
Jemand eine Idee?
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 15:55:47
Hallo pte,

das ist so designed. Hintergrund ist, dass bei jeden Event/Schreibzyklus der connect-Status geprüft und gesetzt wird. Würde jedesmal ein Event generiert wenn der Zustand normal, d.h. "connected" ist, dann würden die Systeme in Events ersticken (zumindest im synchronen Modus). Deswegen wird nur ein Event generiert wenn ein außergewöhnlicher Zustand auftritt.

Allerdings wäre es im asynchronen Modus durchaus möglich auch bei "connected" einen Event erzeugen zu lassen da in diesem Fall das Intervall der Eventgenerierung abhängig ist vom eingestellten Syncintervall (default 30 s) und der User die Eventgenerierung mit "event-on-change/update-reading" beeinflussen kann.

Betreibst du DbLog im asynchronen Modus ?

Grüße
Heiko
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 15:57:36
ja


Gesendet von iPhone mit Tapatalk
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: CoolTux am 01 November 2017, 16:01:44
Hallo Heiko,

Und wenn Du nur einen Event generierst wenn sich der Zustand geändert hat?



Grüße
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 16:05:55
Jo, das geht auch. Irgendwie hatte ich das schon mal auf dem Schirm und dann wieder vergessen.  ;)
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 16:46:55
So hier ist die neue Version 2.22.14 angehängt. Ich habe schon ein bisschen getestet und funktioniert sowohl im synchronen als auch asynchronen Modus.
Probierts mal bei euch aus und gebt bitte Feedback

Wenn es auch bei euch wie gewünscht checke ich es ein ... wird aber etwas dauern, bin mitten in Urlaubsvorbereitungen.   :D

LG
Heiko
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 20:27:52
scheint noch nicht zu wirken :(
state wird zwar regelmäßig aktualisiert (aber nicht per longpoll), ein event im Ereignismonitor kann ich nicht finden.
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 20:38:45
Der Event wird NUR bei einer Änderung des state-Inhaltes erzeugt. Also z.B. bei einem Fehler.
Du kannst es provozieren wenn du zb. ein "set reopen 10" absetzt, oder mal disable setzt und wieder löscht.

Klappt bei mir einwandfrei.
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 20:41:33
ich hatte meine datenbank angehalten (fehlermeldung kommt im monitor). anschließend sql gestartet. state nach reload seite wieder connected aber nichts im monitor


Gesendet von iPhone mit Tapatalk
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 20:51:41
Sag mal, hast du nach dem Download des Moduls es auch umbenannt nach 93_DbLog.pm und ein "reload 93_DbLog" gemacht oder ein fhem restart ?
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 20:52:19
 umbenannt und restart


Gesendet von iPhone mit Tapatalk
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 01 November 2017, 20:54:18
aktuelle version wird in internals auch angezeigt


Gesendet von iPhone mit Tapatalk
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 01 November 2017, 21:33:16
Hab noch etwas übersehen und die Version verbessert in #5  nochmal hochgeladen.
Bitte wieder testen.
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 02 November 2017, 08:35:53
scheint erst einmal zu arbeiten  :). Besten Dank.
Kleiner Schönheitsfehler (oder Feature ::)), bei disconnect steht im state eine recht ausführliche Fehlermeldung
DBI connect('database=fhem;host=192.168.179.2;port=3307','fhem',...) failed: Can't connect to MySQL server on '192.168.179.2' (111) at ./FHEM/93_DbLog.pm line 1710
Ein einfacheres disconnected wäre meiner Ansicht besser und die Fehlermeldung in ein extra Reading wie z.B. lastConnectResult
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 02 November 2017, 09:34:55
Na das sieht doch gut aus. Den Check-In mache ich aber erst nach meinem Urlaub.

ZitatEin einfacheres disconnected wäre meiner Ansicht besser und die Fehlermeldung in ein extra Reading wie z.B. lastConnectResult

Modulweit werden eventuelle Fehlermitteilungen an state durchgereicht und abgebildet. Es gibt ja weit mehr Möglichkeiten als die von dir beschriebene disconnect-Meldung.
Prinzipiell möchte ich so wenig (Zwangs)-Readings wie möglich im DbLog erzeugen. Es ist ein Logging-Device und soll so performant wie möglich laufen.
Ich weiß, es geht um ms  ;).
Aber dennoch würde ich eine solche Änderung, die dann natürlich im gesamten Modul umzusetzen wäre, nur machen wenn es einen triftigen Grund dafür gäbe. Den sehe ich allerdings momentan nicht.
Vielleicht gibt es ja dazu noch weitere Meinungen....

Jetzt mach eich aber erstmal Pause ...  :)

LG
Heiko
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 02 November 2017, 10:57:33
ist jetzt ja auch nicht kritisch.
Erst mal gute Erholung und nochmals vielen Dank. 8)
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: DS_Starter am 18 November 2017, 21:00:01
Hallo pte, @all,

habe die V2.2.14 mit den in diesem Thread beschriebenen Änderungen soeben eingcheckt und ist morgen früh im Update.

LG,
Heiko
Titel: Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 18 November 2017, 21:20:21
danke, werde es mal testen. Die bisherigen Änderungen arbeiten zufriedenstellend.


Gesendet von iPhone mit Tapatalk
Titel: [Gelöst]:Antw:kein Ereignis bei DBLog->connected
Beitrag von: pte am 26 November 2017, 09:44:00
Habe es jetzt ca. 1 Woche in Benutzung. Scheint alles zu laufen. Danke noch mal.