Autor Thema: PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?  (Gelesen 500 mal)

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
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?

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 12722
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #1 am: 14 April 2017, 10:28:42 »
Geht nicht.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #2 am: 20 Mai 2017, 09:47:58 »
Habe mir das Modul mal angepasst und werde es dem Autor zur Prüfung vorlegen.

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #3 am: 08 Januar 2018, 12:37:39 »
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.

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3293
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #4 am: 09 Januar 2018, 22:28:18 »
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
« Letzte Änderung: 09 Januar 2018, 22:30:43 von Markus Bloch »
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #5 am: 10 Januar 2018, 11:34:26 »
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.
« Letzte Änderung: 10 Januar 2018, 22:31:44 von Per »

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3293
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #6 am: 12 Januar 2018, 09:52:52 »
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)

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #7 am: 12 Januar 2018, 11:53:13 »
Wenn 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.

Offline Markus Bloch

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 3293
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #8 am: 12 Januar 2018, 17:40:36 »
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)

Offline Per

  • Hero Member
  • *****
  • Beiträge: 1101
Antw:PRESENCE-Modul - lan-ping - Intervalle ändern ohne defmod?
« Antwort #9 am: 16 Januar 2018, 12:19:04 »
Habe einfach die Zeiten bei Override etwas kleiner eingetragen, dann passt das für mich. Läuft jetzt die ganze Zeit "produktiv" ohne Probleme.

 

decade-submarginal