NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
@qqolli sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@Pittini An Deiner Snips-Lösung wäre ich weiterhin sehr interessiert. Hättest Du evtl. mehr Material zum einarbeiten?
Hilft Dir doch alles nix mehr, Du kannst Dich weder anmelden noch was ändern, bei mir läufts halt "noch" weil ich vorher schon alles eingerichtet hatte. Aber vielleicht hilft Dir das da, hab ich die Tage entdeckt, aber noch keinerlei Tests gemacht: https://forum.iobroker.net/topic/34343/sepia-open-assistant-diy-sprachassistent-iobroker
-
@Pittini mal so nebenbei zwei Fragen, auch wenn du ne Abneigung zur Alexa hast
hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.
- hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?
- daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen
-
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.
Seltsam, an diesen Funktionen hat sich absolut nix geändert, die Textübergabe an Alexa is absolut identisch zur alten Version.
hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?
Keine Ahnung, hat imho nix mit dem Skript zu tun
daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen
Machbar wenn Du mir sagen kannst wie der Befehl aussehen muss um ne Lautstärke an Alexa zu übergeben. Aktuell sieht der Beffehl so aus:
setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg)
Wo kommt da die Lautstärke hin?
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
die Textübergabe an Alexa is absolut identisch zur alten Version.
die gab es im alten script doch noch gar nicht, Meldungen wie ...Raum-xy nicht gelüftet...
Einzelne Ansagen, ob was geöffnet/geschlossen wurde, oder etwas seit x Minuten offen steht, funktioniert ja, da es nur 1 Commands.announcement ausgegeben wird.
Bei Raum xy nicht gelüftet... funktioniert es auch, solange nur ein Raum ausgegeben wird, sind es mehrere Räume, werden diese nacheinander ausgegeben, Signalton, gefolgt von der MSG, danach (ab hier ganz leise) erneut Signalton gefolgt von der nächsten MSG...usw
ich hätte da erwartet, einmalig Signalton, dann alle Meldungen nacheinander
Warum die Lautstärke aber unterschiedlich ist, in dem Fall, keine Ahnung@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wo kommt da die Lautstärke hin?
wenn ich das wüsste
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wo kommt da die Lautstärke hin?
So setze ich für einen Dot ein Volume, vielleicht hilft das.
setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/*volume*/, 80);
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
So setze ich für einen Dot ein Volume, vielleicht hilft das.
setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/volume/, 80);Das ist für Musik (Player.volume), oder MultiroomMusik Gruppen.
Als was wird denn die Ansage ausgegeben ?
speak
ssml
oder ankündigung ?Wenn darüber, dann ist es
alexa2.0.Echo-Devices.xxx.Commands.speak-volume
oder man setzt vor dem eigentlichen Text die Lautstärke als
Zahl;Text...
https://github.com/Apollon77/ioBroker.alexa2
Nach der eigentlichen Ansage wird die Lautstärke dann automatisch wieder auf die zuvor eingestellte Lautstärke gesetzt.
Also diese gesetzte Lautstärke ist dann nur für diese Ansage
Edit: habe es selbst gefunden, also als Ankündigung
-
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
... sind es mehrere Räume, werden diese nacheinander ausgegeben, Signalton, gefolgt von der MSG, danach (ab hier ganz leise) erneut Signalton gefolgt von der nächsten MSG...usw
ich hätte da erwartet, einmalig Signalton, dann alle Meldungen nacheinander
Warum die Lautstärke aber unterschiedlich ist, in dem Fall, keine AhnungDie mehrfachen Signaltöne im announcement kommen von Semikolon-separierten Texten, also z.B.: "Hallo Text1; Hallo Text2".
Mir ist es aber nicht gelungen, durch irgendwelche Kombinationen die Lautstärke zu verändern, ich habe aber auch kein Beispiel einer Textausgabe des Skripts(keine Sensoren), könntest du mal einen kompletten solchen Text posten?@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wo kommt da die Lautstärke hin?
wenn ich das wüsste
Die Lautstärke kann man durch Voranstellen in der Message einstellen, sie muss durch Semikolon separiert werden: "25; Hallo Test" setzt die Lautstärke nur für diesen Text, ansonsten gilt weiterhin die mit speak-volume festgelegte Lautstärke, sehr praktisch. Ein Setzen der Lautstärke mitten im Text funktioniert nicht, dann gibt Alexa die Zahlen aus
-
@dslraser das weiss ich schon, dass der speak DP dafür zu nehmen ist und im blockly kann man in der Nachricht direkt die Lautstärke mitgeben.
Jedoch
In dem Fall als Ankündigung ...Commands.announcement
ich dachte als Variable im Script hinterlegen, so in der Art wie beim Wetterwarnung-Push-Script, nur ist dieses Script anders aufgebaut.
so in der Art, jedoch weiss ich nicht wie der Befehl dann aussehen soll/* Konfiguration Sprachausgabe über Alexa /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */ var idAlexaSerial = ['']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y'] var alexaVolumen = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
@fastfoot hier mal ein Beispiel, SprachAusgabe erfolgt ohne Datum und Uhrzeit
javascript.0 (976) script.js.Benachrichtigung.Fenster_Tür-Status: TempMessageLog=14.07.2020 16:27:32: Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.
-
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
In dem Fall als Ankündigung ...Commands.announcement
da geht das auch, kannst Du probieren...
-
@dslraser und wo soll ich das im Script eintragen?
if (UseAlexa) { if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg); };
-
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
und wo soll ich das im Script eintragen?
dafür kenne ich das Script zu wenig, das wird Dir @Pittini schon sagen...
Mir ging es nur darum, das man auch bei Ankündigungen die Lautstärke über den selben Weg mitgeben kannst, wie z.B. bei speak.und wenn Du keine Ankündigung willst (also ohne das DingDong), dann mach doch da mal speak draus.
if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.speak"/*speak*/, msg);
-
@dslraser wenn ich die Zeile änder und "Commands.speak" verwende funktioniert die Ausgabe nicht mehr richtig, dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.
Jetzt hab ich die Originalzeile wieder eingefügt und nun kamen alle drei Räume mit der gleichen Lautstärke,
irgendwie sehr seltsam @Pittini
zum Test, hab ich das script nun paar mal neu gestartet um die Ausgabe zu testen, Lautstärke blieb konstant, jedoch ist mir nun aufgefallen- Räume kommen immer in unterschiedlicher Reihenfolge
- Teilweise fehlen Raum Nachrichten, in der Logausgabe sind sie aber zu sehen
hängt das vllt mit javascript, socketio oder sonst der gleichen zusammen??
-
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.
Ich habe die Erfahrung gemacht, das
Commands.announcement
alles "durch schiebt", auch wenn es zeitgleich gesendet wird und nacheinander ansagt.
Commands.speak
sagt immer das letzte an, was gesendet wurde und bricht eventuell laufende Ansagen ab.Wie genau sieht denn die Ansage aus ? (also nicht das Log) Steht der Text noch drinn in
Commands.announcement
, oder ist das nach der Ansage weg ? Wenn da noch was drinn steht, kannst Du das mal hier posten.
(Es könnte ja tatsächlich sein, das es mehrere Nachrichten sind und die mit Komma oder Semikolon getrennt sind und dann die zweite Nachricht kommt und die fängt vielleicht mit einer Zahl, irgendwas an, und die verstellt Dir die Lautstärke ?) -
@crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.
Man bräuchte hier die Original Message, nicht das LOG. Habe es aber herausgefunden, nachdem ich mir ein paar virtuelle Sensoren 'besorgt' habe. Die Nachricht wird leiser, wenn die Sprach-Kommandos zu schnell aufeinanderfolgen, ich denke das muss/sollte man so hinnehmen.
Mit der Lautstärke könnte man es so lösen:
const UseAlexa = true; // Sollen Nachrichten via Alexa ausgegeben werden? const AlexaId = "G090xxxxxxxx1876"; // Die Alexa Seriennummer. const AlexaTmpVolume = 45; // Alexa Lautstärke . . . if (UseAlexa) { let tmpMsg = AlexaTmpVolume + ';' + msg; if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, tmpMsg); };
-
@dslraser
in Commands.announcement steht auch nur die letzte Meldung drin.
und gerade getestet und verglichen, Ausgabe Kinderzimmer und Badezimmer kamen , Küche blieb aber aus, obwohl es im DP steht
irgendwie ist da doch was faul, mal gehts korrekt, mal nicht.
Ist mir ja auch nur aufgefallen, als ich für mehrere Fenster denVentWarnTime
eingerichtet hatte, alle anderen Sprachausgaben kommen ja nicht am Stück -
@fastfoot perfekt, das klappt schon mal
@fastfoot sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
wenn die Sprach-Kommandos zu schnell aufeinanderfolgen,
ist nur blöd, wenn man es eh nicht so laut eingestellt hat, bekommt man den Rest der Meldung gar nicht mit, weil man es gar nimmer hört.
bleibt nur noch das Phänomen, das ab und an nicht alles Sprachlich ausgegeben wird
-
@crunchip
eigentlich bleibt da nur alle anstehenden Nachrichten ein zu sammeln und als eine Nachricht (250 Zeichen Grenze beachten und mit Semikolon trennen) zu senden, oder aber etwas Zeitversetzt einzelne Nachrichten zu senden. Wieviel Zeitversetzt weiß ich aber auch nicht, da ja die Ansagen sicherlich verschieden lang sein können.
Na ja, da fällt dem Script Ersteller sicher auch noch was ein. -
@dslraser wenn es ein generelles zeitliches Problem der Ausgabe sein sollte, müssten es andere ja auch haben und nicht nur bei mir der Fall sein.
Ausser man Lüftet immer schön alle Räume, dann kommen die Meldung ja erst gar nicht zu Stande und fällt keinem auf -
Ich hab hier auch ein kleines Problem, ich möchte für ein Fenster keine Audioausgabe, dort habe ich für öffnen/schließen false gesetzt und auch überschreiten der Öffnungszeit auf false. Es stellt sich jedes mal wieder auf true um. Hatte schon Script gestoppt, auf false gestellt und dann wieder Script gestartet, sofort wieder auf true. Das gleiche anders rum erst auf false gesetzt dann stop / start Script. Das selbe und wenn ich es nur auf false stelle, stellt es sich selber nach einer Zeit wieder auf true.
-
@D3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich hab hier auch ein kleines Problem, ich möchte für ein Fenster keine Audioausgabe, dort habe ich für öffnen/schließen false gesetzt und auch überschreiten der Öffnungszeit auf false. Es stellt sich jedes mal wieder auf true um. Hatte schon Script gestoppt, auf false gestellt und dann wieder Script gestartet, sofort wieder auf true. Das gleiche anders rum erst auf false gesetzt dann stop / start Script. Das selbe und wenn ich es nur auf false stelle, stellt es sich selber nach einer Zeit wieder auf true.
Hmm, da kann ich wenig helfen denk ich. Im Skript is eigentlich nix was das machen könnte, es gibt weder nen setstate auf diese States noch ist iwo forcecreation an.
Jemand ne Idee?