PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?

Begonnen von Per, 14 April 2017, 10:26:04

Vorheriges Thema - Nächstes Thema

Per

Nachdem ich erfolglos auf der Suche war, wie ich im Modus lan-ping die Intervalle ohne defmod/modify ändern kann, setze ich diese Frage mal hier rein.
Kennt jemand einen Trick dafür?

CoolTux

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

Per

Habe mir das Modul mal angepasst und werde es dem Autor zur Prüfung vorlegen.

Per

Irgendwie ist das untergegangen...

Meine Änderung haben funktioniert, natürlich nur bis zum nächsten Update :(.

Genutzt hatte ich attr.
Nach einem Gespräch mit dem Modulautor hatte dieser eine bessere Idee: set!
Vorteil: wenn es nur temporär gebraucht wird *), erzeugt dieses keine Änderung in der Config.
Nachteil: ich (!) kann es nicht selbst programmieren ;).

Bestände der Bedarf an dieser Funktionalität?

*) zu bestimmten Urzeiten oder bei bestimmten Umständen (offene Tür) möchte ich eine höhere Ping-Rate haben als zu "normalen" Bedingungen.
defmod kann aber keine Regex und die IP müsste ich auch einzeln vergeben. Mit attr oder set kann ich einen ganzen Schwung (".*handy") umstellen.

Markus Bloch

#4
Hallo Per,

ich habe das mal testweise bei mir implementiert. Bitte probier mal die angehangene Version aus, ob dies bei Dir wie gewünscht funktioniert:

set <NAME> overrideInterval <Sekunden>
set <NAME> clearOverride

Sollte das so richtig funktionieren, würde ich das einchecken.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Per

#5
Kurze Rückmeldung: prinzipiell funktioniert es.
Aber: die Zeiten sind spürbar größer als angegeben (8s statt 2, 30 statt 20, 75 statt 60...) und bei Änderung des Modus sind bei kurzen Zeiten mehrere Zyklen notwendig, bis eine Änderung akzeptiert wird, bei langen Zeiten reicht einer. Ist aber nicht die "Intervall"-Zeit.

Markus Bloch

Hallo Per,

Das Intervall beschreibt nicht die Zeit zwischen Start eines Checks und Start eines nächsten Checks, sondern die Zeit von Ende eines Checks bis zum Start des nächsten Checks.

Wenn man einen set overrideInterval ausführt wird das Interval erst nach der Ausführung des kommenden Checks angewandt. Ich bin mir unsicher wie man mit dem nächsten Check umgehen sollte. Sollte man den geplanten Startzeitpunkt canceln und einen Check in dem übersteuerten Interval schedulen? Oder evtl. nur wenn, der nächste Check nicht innerhalb des übersteuerten Intervals starten würde, dann den Check neu schedulen auf das übersteuerte Interval? Was meint ihr?

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Per

Zitat von: Markus Bloch am 12 Januar 2018, 09:52:52Wenn man einen set overrideInterval ausführt wird das Interval erst nach der Ausführung des kommenden Checks angewandt.
Das habe ich natürlich berücksichtigt.
Worauf ich nicht geachtet habe, ist, ob es Unterschiede zwischen den Zeiten bei erfolgreichen und erfolglosen Ping gibt.

Markus Bloch

Eine Unterscheidung zwischen Anwesend/Abwesend wird bei einem Override nicht mehr gemacht. Das Override hat absoluten Vorrang und wird auch bei Statusänderungen weiterhin verwendet, solange bis das Override mit set <NAME> clearOverride entfernt wird.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Per

Habe einfach die Zeiten bei Override etwas kleiner eingetragen, dann passt das für mich. Läuft jetzt die ganze Zeit "produktiv" ohne Probleme.

Markus Bloch

Hallo Per,

ich habe die Änderungen soeben offiziell eingecheckt. Steht ab morgen via update zur Verfügung.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)