AndFhem und Tasker nicht zuverlässig

Begonnen von ChrisW, 04 November 2013, 08:37:29

Vorheriges Thema - Nächstes Thema

ChrisW

Hallo,
erstmal mus sich sagen ich liebe AndFhem ;)
Und jetzt mit Tasker noch viel mehr endlich habe ich eine Super Anwesenheits erfassung ( habe ich gedacht ... ).

Ich überwache ob ich in meinem Wlan eingebucht bin und setze ein "set anwesenheit present" mit dem tasker andfhem plugin..
Beim Verlassen des Wlan Netzes setze ich ein "set anwesenheit absent" das klappt MEIST auch ...

Aber leider schant andfhem öfters den Befehl nicht abzusenden wieso auch immer.

Wünschenswert wäre eine art "Warteschlange" wenn der Befehl nicht in Fhem ankommt.

Der switch von WLAN auf Mobilfunk dauert halt manchmal etwas oder ist nicht ausreichend. Somit müsste andfhem diesen Befehl Speichern und nochmal abschicken.


Wünschenswert wäre also eine Prüfung oder mehrfaches absenden an fhem bis es auch ankommt.

Ich möchte in Zukunft auch sehr wichtige dinge darüber schalten und da wäre es wirklich wichtig das er das auch macht was ich sage ;)


Musste gerade 5x neu abschicken im Fhem Log:
2013.11.04 08:40:12 1: FHEMWEB SSL/HTTPS error:

Da hat sich andfhem auf meinem Handy mit HTTPS wohl quer gestellt .. sowas wäre dann schön das andfhem es imme rund immer wieder versucht abzuschicken ;)
Raspberry PI3 mit allem möglichen.

Matthias

Hi,

interessant dass die Fehlerquote bei dir so hoch liegt. Soweit ich weiß heißt die Log-Meldung nur, dass das Zertifikat für https nicht valide ist. Das dürfte bei jedem Kommando im Log stehen (korrigiert mich wenn ich das falsch interpretiere). Die Idee einer Command Queue nehme ich mal auf. Das dürfte allerdings nur mit erheblichem Mehraufwand zu implementieren sein, weil es dazu irgendeinen Taktgeber braucht, der die Kommandos auch immer wieder sendet. Der Taktgeber müsste ständig im Hintergrund laufen (was den Speicherverbrauch wieder mal massiv treibt). Ich werde mal sehen was sich machen lässt.

Zugehöriger Github Issue: #517

Viele Grüße,
Matthias

ChrisW

Cool Danke kann man nicht einfach nach absenden das Ergebnis Prüfen ? Entweder die Ausgabe wenn es eine gibt oder abfragen des Status mit dem was gesetzt wurde ?

naja das mit https habe ich auch gedacht unwichtig .. aber das steht im Log wenn mein FHEM nicht erreichbar ist bzw nicht Verbindet..
Hab dazu mal extra was aufgemacht ist ja nicht unbedingt andfhem problem :D
Raspberry PI3 mit allem möglichen.

Matthias

Hi,

klar, man bekommt schon mit ob die Nachricht durch ist. Du willst aber normalerweise im Fehlerfall nicht sofort nochmal senden. Dass keine Verbindung zustande gekommen ist hat ja normalerweise einen Grund (schlechtes WLAN, kein Mobilfunk-Netz, Server down, o.ä.). Deswegen sollte man durchaus hier mit Zeitverzögerung senden - im Optimalfall in ansteigenden Zeitspannen (z.B. einmal direkt nochmal probieren, dann nach 10 Sekunden, dann nach 1 Minute usw.). Das beugt gleichzeitig der Überlastung vom Server vor.

Viele Grüße,
Matthias

ChrisW

Okay ich sehe du weisst was du da machst :D

Dann hoffe ich das sich das irgendwie verbauen lässt. Erhöht ja extrem die Zuverlässigkeit so das man auch wichtige dinge darüber schalten kann.

Zeitgleich arbeite ich mal an meinem https Problem wobei man da normal nix falsch machen kann *G*
Raspberry PI3 mit allem möglichen.

Icebear

moin
lustig wirds erst wenn du bei nem 2 stundeninterval bist und abend plötzlich die wohnzimmerbeleuchtung aus und die waschmaschine angeht <g>

und wech
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

AHA1805

Versuch es mal mit der PRESENCE Funktion in fhem, ist zwar ein anderer Ansatz.
Da ich nicht genau weiß was du mit dem Status anfangen willst.

Wenn du eine fritzbox hast, kannst sogar direkt den Status von der FB auslesen.

PS: andFHEM finde ich auch super :-)

Gesendet von Unterwegs mit Tapatalk 4

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

ChrisW

Nein das taugt leider nichts. 1 Handy ging es zu 90 % andere nur zu 30% habe alle Apps versucht die WLAN anlassen sollen nichts ...
Die FHEM auf fritzbox und Status lösung ist sicher die beste ABER jetzt mit Tasker klappt es wunderbar.

Lasse Status Setzen und prüfe das WLANNETZ nochmal alle 30 Minuten. Da mein FHEM öfters den Befehl nicht mitbekommt Somit setzt FHEM alle 30 Minuten ein befehl ab.
Traffic / Strom ist dabei jedoch so gering das es eine Super Lösung ist die nun zu 100% arbeitet !!!!

Leider ist das mit Tasker und dem wiederhohlen etwas kompliziert :( Aber es klappt.


Raspberry PI3 mit allem möglichen.

AHA1805

Hallo Chris

ich hab den Tasker auch in Verwendung.
Wäre es möglich, dass du mir das Tasker Script zukommen läßt? :-)

Gruß Hannes

Gesendet von Unterwegs mit Tapatalk 4

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

Shoddy

Hi,

lasse meine Anwesenheit genau wie Du von Tasker setzen (WLAN rein=Anwesend - WLAN raus=Abwesend) und habe damit komischerweise absolut kein Problem. Hatte vorher auch Lösungen, in denen die Anwesenheit des Handys im WLAN durch fhem geprüft wird, aber mit Tasker finde ich die Lösung einfach eleganter (ich erwarte von meinen gästen ja auch, dass sie "hallo" sagen und sich nicht einfach still in die ecke hocken und "ich bin da schreien", wenn ich alle 30 minuten frage ob jemand da ist - wenn sie wieder gehen sollen sie sich dann auch bitte verabschieden und nciht einfach abhauen ;-) ).

vielleicht könntest du im tasker dann einfach nochmal eine art "retry" einbauen? meinetwegen noch 2 neue versuche den status auf abwesend zu setzen nach jeweils 5 minuten? so mache ich es mit meinen verbrauchern, wenn ich das haus verlasse, da man bei FS20 leider keine 100% erfolgsquote beim senden/empfangen der befehle hat. Also Handy Abwesend -> alles aus -> 5 Minuten später -> nochmal alles aus. bei dir dann: wlan raus -> handy abwesend -> 5 min später -> handy abwesend -> 5 min später -> handy abwesend.

wäre dann zwar keine richtige warteschlange, aber erhöht vllt die erfolgschancen?

und falls matthias hier nochmal reinschaut:

ich hab da zufällig auch ein kleines problem mit tasker + andfhem ;-)

lasse via gcm diverse statusupdates ans handy senden, die dann via tasker ereignisse auslösen sollen (bsp: "handy abwesend" + "fenster auf" setzt einen alarmdummy auf "on". wenn tasker mitbekommt, dass der alarmdummy "on" ist, soll er eigentlich alarm machen). leider wird andfhem irgendwann vom handy beendet, sodass das statusupdate dann nciht mehr bei tasker ankommt. kennst du (oder jemand anderes) eine möglichkeit, dass andfhem im hintergrund weiterläuft (ich weiß, frisst akku, speicher, etc., ist mir aber wichtig)?

Grüße!
FHEM auf Raspi 3
FS20, FHT, HMS

Matthias

@Shoddy:
Hm ich glaube nicht dass der Ablauf so ist :-). Kommen denn im Fall, in dem du andFHEM für beendet erklärst, noch an? Einfach mal die App dann wieder aufmachen und schauen ob der interne Status aktualisiert wurde. Wenn nicht, dann ist das wirklich seltsam, weil via GCM eigentlich die App on-demand immer gestartet werden sollte (das ist ja eigentlich gerade der Vorteil ...). Tasker kann maximal pollen, d.h. in einem Zeitintervall regelmäßig abfragen ob sich etwas geändert hat. So hatte ich zumindest die Schnittstelle im Kopf...

Viele Grüße,
Matthias

Shoddy

Ach Mist, Du hast recht! ;)

Dann muss ich wohl nochmal mit Tasker schimpfen. Viel einfacher wäre es natürlich, wenn Du zufällig eine "Alarmfunktion" einbauen würdest (Pop-Up o.ä. nach Statusänderung) ;-) Aber so dringend ist es auch nicht, kann ja erstmal das Abfrageintervall von Tasker kürzer einstellen (geht ja hoffentlich irgendwo).

Grüße und schönes Wochenende (auch wenns sau kalt ist!)...
FHEM auf Raspi 3
FS20, FHT, HMS

Matthias

Tag zusammen,

zum Thema Command Queue: Der Quelltext steht so weit, in der nächsten Version baue ich es endgültig ein. Vielleicht noch ein, zwei Worte zur Funktionsweise ... Es wird maximal nach dem Fehlschlag des Kommandos (nur bei Timeout bzw. einem Fehler, sich mit dem Host zu verbinden) maximal 4 Mal versucht das Kommando erneut zu senden. Allerdings gilt das _nur_ für "set" und "attr" Kommandos. Alle anderen Kommandos werden weiterhin synchron ausgeführt.

Die mehrfache Ausführung läuft verzögert ab. Ich dachte mir eine 3er Potenz ist dazu ganz brauchbar. Die Intervalle für die Versuche sind demnach:
0.ter Versuch: Synchron, keine Verzögerung
1.ter Versuch: 3^0 = 1 Sekunde
2.ter Versuch: 3^1 = 3 Sekunden
3.ter Versuch: 3^2 = 9 Sekunden
4.ter Versuch: 3^3 = 27 Sekunden

Danach ist Schluss, keine weitere Ausführung wird versucht.

Viele Grüße,
Matthias

ChrisW

Super :) Wird man die Zeit noch anpassen können ? Bei mir dauern diese https Fehler da wo FHEM blockiert ist meist um die 1-3 Minuten :D
Naja hab ja derzeit die Tasker Lösung das sent zwar alle 30 Minuten etwas aber das passt schon ;) Habe ja FLAT und soviel verbraucht das nicht.
Werde mal schauen wie ich da etwas Exportieren kann.
Raspberry PI3 mit allem möglichen.

Matthias

Hi,
ich könnte die Anzahl der Versuche noch in die Einstellungen packen ... irgendwann wird das Intervall allerdings unrealistisch. 3^4 wären 81 Sekunden, das wäre noch ok. Anschließend sind es dann schon 243s. Naja, ich packe es mal in die Issues :-).
Matthias