NEWS
Alexa erzählt etwas anderes als sie soll
-
Ich weiß nicht was ich falsch mache.
Ich habe 3 absolut gleiche Programmblöcke im Gesamtblockly.
Es wird nach der Uhrzeit geschaut, der Status der Alarmanlge geprüft, eine E-Mail verschickt, die Laustärke der 3 Alexas angepasst und jede Alexa sagt den Status der Alarmanlage in unterschiedlichen Räumen an.Die oberen funktionieren so wie sie sollen und es kommt auch die richtige Ansage so wie im Textfeld festgelegt. Schalte ich aber die Alarmanlage auf den letzten Programmblock bekomme ich immer die Ansage von Alexa
"Ich helfe dir gerne dich mit den richtigen Soundtrack bei Laune zu halten, sage einfach spiele Musik"
Ich habe den Block schon komplett gelöscht, neu geschrieben oder was man sonst so alles machen könnte um den Fehler zu beheben. Aber ich habe immer wieder den gleichen Effekt.Hat da vieleicht einer eine Idee?
Ich arbeite schon länger mit dem IO Broker, bin aber absoluter Leihe was programmieren ausserhalb von Blockly betrifft. Also irgendwelche Programm Code Zeilen programmieren. Also verzeit mir die Länge des Blocklys, aber ich mag es gern übersichtlich das ich in drei Jahren noch weiß was das Programm so alles macht. Es geht mit Sicherheit auch kürzer und übersichtlicher zu programmieren.
Ein Dankeschön schon einmal im voraus.
-
Was bezweckt du mit dem Zeitplan?
Trigger im Trigger funktioniert nicht. -
@flori sagte in Alex erzählt etwas anderes als sie soll:
ich mag es gern übersichtlich das ich in drei Jahren noch weiß was das Programm so alles macht
Ein gar nicht mal so schlechter Ansatz
Ich habe keine Alexandra, aber vielleicht kommt die Tante ja einfach mit dem Text nicht klar.
Hast Du mal versucht, den leicht abzuwandeln? Also sowas wie "Alarmanlage deaktiviert" oder "Alarmsystem aus".@thomas-braun sagte in Alex erzählt etwas anderes als sie soll:
Trigger im Trigger funktioniert nicht.
Da hast Du natürlich (wie immer) Recht.
Aber da die Tante ja zumindest etwas von sich gibt, dürfte das wohl kaum ursächlich sein.@Flori Den Zeitplan-Trigger solltest Du löschen. Stattdessen im Trigger prüfen, ob die aktuelle Uhrzeit in den von Dir gesetzten Grenzen liegt.
-
@flori Moin,
was ich so hier aus dem Forum gelernt habe, ist, dass es nicht sinnvoll ist einen Trigger innerhalb eines Triggers zu haben. Du hast einen Trigger auf einem Objekt innerhalb eines Zeitplanes. Da könnte man noch eine Abfrage einbauen und abfragen Zeit zwischen x und y.
Die andere Sache, die mir aufgefallen ist, dass du für den master_mode mit "1", "0" und "3" arbeitest. Setzt du denn auch den master_mode auf diese Zahlen?
-
@flori
Was mir noch aufgefallen ist:
Es sieht hier so aus, als würdest Du hier 3x einen Wert in die gleiche Variable schreiben. Wozu?
3x die gleiche Variable macht keinen Sinn. Und da Du - zumindest in den gezeigten Blöcken - diese Variable nie wieder benutzt, kann man das eigentlich komplett weglassen. -
@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. -
Ja ich wollte eben damit bezwecken das alle 3 Blöcke so ev. das gleiche Zeitfenster bekommen. Deswegen habe ich es gleich vorne dran gestellt. Ja hast recht Trigger in Trigger sollte man nicht machen.
Nur wenn ich diese Zusammensetzung nicht schon so viel gesehn hätte wo es funktioniert wäre ich ja vieleicht nicht auf die dumme Idee gekommen mit Trigger im Trigger. -
@flori sagte in Alex erzählt etwas anderes als sie soll:
so viel gesehn hätte wo es funktioniert
Es funktioniert aber nicht. Auch wenn es oft falsch gemacht wird.
-
Keine Ahnung was du mir damit sagen willst
Ich habe einfach da wo man die Alarmanlage mit einschaltet mir diese Zahlen heraus gelesen und gehofft das es so funktioniert das er entscheiden kann was geschaltet ist. -
@flori Pack die 3 Alexas in eine Gruppe, dann kannst Du sie auf einmal ansprechen. Und, wie von anderen bereits erwähnt, keine Trigger in Trigger verwenden
-
Meintest Du damit die Alexa App auf den Handy wo ich sie in eine Gruppe packen soll und dann hier ansprechen soll, weil hier im IOBroker wüsste ich bis jetzt noch nicht wie ich das bewerkstelligen soll. Eben Anfänger wenn man so will.
-
@flori sagte in Alex erzählt etwas anderes als sie soll:
Keine Ahnung was du mir damit sagen willst
Ich habe einfach da wo man die Alarmanlage mit einschaltet mir diese Zahlen heraus gelesen und gehofft das es so funktioniert das er entscheiden kann was geschaltet ist.das meinte @Thomas-Braun nicht. du solltest nur kein Trigger in Trigger packen da es nicht oder falsch funktioniert.
Mach es so zB
-
@thomas-braun
ja Du hast eindeutig Recht damit, ich werde es in Zukunft versuchen zu vermeiden. -
@flori sagte in Alex erzählt etwas anderes als sie soll:
Meintest Du damit die Alexa App auf den Handy wo ich sie in eine Gruppe packen soll und dann hier ansprechen soll, weil hier im IOBroker wüsste ich bis jetzt noch nicht wie ich das bewerkstelligen soll. Eben Anfänger wenn man so will.
Hast du nur diese 3 Alexas im Adapter? Es gibt sonst noch den Ordner "Überall"
-
@nordischerjung
Oh Danke so eine Zeile habe ich gesucht, aber meine "False" Stelle ist aber schon durch die Abfrage belegt.
Kann ich das dann noch als Zusatzabfrage also mit "und" hinten dran hängen oder baue ich mir so auch wieder
eine Falle? -
Nein da gibt es auch noch zwei Echo 5 im Schlafzimmer, die ich nicht ansprechen wollte.
Und noch ein paar Einträge mehr. -
@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.
-
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