Asynchrone Schaltbefehle

Benutzeravatar
mrberni
Administrator
Beiträge: 126
Registriert: Di 15. Mai 2018, 17:25
Wohnort: City 17
x 23
Kontaktdaten:

Asynchrone Schaltbefehle

Ungelesener Beitrag von mrberni » Di 22. Mai 2018, 10:08

Normalerweise wird beim Aufruf eines Schaltbefehls via URL erst eine Rückantwort geliefert wenn der Schaltbefehl abgeschlossen ist. Solange läuft der Request weiter und das aufrufende Gerät wartet auf eine Antwort. Beim Einsatz der HA-Bridge mit Alexa z. B. kann dies aber zu Problemen führen, wenn z. B. größere Gruppen oder Aktionen getriggert werden: Es dauert dann ein bisschen bis alle Befehle abgearbeitet sind und es eine Rückantwort gibt. Die HA-Bridge bzw. Alexa ist da aber etwas "pingelig" und erwartet relativ schnell eine Antwort, sonst gibt es eine (irreführende) Fehlermeldung.

Um dies zu umgehen, können die Befehle durch Anhängen von "&async=true" asynchron ausgeführt werden. Zum Beispiel so:
index.php?type=group&action=on&id=1&async=true
Es gibt dann sofort eine positive Rückantwort auf welche Alexa reagieren kann während die eigentlichen Schaltbefehle in einem extra Thread ausgeführt werden.

Gruß
1 x
We Do What We Must, Because We Can.

onkeldave
Beiträge: 78
Registriert: Mi 16. Mai 2018, 07:01
Wohnort: Bei HH
x 22

Re: Asynchrone Schaltbefehle

Ungelesener Beitrag von onkeldave » Do 31. Mai 2018, 20:20

Nabend!
Vielleicht wäre es möglich, diese Funktion auch für URL und SSH Geräte zu ermöglichen? Das Schalten von URL Geräten dauert manchmal eine ganze Weile...
0 x
Beelink Mini PC Celeron, 4GB Ram, 128GB SSD mit iOBroker, FB.Switch, LMS SqueezeBox Server (Debian Linux).
Integrierte SmartHome Geräte: 433MHz Steckdosen über FB.Switch, div. WLAN Schalter/Steckdosen verschiedener Hersteller (geflashed mitTasmota), Shelly, Homematic IP, IKEA Tradfri Lampen und Rollo, AVM Steckdosen und Thermostate, KODI, SqueezeBox, WORX Landroid Roboter
Apple Homekit Integration aller Geräte und div. Statusmeldungen per Telegram Messenger über iOBroker.

Benutzeravatar
mrberni
Administrator
Beiträge: 126
Registriert: Di 15. Mai 2018, 17:25
Wohnort: City 17
x 23
Kontaktdaten:

Re: Asynchrone Schaltbefehle

Ungelesener Beitrag von mrberni » Do 31. Mai 2018, 21:50

Hi,

das sollte für jegliche Schaltvorgänge funktionieren. Gruppen, Aktionen, Geräte. Gerätetyp sollte da keine Rolle spielen...

Gruß
0 x
We Do What We Must, Because We Can.

onkeldave
Beiträge: 78
Registriert: Mi 16. Mai 2018, 07:01
Wohnort: Bei HH
x 22

Re: Asynchrone Schaltbefehle

Ungelesener Beitrag von onkeldave » Fr 1. Jun 2018, 07:02

Ja, das ist klar, aber async=true kann ich ja nur dahinter schreiben, wenn ich das Gerät per URL aus dem Browser Aufrufe. Wie ist es, wenn ich ein Gerät direkt aus FB.Switch schalte? Wie bekomme ich es da mit eingebaut? Ich könnte natürlich ein neues Gerät anlegen, das ein vorhandenes per URL Aufruf startet, aber dann werden es wieder mehr „Dummy“ Geräte.
0 x
Beelink Mini PC Celeron, 4GB Ram, 128GB SSD mit iOBroker, FB.Switch, LMS SqueezeBox Server (Debian Linux).
Integrierte SmartHome Geräte: 433MHz Steckdosen über FB.Switch, div. WLAN Schalter/Steckdosen verschiedener Hersteller (geflashed mitTasmota), Shelly, Homematic IP, IKEA Tradfri Lampen und Rollo, AVM Steckdosen und Thermostate, KODI, SqueezeBox, WORX Landroid Roboter
Apple Homekit Integration aller Geräte und div. Statusmeldungen per Telegram Messenger über iOBroker.

Benutzeravatar
mrberni
Administrator
Beiträge: 126
Registriert: Di 15. Mai 2018, 17:25
Wohnort: City 17
x 23
Kontaktdaten:

Re: Asynchrone Schaltbefehle

Ungelesener Beitrag von mrberni » Fr 1. Jun 2018, 09:31

onkeldave hat geschrieben:
Fr 1. Jun 2018, 07:02
Ja, das ist klar, aber async=true kann ich ja nur dahinter schreiben, wenn ich das Gerät per URL aus dem Browser Aufrufe. Wie ist es, wenn ich ein Gerät direkt aus FB.Switch schalte? Wie bekomme ich es da mit eingebaut? Ich könnte natürlich ein neues Gerät anlegen, das ein vorhandenes per URL Aufruf startet, aber dann werden es wieder mehr „Dummy“ Geräte.
Ah, jetzt verstehe ich. :)
Stimmt das wäre ein sinnvolles Feature-Request.

Gruß
0 x
We Do What We Must, Because We Can.

Antworten