[AMADNG] AMAD 4.2 The Next Generation of AMAD with Tasker Support

Begonnen von CoolTux, 25 Mai 2017, 18:24:49

Vorheriges Thema - Nächstes Thema

ManOki

Ja, das klappt auch soweit, da der Callmonitor sofort den Status ändert und damit auch das DOIF schaltet und den Befehl nicht wiederholt. Aber die laufende Ansage "Vorname Nachname ruft an" kann ich eben nicht unterbrechen. Wie geschrieben, im schlechtesten Fall hebe ich genau in dem Moment ab, nachdem der ttsMsg Befehl an das AMADDevice geschickt wurde und das Gerät noch 1-2 Sekunden braucht, um die Sprachnachricht zu erzeugen, um sie dann auszugeben. Dann hört der Anrufer die komplette Ansage mit, da in der Zeit nach dem Abheben auch schon die Telefonverbindung einwandfrei hergestellt wurde.

WAF=0  ::)

CoolTux

Die non plus ultra extra Saugstark Antwort habe ich leider nicht.
Einmal auf den Weg gebracht spielt er die TTS komplett ab, in der Zeit kann man nichts weiter geben an das Tablet, bzw wird dies nach beenden der Ansage dann gemacht.
Das liegt daran weil alle Befehle in Reihe hintereinander abgearbeitet werden und bis ein neuer Befehl dran kommt verbleibt dieser in einer Queue.


Grüße
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

Esjay

Da bleibt dann nur die eher unschöne Möglichkeit die einzelnen Wörter in Befehle zu trennen, und daraus ein verrücktes Konstrukt von IF etc. zu machen. Somit könnte man es zumindest auf das letzte erzeugte Wort beschränken.

Hebt den WAF vll um 1-2 Punkte.

Grüße

ManOki

Schade, sowas habe ich mir schon fast gedacht. Ich vermute, das Empfangen von Befehlen und das Befüllen/Abarbeiten der Queue ist synchron, sprich, wenn die Queue abgearbeitet wird, ist es für das AMADDevice nicht möglich, Befehle zu empfangen.

Das monster-DOIF mit jedem Wort einzeln schaue ich mir mal an, vllt finde ich einen Weg.

CoolTux

Korrekt. Das liegt an der Art und Weise wie Automagic arbeitet.
Dazu muss man aber sagen das Automagic nie für so eine komplexe und intensive Steuerung entwickelt wurde. Der Entwickler selbst war mehr wie erstaunt als er die umfangreichen Flows gesehen hat.
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

Schlimbo

Hi Leon,
Zitat von: CoolTux am 20 September 2017, 11:45:20
Einmal auf den Weg gebracht spielt er die TTS komplett ab, in der Zeit kann man nichts weiter geben an das Tablet, bzw wird dies nach beenden der Ansage dann gemacht.
Das liegt daran weil alle Befehle in Reihe hintereinander abgearbeitet werden und bis ein neuer Befehl dran kommt verbleibt dieser in einer Queue.
Da gäbe es schön eine Möglichkeit:
Mann könnte einen neuen Flow anlegen, denn es können auch mehrere Flows parallel laufen.
Der Flow müsste auch auf "HTTP Request: /fhem-amad/setCommands/*" triggern.
Dann eine Abfrage auf: Expression: "stopTTS"
und bei true die Aktion "Stoppe Action Sprachausgabe" ausführung.

Du müsste dann nur noch den set Befehl "stopTTS" ins Modul einbauen.
Was hältst du davon?

Gruß Schlimbo

CoolTux

Hast Du das einmal komplett testen können. Bin mir gerade unsicher ob der http request parallel Verarbeitung zu lässt.
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

Schlimbo

Ja, habe ich ohne das "Expression" getestet und dann einfach ein "set screenBrightness" zum Abbrechen von TTS geschickt.

CoolTux

Die Idee ist also richtig und gut für diesen einen Fall.
Schlage also vor der User baut den Flow ein und nimmt als set Befehl Intent und Baur einen entsprechenden Broadcast Trigger. Vielleicht kannst Du ihm da bisschen unter die Arme greifen.



Grüße
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

Schlimbo

Das funktioniert so leider auch nicht, da das Intent ja auch im setCommand Flow bearbeitet wird und dadurch auch erst nach der TTS Nachricht ausgeführt wird.
Aber hier ein Workaround:
Ich trigger nicht auf das Broadcast sondern weiterhin auf http request,
dann als Expression
(request_path == "/fhem-amad/setCommands/sendIntent") && (param_action == "automagic.stopTTS")
zum Abbrechen von TTS kann dann folgendes in FHEM ausgeführt werden:
set $AMADDEVICE sendIntent automagic.stopTTS

@ManOki: Möchtest du das mal Testen?

BuBu79

Hi,

erstmal dickes Lob, die Installation des Moduls und die Einrichtung ist Top, dass schafft sogar ein Noob wie ich  :o

Nun zu meiner Problem:

Ich möchte gerne eine Nachtabsenkung der Lautstärke realisieren. Soweit klappt der Befehl zB.: "set Tablet volume 5" auch und wird so übernommen. Löse ich nun aber eine ttsMsg über das Modul aus, wird nach dem beenden die Lautstärke des Tablet´s wieder auf 15 gesetzt.

Hab ich da einen Denkfehler?

Gruß Jan

Esjay

Zitat von: CoolTux am 06 September 2017, 22:02:02
Update ab morgen Früh.
setTtsMsgVol als neues Attribut für die Lautstärkenanhebung vor einer Sprachnachricht und anschließendem Volume wiederherstellen
Zitat von: BuBu79 am 22 September 2017, 11:22:22
Hi,

erstmal dickes Lob, die Installation des Moduls und die Einrichtung ist Top, dass schafft sogar ein Noob wie ich  :o

Nun zu meiner Problem:

Ich möchte gerne eine Nachtabsenkung der Lautstärke realisieren. Soweit klappt der Befehl zB.: "set Tablet volume 5" auch und wird so übernommen. Löse ich nun aber eine ttsMsg über das Modul aus, wird nach dem beenden die Lautstärke des Tablet´s wieder auf 15 gesetzt.

Hab ich da einen Denkfehler?

Gruß Jan

Könnte das evtl. die Lösung deines Problems sein?

ManOki

Zitat von: Schlimbo am 21 September 2017, 19:39:35
@ManOki: Möchtest du das mal Testen?

Ja, kann ich gerne testen. Muss aber mal schauen, wann ich dazu komme.   ::)

Wenn ich das also richtig verstehe, wird für den "Langzeit-Task" (in diesem Fall ttsMsg) ein eigener Flow angelegt werden, der dann durch den bisherigen Standard-Flow abgebrochen wird. Entweder baut man also für jeden solchen Task einen eigenen Flow und kann diesen dann gezielt abbrechen ODER man baut einen zweiten "Super-Flow", der dann alle "Langzeit-Tasks" sequentiell durchführen kann und man nur noch den aktuell durchgeführen Langzeit-Task (und ggf. alle nachfolgenden) abbricht.

Wieviele solche "Langzeit-Task" Commands gibt es denn in AMAD? Ich muss zugeben, ich habe noch nicht alle Befehle durchprobiert. :) Bisher ist es ja auch nicht möglich, mehrere Befehle parallel durchführen zu lassen, weder die normalen noch die "Langzeit-Tasks". Ich würde mich daher für die 2. Variante entscheiden, aber ich bin natürlich kein AMAD-Entwickler/der Maßstab aller Dinge.

Viele Grüße
ManOki

BuBu79

Zitat von: Esjay am 22 September 2017, 11:28:06
Könnte das evtl. die Lösung deines Problems sein?

Hatte ich schon erwähnt das ich ein Noob in solchen Sachen bin  ;D

Manchmal hat man die Lösung direkt vor der Nase... Besten Dank für die schnelle Hilfe!*Top

Gruß Jan

CoolTux

Zitat von: BuBu79 am 22 September 2017, 11:22:22
Hi,

erstmal dickes Lob, die Installation des Moduls und die Einrichtung ist Top, dass schafft sogar ein Noob wie ich  :o

Nun zu meiner Problem:

Ich möchte gerne eine Nachtabsenkung der Lautstärke realisieren. Soweit klappt der Befehl zB.: "set Tablet volume 5" auch und wird so übernommen. Löse ich nun aber eine ttsMsg über das Modul aus, wird nach dem beenden die Lautstärke des Tablet´s wieder auf 15 gesetzt.

Hab ich da einen Denkfehler?

Gruß Jan

Normalerweise sollte die Lautstärke sich nicht verstellen, es sei denn du hast das irgendwie mit gegeben im ttsMsg.
Mach mal bitte ein list vom Device.


Grüße
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