Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Alexa erzählt etwas anderes als sie soll

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alexa erzählt etwas anderes als sie soll

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Flori last edited by

      @flori
      Statt "Wert von Objekt ID" kannst Du auch direkt den Wert des auslösenden Trigger lesen.
      128d4d19-81ed-47b8-bffa-e4c14eb3c278-image.png
      Dazu diesen Block verwenden und auf "Wert" ändern.
      Spart Ressourcen 😉

      Codierknecht 1 Reply Last reply Reply Quote 0
      • N
        Nordischerjung @Codierknecht last edited by Nordischerjung

        @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.
        9efa1139-97ec-44f9-a6a5-ca2fe455a8f1-image.png

        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 🙂

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Nordischerjung last edited by Codierknecht

          @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.

          N 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Codierknecht last edited by

            @Flori
            Sieht dann prinzipiell so aus:
            4be2665f-4950-413a-b8ff-d79865bf82c9-image.png

            1 Reply Last reply Reply Quote 0
            • N
              Nordischerjung @Codierknecht last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • F
                Flori @Codierknecht last edited by

                @codierknecht

                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. 😉

                37d0dbcd-1c13-435e-9e37-aa7bb986c09f-grafik.png

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Flori last edited by Codierknecht

                  @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
                  
                  
                  F 2 Replies Last reply Reply Quote 0
                  • F
                    Flori @Codierknecht last edited by

                    @codierknecht

                    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.

                    6a58888d-19a5-42cc-aeda-46f75b35b7c8-grafik.png

                    So hatte ich mir das vorgestellt. 😉
                    Aber trotz dem Danke für Deinen Tip. 😉

                    1 Reply Last reply Reply Quote 0
                    • F
                      Flori @Codierknecht last edited by

                      @codierknecht

                      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.

                      Codierknecht F 2 Replies Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @Flori last edited by

                        @flori sagte in Alex erzählt etwas anderes als sie soll:

                        @codierknecht

                        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).

                        1 Reply Last reply Reply Quote 0
                        • F
                          Flori @Flori last edited by

                          @flori

                          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. 😉

                          1 Reply Last reply Reply Quote 0
                          • D
                            DennisMenger @Flori last edited by

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Flori last edited by paul53

                              @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:

                              Bild_2023-01-25_112842506.png

                              Mit Rückstellung auf die alte Lautstärke:

                              Bild_2023-01-25_114028623.png

                              Codierknecht 1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @paul53 last edited by

                                @paul53
                                Wobei ich in solchen Fällen ein Freund von switch bin. Macht das Ganze in meinen Augen - gerade für Laien - etwas besser lesbar:
                                2420a964-1dd1-48f8-9618-18b7db8a8a0a-image.png

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Codierknecht last edited by

                                  @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.

                                  Codierknecht 1 Reply Last reply Reply Quote 0
                                  • F
                                    Flori @Codierknecht last edited by

                                    @codierknecht

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • Codierknecht
                                      Codierknecht Developer Most Active @paul53 last edited by

                                      @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;
                                      }
                                      
                                      F paul53 2 Replies Last reply Reply Quote 0
                                      • F
                                        Flori @Codierknecht last edited by

                                        @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"

                                        348909cc-ce14-4000-8fae-55aae5db895f-grafik.png

                                        F 1 Reply Last reply Reply Quote 0
                                        • F
                                          Flori @Flori last edited by

                                          @flori
                                          So sieht es zumindest in der Protokollierung von der Debug Meldung aus nachdem es ausgeführt wurde.
                                          Keine Ahnung wieso der das 100000 mal durchläuft.

                                          af582b08-dffd-4564-83e3-16ef5d4ccbab-grafik.png

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            Flori @Flori last edited by

                                            @flori

                                            Ich habe jetzt einmal die 2 Sekunden Pause in 500ms abgeändert dann sagt sie Alarmanlage wurde ausgeschaltet, aber sofort im Anschluß kommt dann wieder das berühmte Sätzchen.
                                            "Ich helfe dir gerne dich mit den richtigen Soundtrack bei Laune zu halten, sage einfach spiele Musik" 😞 😞

                                            b43bdbf7-0301-4d46-bb0d-8740858c0e81-grafik.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            480
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            81
                                            2189
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo