andFHEM/Tasker - Kommando-Wiederholung funktioniert nicht

Begonnen von vbs, 06 November 2014, 21:21:09

Vorheriges Thema - Nächstes Thema

vbs

Ich hab ein Problem mit dem Tasker-Plugin von andFHEM. Und zwar kommen manche Befehle, die ich in Tasker absende, (netzwerkbedingt) nicht beim ersten Versuch an. andFHEM bietet ja dafür die  Option "Kommando Wiederholungen" an, die bei Problemen später erneut versucht, den Befehl zu senden.
Die Option funktioniert, wenn ich direkt aus andFHEM (ohne Tasker) einen Befehl absende. Jedoch werden scheinbar Befehle, die ich aus Tasker heraus absende nicht wiederholt.

Mein Test sieht folgendermaßen aus:

  • Flugmodus am Handy einschalten (also Netzwek ausschalten)
  • in Tasker einen FHEM-Befehl absenden ("set wz_lightSpot on")
  • (der Befehl kommt natürlich wegen Flugmodus nicht sofort an)
  • 60 Sekunden (o.ä.) warten
  • Flugmodus deaktivieren
  • Warten bis die nächste Kommando-Wiederholung in andFHEM greifen sollte. Dann sollte der Befehl doch noch ausgeführt werden

Wenn ich einen ähnlichen Test direkt mit andFHEM mache, dann klappt das alles wie erwartet. Über Tasker jedoch nicht. Ist das ein Bug? Oder muss man noch woanders etwas einstellen? Oder mach ich etwas falsch? Danke für Hilfe schonmal!

Matthias

Hi,

ich habe mal versucht das nachzustellen. Analog zu dir habe ich den Flugzeugmodus eingeschaltet, einen Task für Kommando senden angelegt und den Task abgeschickt. Im Log sieht man dann nett, dass er sich mit dem Host nicht verbinden kann und anfängt Kommandos in die Warteschlange einzureihen. Soweit so gut. Bevor er es bei mir das dritte mal versucht hat habe ich den Flugzeugmodus abgeschaltet und gewartet was passiert.
Naja was soll ich sagen - das Licht ging automatisch an.

So woran könnte das nun liegen?

Was ich überhaupt nicht verstehe ist dass es in der App geht und über Tasker nicht - das ist exakt der selbe Code, der das queuing übernimmt. Es muss analog zueinander funktionieren.

Standardmäßig sind 3 Retries aktiv. Das kannst du in den Einstellungen auch selber einstellen.

0. Versuch: 0s
1. Versuch: 3s
2. Versuch: 9s
3. Versuch: 27s

Danach gibt andFHEM auf, außer es sind eben noch mehr Wiederholungen eingestellt. Dann geht es exponentiell weiter. Ich schreibe jetzt aber nicht auf wie, dafür gibt es einen Rechner in den Einstellungen.

Viele Grüße,
Matthias

vbs

Hi Matthias,

danke für die Antwort. Also zunächst: Ich hab das jetzt hier nochmal durchgetestet und der Test, wie er oben steht, funktioniert jetzt bei mir auch. Sorry, ich muss da letztes Mal irgendwas verbockt haben beim Testen :( Sorry für die Verschwendung deiner Zeit...
Aber, eigentlich kam das ganze Thema bei mir hoch, weil ich in der Praxis den Befehl "{onMobilePhoneEvent("home")}" (eigener Perl-Befehl) per Tasker absetze. Und wenn ich mich nicht schon wieder irre, dann klappen die Wiederholungen mit diesem Befehl tatsächlich nicht. Ich habe jetzt in einem anderen Thread aus 2013 gelesen, dass die Wiederholungen nur bei set- und attr-Befehlen greifen. Ist das so und ist das die Erklärung, warum es bei einem onMobilePhone-Event wohl wirklich nicht funktioniert?

Wenn ja, kann man das irgendwie umstellen, oder sollte ich mich dann tatsächlich auf set- und attr-Befehle beschränken?

Nochmals sorry für die Konfusion :(

Matthias

Hi,

nein, die Kommando Wiederholung greift bei allen Kommandos - das ist überall der selbe Code.

Matthias

vbs

...danke für die Antwort. Also ich hab das jetzt noch viermal hin- und her getestet: einen Task in Tasker der den Befehl "set myDummy test" aufruft und einen Task der eine Perl-Funktion aufruft "{andfhemTest()}".
Also es ist bei mir definitv so, dass bei dem PerlCode-Task die Wiederholungen nicht funktionieren. Bei dem set-Task klappt es ohne Probleme.