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.
    • 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
                                    • paul53
                                      paul53 @Codierknecht last edited by paul53

                                      @codierknecht sagte: Im Code sieht das jedenfalls sauber aus

                                      Ja, na klar. In früheren Versionen des JS-Adapters wurde der Versuch, in Blockly Wert an "der Fall ist" anzudocken, mit einer Fehlermeldung quittiert und alles, was bis dahin nicht gespeichert war, war weg.

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

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

                                        Ja, na klar. In früheren Versionen des JS-Adapters (noch nicht so lange her) wurde der Versuch, in Blockly Wert an "der Fall ist" anzudocken, mit einer Fehlermeldung quittiert und alles, was bis dahin nicht gespeichert war, war weg.

                                        Na dann hab' ich wohl einfach Glück gehabt - und offenbar ein System das aktuell genug ist 😉

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

                                          @paul53 das hatte ich auch ein paar Mal und durfte alles seit dem letzten Speichern noch einmal eingeben, da kommt Freude auf!

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

                                            @flori

                                            Das Problem ist übrigens immer noch nicht gelöst.
                                            Ich habe es soweit das sie es zumindest in allen drei Teilen ansagt aber sie sagt immer noch den berühmten Satz

                                            "Ich helfe dir gerne dich mit den richtigen Soundtrack bei Laune zu halten, sage einfach spiele Musik"

                                            Desweiteren sagt sie alles mindestens 20x als ob sie das Blockly 100000 mal abarbeitet. Und so sieht es auch in den Protokollen aus als ob es ständig wiederholt wird. Habe schon Schleifen mit 1x gesetzt. Bringt alles nichts. Hat keiner noch einen Rat für mich.

                                            88091bd6-d964-4d1d-86fc-7b87cfc30077-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            812
                                            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