NEWS
Alexa erzählt etwas anderes als sie soll
-
So ich habe es einmal so umgesetzt in jedem Block.
Der Trigger im Trigger ist somit auch Geschichte.Testen muß ich aber später. Habe jetzt einiges abgeändert was mir so vorgeschlagen wurde.
Ich sage auf alle Fälle bescheid ob es dann so funktioniert wie es soll.Ein Dankeschön aber trotz dem an Euch alle
-
@flori genau!
-
@flori
Statt "Wert von Objekt ID" kannst Du auch direkt den Wert des auslösenden Trigger lesen.
Dazu diesen Block verwenden und auf "Wert" ändern.
Spart Ressourcen -
@codierknecht sagte in Alex erzählt etwas anderes als sie soll:
@flori sagte in Alex erzählt etwas anderes als sie soll:
@codierknecht
Naja es sind 3 Alexas, deswegen habe ich gedacht das ich die Lautstärke bei jeder anpasse. Es ist jedes mal mit einer anderen Alexa verlinkt oder verknüpft. Und dies eben in jeden Block für sich je nachdem welcher aufgerufen wird.Dass Du in dem bei mir abgeschnittenen Teil die Lautstärke der 3 Tanten setzt ist klar.
Aber vorher schreibst Du 3x die Lautstärke in immer die gleiche Variable - die nie wieder verwendet wird. Das kannst Du Dir an der Stelle sparen.
Ne das ist schon richtig so, jedes Gerät hat diesen DP. der heißt im Blockly nur gleich. Man kann nicht sehen auf welcher Alexa der DP zugreift
Edit: aber es müssten dann 3 verschiedene Variablen sein
-
@nordischerjung sagte in Alex erzählt etwas anderes als sie soll:
Ne das ist schon richtig so, jedes Gerät hat diesen DP. der heißt im Blockly nur gleich
Auch das ist klar. Aber er schreibt die Werte der 3 Tanten in immer die gleiche Variable. Wozu?
@nordischerjung sagte in Alex erzählt etwas anderes als sie soll:
Edit: aber es müssten dann 3 verschiedene Variablen sein
Dann hätte er 3 Variablen, die nie wieder verwendet werden. Macht eigentlich wenig Sinn.
-
@Flori
Sieht dann prinzipiell so aus:
-
@codierknecht sagte in Alex erzählt etwas anderes als sie soll:
@nordischerjung sagte in Alex erzählt etwas anderes als sie soll:
Ne das ist schon richtig so, jedes Gerät hat diesen DP. der heißt im Blockly nur gleich
Auch das ist klar. Aber er schreibt die Werte der 3 Tanten in immer die gleiche Variable. Wozu?
@nordischerjung sagte in Alex erzählt etwas anderes als sie soll:
Edit: aber es müssten dann 3 verschiedene Variablen sein
Dann hätte er 3 Variablen, die nie wieder verwendet werden. Macht eigentlich wenig Sinn.
Das stimmt, macht nur Sinn wenn man sie danach wieder zurück schreibt
-
Ja das mag so sein, nur Programmier technisch kann ich Dir da irgend wie jetzt nicht ganz folgen.
Wenn ich es nur in einen Block rein schreiben würde und sie aber den anderen Block aufruft laut Stand der Alarmanlage wo bekommt sie dann die Lautstärke her?Ich habe die Lautstärke ja ausserhalb des Blocklys nirgends definiert.
Und zwischen den Schaltungen könnte es ja sein das sie zwischenzeitlich mit Lautstärke 60 spielt zum Musik hören zum Beispiel.
Vieleicht habe ich aber auch nur etwas in das Blockly geschrieben was ich irgend wo gesehn habe und mir so gedacht habe ich könnte es für diesen Zweck ganz gut gebrauchen.Was die oberen 3 Zeilen machen ist mir bis jetzt noch ein Rätsel, haben aber eben viele so in Ihren Blocklys verbaut.
-
@flori sagte in Alex erzählt etwas anderes als sie soll:
Was die oberen 3 Zeilen machen ist mir bis jetzt noch ein Rätsel, .
Du schreibst da die aktuelle Lautstärke der 3 Tanten in eine (immer gleiche) Variable.
Mal abgesehen davon, dass das so keinen Sin macht, verwendest Du diese Variable im weiteren Verlauf offenbar nicht mehr. Diese 3 Zeilen kannst Du Dir also sparen.
Ist kein "Fehler" der irgendwas kaputt macht, aber unnötig.haben aber eben viele so in Ihren Blocklys verbaut
Dann wird der Inhalt der Variablen in deren Blocklys mit Sicherheit später weiterverarbeitet.
Brauchst Du hier nicht.@flori sagte in Alex erzählt etwas anderes als sie soll:
Und zwischen den Schaltungen könnte es ja sein das sie zwischenzeitlich mit Lautstärke 60 spielt zum Musik hören zum Beispiel.
Du setzt ja in den unteren 3 Zeilen die Lautstärke explizit auf "30".
Sinn machen würde das mit 3 unterschiedlichen Variablen.
Da schreibt man dann die jeweilige Lautstärke der Tanten rein.
Nach der Ausgabe des gewünschten Textes könnte man die Lautstärke dann wieder auf den gemerkten Wert zurücksetzen. Machst Du aber nirgendwo.In Pseudocode sähe das ungefähr so aus:
// Aktuelle Lautstärke (in Variablen) merken Setze Lautstaerke1 auf 'Wert von Alexa 1' Setze Lautstaerke2 auf 'Wert von Alexa 2' Setze Lautstaerke3 auf 'Wert von Alexa 3' // Lautstärke für Textausgabe auf "30" setzen Steuere 'Lautstaerke von Alexa1' mit 30 Steuere 'Lautstaerke von Alexa2' mit 30 Steuere 'Lautstaerke von Alexa3' mit 30 // Text ausgeben Textausgabe an Alexa1 Textausgabe an Alexa2 Textausgabe an Alexa3 // Lautstärken wieder auf gemerkte Werte (aus Variablen) setzen Steuere 'Lautstaerke von Alexa1' mit Lautstaerke1 Steuere 'Lautstaerke von Alexa2' mit Lautstaerke2 Steuere 'Lautstaerke von Alexa3' mit Lautstaerke3
-
ja das hatte ich aber schon so im Hinterkopf, das sie vieleicht vorne an der Eingangstür nicht so laut spricht das die Alarmanlage ausgeschaltet ist wie im Wohnzimmer. Ich habe sie nur jetzt in dem Starter Blockly auf eine Lautstärke gesetzt. Anpassen wollte ich es dann später wenn dann mal alles vernünftig läuft. Ansonsten hätte ich es ja auch gleich oben in den Programm Kopf geschrieben wo es dann gleichzeitig für alle gilt.
So hätte ich es dann probiert ob es funktioniert zum Beispiel.So hatte ich mir das vorgestellt.
Aber trotz dem Danke für Deinen Tip. -
Ah ja ok, Du setzt den Lautstärke Wert nach der Ausage dann gleich wieder zurück auf den vorherigen Wert wie er ursprünglich war.
-
@flori sagte in Alex erzählt etwas anderes als sie soll:
Ah ja ok, Du setzt den Lautstärke Wert nach der Ausage dann gleich wieder zurück auf den vorherigen Wert wie er ursprünglich war.
Exakt.
Aber dafür benötigt man halt 3 unterschiedliche Variablen (LS1 bis LS3). -
Ok ich werde das mal so umsetzen wie du mir das im Pseudocode geschrieben hast und freue mich wenn es dann so funktioniert und ich wieder etwas dazu gelernt habe.
-
@flori Ja genau, um die States ging es mir. Hatte mich halt gewundert, dass du 0,1 und 3 abfragst. Mein innerer Monk hat die 2 vermisst.
-
@flori
Um nicht unnötig Ressourcen zu verbrauchen, sollte "steuere" pro Datenpunkt und "sendTo email" möglichst nur einmal aufgerufen werden. Für die unterschiedlichen auszugebenden Texte verwendet man Variablen. Etwa so:Mit Rückstellung auf die alte Lautstärke:
-
@paul53
Wobei ich in solchen Fällen ein Freund vonswitch
bin. Macht das Ganze in meinen Augen - gerade für Laien - etwas besser lesbar:
-
@codierknecht sagte: Freund von switch
Ja, ich auch. Ich habe nicht mitbekommen, dass man nun auch
Wert
an "der Fall ist" koppeln kann. Das war in früheren Versionen des JS-Adapters nicht möglich. -
Also ich habe jetzt alles probiert Doppeltrigger entfernt, Zeit so verarbeitet wie vorgeschlagen. Sie mag einfach nicht, ich habe den Text ein paar mal abgeändert unter anderen auch in "die Kuh ist vom Eis", "Morgen ist Montag" und einiges mehr.
Es kommt immer wieder das sie sagt "Ich helfe dir gerne dich mit den richtigen Soundtrack bei Laune zu halten, sage einfach spiele Musik"Ist für mich unerklärlich, weil ich sage ihr ja nichts was sie falsch verstehen könnte, sie soll ja nur den Text der im Feld drinne steht auslesen quasi und in Ton umwandeln und ausgeben.
-
@paul53
Im Code sieht das jedenfalls sauber aus - probiert habe ich nicht.switch ((obj.state ? obj.state.val : "")) { case 0: msg = 'Alarmanlage eingeschaltet'; break; case 1: msg = 'Alarmanlage im ZuHause-Modus'; break; case 3: msg = 'Alarmanlage ausgeschaltet'; break; }
-
@codierknecht
Wenn ich mir den Datenpunkt anschaue dann übergibt er ihn auch so mit "Morgen ist Montag"
Aber sie sagt immer nur das berühmte Sätzchen."Ich helfe dir gerne dich mit den richtigen Soundtrack bei Laune zu halten, sage einfach spiele Musik"