Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Über scriptEnabled triggern verboten. Aber wie richtig?

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    616

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Über scriptEnabled triggern verboten. Aber wie richtig?

Geplant Angeheftet Gesperrt Verschoben JavaScript
37 Beiträge 9 Kommentatoren 2.7k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • OstfrieseUnterwegsO OstfrieseUnterwegs

    Wenn Dein Script nur einmal getriggert werden soll, kannst Du noch einen zweiten Datenpunkt anlegen, der als Flag benutzt wird und anzeigt, ob Dein Script schon mal gelaufen ist.
    Ich benutze das im Zusammenhang mit einem Bewegungsmelder: Wenn abends der erste am Bewegungsmelder vorbei geht, lasse ich Alexa Termine für den Nächsten Tag ansagen z,B. Mülltermine und so. Aber natürlich soll das nicht jedesmal anlaufen, wenn jemand durch den Flur geht. Also nach dem ersten Aufruf ein Flag setzen, und das dann nachts wirder auf false...

    R Offline
    R Offline
    ramses
    schrieb am zuletzt editiert von ramses
    #13

    @OstfrieseUnterwegs
    Hatte mich da ein wenig unglücklich ausgedrückt. Es soll so oft getriggert werden wie man möchte, aber halt durch Alexa-Zuruf. Denke die On change any variante ist da tatsächlich die glücklichste und einfachste.
    Aber deine Idee mit dem Bewegungsmelder gefällt mir! Zwar nicht für Terminansagen aber für anderes. Ich klau mir die Idee mal :-)

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      ramses
      schrieb am zuletzt editiert von ramses
      #14

      Also, ich habe jetzt alles so umgesetzt wie ihr es vorgeschlagen habt, aber der Fehler ist geblieben.
      Wenn ich das Script trigger, springt alexa2.0.History.name und alexa2.0.History.serialNumber kurz auf die richtige Alexa (von wo der Aufruf erfolgte) und springt dann manchmal einfach um auf irgendeine andere und gibt es letztendlich im falschen Raum aus.

      Beispiel: alexa2.0.History.name steht auf Badezimmer. Ich trigger im Wohnzimmer das Script.
      Alexa2.0.History.name springt um auf Wohnzimmer und eine Sekunde danach zurück auf Badezimmer oder manchmal auch Küche. Ist er einmal aus dem Tritt, kann ich im Wohnzimmer das Script so oft triggern wie er will, er gibt es dann z.b. immer in Küche aus.
      Frage ich Alexa dann im Wohnzimmer z.b. nach der Uhrzeit, ist er wieder im Tritt und die Ausgabe erfolgt beim nächsten Trigger richtigerweise im Wohnzimmer. Dieser Fehler tritt so jedes 10. Mal auf.
      Alles sehr verwirrend.

      Kann es sein, dass es ein Timing Problem ist ?
      Ich merke, dass vor allem die Dots nicht mal dazu kommen ihr "OK" zu beenden. Habe es jetzt testweise mal mit einem setStateDelayed,1000 versucht. Ob das was gebracht hat, wird sich im Laufe der Tage zeigen. Bis jetzt konnte ich ihn nicht mehr aus dem Tritt bringen.

      Hier das geänderte Script, vielleicht fällt einem ja syntaktisch ein Fehler auf (bitte keine Optik-Korrekturen) :-)

      on({id:"javascript.0.klima.kinderzimmer",change:'any'}, function (obj) {
          var TEMP1 = getState('netatmo.0.Micha.Kinderzimmer.Temperature.Temperature').val;
          var CO1 = getState('netatmo.0.Micha.Kinderzimmer.CO2.CO2').val;
          var HUMIDITY1 = getState('netatmo.0.Micha.Kinderzimmer.Humidity.Humidity').val;
          var LASTALEXA = 'alexa2.0.Echo-Devices.'+getState('alexa2.0.History.serialNumber').val+'.Commands.speak';
        
      if (CO1>1000){
      // setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer sollte gelüftet werden.' );
      setStateDelayed(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer sollte gelüftet werden.',1000);
                   }
      
      else {
      // setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer muss nicht gelüftet werden.' );
      setStateDelayed(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer muss nicht gelüftet werden.',1000);
           }
          
      });
      

      PS: Just mit abschicken dieses Posts, hab ich Sie auch mit setStateDelayed aus dem Tritt gebracht :-/

      dslraserD 1 Antwort Letzte Antwort
      0
      • R ramses

        Also, ich habe jetzt alles so umgesetzt wie ihr es vorgeschlagen habt, aber der Fehler ist geblieben.
        Wenn ich das Script trigger, springt alexa2.0.History.name und alexa2.0.History.serialNumber kurz auf die richtige Alexa (von wo der Aufruf erfolgte) und springt dann manchmal einfach um auf irgendeine andere und gibt es letztendlich im falschen Raum aus.

        Beispiel: alexa2.0.History.name steht auf Badezimmer. Ich trigger im Wohnzimmer das Script.
        Alexa2.0.History.name springt um auf Wohnzimmer und eine Sekunde danach zurück auf Badezimmer oder manchmal auch Küche. Ist er einmal aus dem Tritt, kann ich im Wohnzimmer das Script so oft triggern wie er will, er gibt es dann z.b. immer in Küche aus.
        Frage ich Alexa dann im Wohnzimmer z.b. nach der Uhrzeit, ist er wieder im Tritt und die Ausgabe erfolgt beim nächsten Trigger richtigerweise im Wohnzimmer. Dieser Fehler tritt so jedes 10. Mal auf.
        Alles sehr verwirrend.

        Kann es sein, dass es ein Timing Problem ist ?
        Ich merke, dass vor allem die Dots nicht mal dazu kommen ihr "OK" zu beenden. Habe es jetzt testweise mal mit einem setStateDelayed,1000 versucht. Ob das was gebracht hat, wird sich im Laufe der Tage zeigen. Bis jetzt konnte ich ihn nicht mehr aus dem Tritt bringen.

        Hier das geänderte Script, vielleicht fällt einem ja syntaktisch ein Fehler auf (bitte keine Optik-Korrekturen) :-)

        on({id:"javascript.0.klima.kinderzimmer",change:'any'}, function (obj) {
            var TEMP1 = getState('netatmo.0.Micha.Kinderzimmer.Temperature.Temperature').val;
            var CO1 = getState('netatmo.0.Micha.Kinderzimmer.CO2.CO2').val;
            var HUMIDITY1 = getState('netatmo.0.Micha.Kinderzimmer.Humidity.Humidity').val;
            var LASTALEXA = 'alexa2.0.Echo-Devices.'+getState('alexa2.0.History.serialNumber').val+'.Commands.speak';
          
        if (CO1>1000){
        // setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer sollte gelüftet werden.' );
        setStateDelayed(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer sollte gelüftet werden.',1000);
                     }
        
        else {
        // setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer muss nicht gelüftet werden.' );
        setStateDelayed(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer muss nicht gelüftet werden.',1000);
             }
            
        });
        

        PS: Just mit abschicken dieses Posts, hab ich Sie auch mit setStateDelayed aus dem Tritt gebracht :-/

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von dslraser
        #15

        @ramses
        hier mal ein Auszug eines Blocklys (nur eine Temperaturabfrage). In der Alexa App eine Routine mit: Alexa, wie ist die Temperatur im Garten. Angestoßen wird ein eigener Datenpunkt.
        Ist zwar ssml und nicht speak, aber sonst der gleiche Vorgang.
        (Garten und Ansage sind Variablen die weiter oben im Script angelegt sind---sind hier nicht im Code-Ausschnitt sichtbar)

        on({id: 'javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.05Temperaturansage_Garten', change: "any"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          Garten = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten").val;
          Ansage = ['<speak><voice name="Alexa">','draussen im Garten sind, ',Garten,'Grad.','</voice></speak>'].join('');
          // Echo Küche
          if (getState("alexa2.0.History.name").val == 'Küche') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Wohnzimmer
          if (getState("alexa2.0.History.name").val == 'Wohnzimmer') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Gästezimmer
          if (getState("alexa2.0.History.name").val == 'Gästezimmer') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Schlafzimmer
          if (getState("alexa2.0.History.name").val == 'Schlafzimmer') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Badezimmer
          if (getState("alexa2.0.History.name").val == 'Badezimmer') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Keller-Flur
          if (getState("alexa2.0.History.name").val == 'Keller-Flur') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Flur
          if (getState("alexa2.0.History.name").val == 'Flur') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Echo Werkstatt
          if (getState("alexa2.0.History.name").val == 'Werkstatt') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
          // Gäste WC
          if (getState("alexa2.0.History.name").val == 'Gäste WC') {
            setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
          }
        });
        

        Bildschirmfoto 2019-03-11 um 18.35.43.png

        R 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @ramses
          hier mal ein Auszug eines Blocklys (nur eine Temperaturabfrage). In der Alexa App eine Routine mit: Alexa, wie ist die Temperatur im Garten. Angestoßen wird ein eigener Datenpunkt.
          Ist zwar ssml und nicht speak, aber sonst der gleiche Vorgang.
          (Garten und Ansage sind Variablen die weiter oben im Script angelegt sind---sind hier nicht im Code-Ausschnitt sichtbar)

          on({id: 'javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.05Temperaturansage_Garten', change: "any"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            Garten = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten").val;
            Ansage = ['<speak><voice name="Alexa">','draussen im Garten sind, ',Garten,'Grad.','</voice></speak>'].join('');
            // Echo Küche
            if (getState("alexa2.0.History.name").val == 'Küche') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Wohnzimmer
            if (getState("alexa2.0.History.name").val == 'Wohnzimmer') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Gästezimmer
            if (getState("alexa2.0.History.name").val == 'Gästezimmer') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Schlafzimmer
            if (getState("alexa2.0.History.name").val == 'Schlafzimmer') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Badezimmer
            if (getState("alexa2.0.History.name").val == 'Badezimmer') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Keller-Flur
            if (getState("alexa2.0.History.name").val == 'Keller-Flur') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Flur
            if (getState("alexa2.0.History.name").val == 'Flur') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Echo Werkstatt
            if (getState("alexa2.0.History.name").val == 'Werkstatt') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
            // Gäste WC
            if (getState("alexa2.0.History.name").val == 'Gäste WC') {
              setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
            }
          });
          

          Bildschirmfoto 2019-03-11 um 18.35.43.png

          R Offline
          R Offline
          ramses
          schrieb am zuletzt editiert von ramses
          #16

          @dslraser
          Oh, mit den Routinen habe ich mich noch nie beschäftigt, verstehe aber das Prinzip.
          Glaube nur, es wird auf das Selbe hinauslaufen, da du auch mit (getState("alexa2.0.History.name) die letzte aktive aufrufst und bei mir der Wert dort dann einfach schon falsch ist.

          Habe einfach mal direkt nach dem on change any , die Abfrage nach alexa2.0.History.name gemacht und schon dort war sie dann gegebenenfalls falsch.
          Aber danke für den Hinweis auf die Routinen. "Wie ist das Klima im Kinderzimmer?" klingt defintiv besser als "Aktiviere Klima Kinderzimmer" :-)

          dslraserD 1 Antwort Letzte Antwort
          0
          • R ramses

            @dslraser
            Oh, mit den Routinen habe ich mich noch nie beschäftigt, verstehe aber das Prinzip.
            Glaube nur, es wird auf das Selbe hinauslaufen, da du auch mit (getState("alexa2.0.History.name) die letzte aktive aufrufst und bei mir der Wert dort dann einfach schon falsch ist.

            Habe einfach mal direkt nach dem on change any , die Abfrage nach alexa2.0.History.name gemacht und schon dort war sie dann gegebenenfalls falsch.
            Aber danke für den Hinweis auf die Routinen. "Wie ist das Klima im Kinderzimmer?" klingt defintiv besser als "Aktiviere Klima Kinderzimmer" :-)

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von dslraser
            #17

            @ramses sagte in Über scriptEnabled triggern verboten. Aber wie richtig?:

            Aber danke für den Hinweis auf die Routinen. "Wie ist das Klima im Kinderzimmer?" klingt defintiv besser als "Aktiviere Klima Kinderzimmer" :-)

            Nur wegen der individuellen Fragestellung nutze ich Routinen. "Schalte Temperatur im Garten an" oder sowas ist, na ja....:white_frowning_face:
            Temperaturen kann ja iot/cloud im Grunde auch ohne Script ansagen, aber ich habe für mich ein Script in dem Hans und Vicki (Stimmen) die Temperaturen aller Räume nacheinander und im Wechsel mit den Stimmen ansagen. Ist nicht so langweilig...:relaxed:

            Bildschirmfoto 2019-03-11 um 18.54.09.png

            Bildschirmfoto 2019-03-11 um 18.54.24.png

            R 1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

              @ramses sagte in Über scriptEnabled triggern verboten. Aber wie richtig?:

              Aber danke für den Hinweis auf die Routinen. "Wie ist das Klima im Kinderzimmer?" klingt defintiv besser als "Aktiviere Klima Kinderzimmer" :-)

              Nur wegen der individuellen Fragestellung nutze ich Routinen. "Schalte Temperatur im Garten an" oder sowas ist, na ja....:white_frowning_face:
              Temperaturen kann ja iot/cloud im Grunde auch ohne Script ansagen, aber ich habe für mich ein Script in dem Hans und Vicki (Stimmen) die Temperaturen aller Räume nacheinander und im Wechsel mit den Stimmen ansagen. Ist nicht so langweilig...:relaxed:

              Bildschirmfoto 2019-03-11 um 18.54.09.png

              Bildschirmfoto 2019-03-11 um 18.54.24.png

              R Offline
              R Offline
              ramses
              schrieb am zuletzt editiert von ramses
              #18

              @dslraser
              Auch wenn das jetzt absolut off-topic ist. Das musst du mir bitte genauer erklären. Stimmenwechsel?
              Ich glaube die halbe Alexa-Welt ist scheinbar an mir vorbeigezogen. Geht dieser Stimmenwechsel nur über ssml?
              Wäre toll wenn du dazu mal was Javascript-Code zeigen würdest. Blockly macht mich kirre :-)

              dslraserD 1 Antwort Letzte Antwort
              0
              • R ramses

                @dslraser
                Auch wenn das jetzt absolut off-topic ist. Das musst du mir bitte genauer erklären. Stimmenwechsel?
                Ich glaube die halbe Alexa-Welt ist scheinbar an mir vorbeigezogen. Geht dieser Stimmenwechsel nur über ssml?
                Wäre toll wenn du dazu mal was Javascript-Code zeigen würdest. Blockly macht mich kirre :-)

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von dslraser
                #19

                @ramses
                ja, über ssml

                Klick

                hier mal ein Ausschnitt

                on({id: 'javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_gesamt', change: "any"}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  Schlafzimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.01Schlafzimmer").val;
                  Wohnzimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.02Wohnzimmer").val;
                  Badezimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.03Badezimmer").val;
                  Flur = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.04Flur").val;
                  G_C3_A4stezimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.05Gästezimmer").val;
                  Garten = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten").val;
                  Ansage = ['<speak><voice name="Hans">','','','Los gehts. ','Im Wohnzimmer sind,',Wohnzimmer,'Grad.','</voice><voice name="Vicki">','im Badezimmer sind,',Badezimmer,'Grad.','</voice><voice name="Hans">','im Gästezimmer sind,',G_C3_A4stezimmer,'Grad.','</voice><voice name="Vicki">','im Flur sind, ',Flur,'Grad.','</voice><voice name="Hans">','im Schlafzimmer sind, ',Schlafzimmer,'Grad, ','</voice><voice name="Vicki">','und draussen im Garten sind, ',Garten,'Grad.','</voice><voice name="Alexa"><prosody volume="+6dB">','Das wäre dann alles .','</prosody>','</voice></speak>'].join('');
                  // Wohnzimmer
                  if (getState("alexa2.0.History.name").val == 'Wohnzimmer') {
                    setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
                  }
                

                Das sind die Ansagen im Wechsel mit Hans und Vicki und zum Schluss eine Lautstärke Erhöhung mit der Ansage durch Alexa mit: das wäre dann alles.

                R 1 Antwort Letzte Antwort
                0
                • dslraserD dslraser

                  @ramses
                  ja, über ssml

                  Klick

                  hier mal ein Ausschnitt

                  on({id: 'javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Ansagen.01Temperaturansage_gesamt', change: "any"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    Schlafzimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.01Schlafzimmer").val;
                    Wohnzimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.02Wohnzimmer").val;
                    Badezimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.03Badezimmer").val;
                    Flur = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.04Flur").val;
                    G_C3_A4stezimmer = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.05Gästezimmer").val;
                    Garten = getState("javascript.0.Eigene_Datenpunkte.01Alexa2Ansagen.Temperaturen.06Garten").val;
                    Ansage = ['<speak><voice name="Hans">','','','Los gehts. ','Im Wohnzimmer sind,',Wohnzimmer,'Grad.','</voice><voice name="Vicki">','im Badezimmer sind,',Badezimmer,'Grad.','</voice><voice name="Hans">','im Gästezimmer sind,',G_C3_A4stezimmer,'Grad.','</voice><voice name="Vicki">','im Flur sind, ',Flur,'Grad.','</voice><voice name="Hans">','im Schlafzimmer sind, ',Schlafzimmer,'Grad, ','</voice><voice name="Vicki">','und draussen im Garten sind, ',Garten,'Grad.','</voice><voice name="Alexa"><prosody volume="+6dB">','Das wäre dann alles .','</prosody>','</voice></speak>'].join('');
                    // Wohnzimmer
                    if (getState("alexa2.0.History.name").val == 'Wohnzimmer') {
                      setState("alexa2.0.Echo-Devices.xxx.Commands.ssml"/*ssml*/, Ansage);
                    }
                  

                  Das sind die Ansagen im Wechsel mit Hans und Vicki und zum Schluss eine Lautstärke Erhöhung mit der Ansage durch Alexa mit: das wäre dann alles.

                  R Offline
                  R Offline
                  ramses
                  schrieb am zuletzt editiert von
                  #20

                  @dslraser

                  sehr schön. Danke dir.

                  So ich glaube ich hab meinen Fehler gefunden. Ich wohne in einem Altbau mit 3m hohen Wänden. Hier schallt es oftmals ein wenig. Es scheint so, 2 andere Alexas hören meine Stimme auch und springen deshalb hin und her und geben dann im falschen Raum aus. Wenn ich die Alexa mit ihrem Namen "anflüster" so das definitiv nur eine reagieren kann, ist es bisher nicht mehr vorgekommen (300 Versuche -morgen bin ich heiser).
                  Lustigerweise ist sowas zb noch nie vorgekommen bei anderen Befehlen wie Musikwiedergabe und Co.

                  R 1 Antwort Letzte Antwort
                  0
                  • R ramses

                    @dslraser

                    sehr schön. Danke dir.

                    So ich glaube ich hab meinen Fehler gefunden. Ich wohne in einem Altbau mit 3m hohen Wänden. Hier schallt es oftmals ein wenig. Es scheint so, 2 andere Alexas hören meine Stimme auch und springen deshalb hin und her und geben dann im falschen Raum aus. Wenn ich die Alexa mit ihrem Namen "anflüster" so das definitiv nur eine reagieren kann, ist es bisher nicht mehr vorgekommen (300 Versuche -morgen bin ich heiser).
                    Lustigerweise ist sowas zb noch nie vorgekommen bei anderen Befehlen wie Musikwiedergabe und Co.

                    R Offline
                    R Offline
                    ramses
                    schrieb am zuletzt editiert von ramses
                    #21

                    @dslraser
                    Hab jetzt mal so eine Routine gemacht. Kann man unterbinden, dass eine Ansage wie "Alexa, wie ist das Klima im Kinderzimmer" nicht mit OK quittiert?

                    dslraserD 1 Antwort Letzte Antwort
                    0
                    • R ramses

                      @dslraser
                      Hab jetzt mal so eine Routine gemacht. Kann man unterbinden, dass eine Ansage wie "Alexa, wie ist das Klima im Kinderzimmer" nicht mit OK quittiert?

                      dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #22

                      @ramses
                      ich nutze den Kurzmodus. Einstellung in der Amazon App.

                      R 1 Antwort Letzte Antwort
                      0
                      • dslraserD dslraser

                        @ramses
                        ich nutze den Kurzmodus. Einstellung in der Amazon App.

                        R Offline
                        R Offline
                        ramses
                        schrieb am zuletzt editiert von ramses
                        #23

                        @dslraser
                        Diese Einstellung finde ich wo?

                        Ah habs.. aber ein Ton bleibt halt immer noch. Gegen das OK hab ich ja jetzt nichts. Nur OK ist halt keine Antwort auf eine Frage sondern auf einen Befehl :-)

                        dslraserD 1 Antwort Letzte Antwort
                        0
                        • R ramses

                          @dslraser
                          Diese Einstellung finde ich wo?

                          Ah habs.. aber ein Ton bleibt halt immer noch. Gegen das OK hab ich ja jetzt nichts. Nur OK ist halt keine Antwort auf eine Frage sondern auf einen Befehl :-)

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #24

                          @ramses
                          Einstellungen/Alexa Konto/Alexa-Spachantworten

                          Screenshot_20190311-195705_Amazon Alexa.jpg

                          R 1 Antwort Letzte Antwort
                          0
                          • dslraserD dslraser

                            @ramses
                            Einstellungen/Alexa Konto/Alexa-Spachantworten

                            Screenshot_20190311-195705_Amazon Alexa.jpg

                            R Offline
                            R Offline
                            ramses
                            schrieb am zuletzt editiert von
                            #25

                            @dslraser

                            Ah jetzt ja.

                            .. aber ein Ton bleibt halt immer noch. Gegen das OK hab ich ja im Grunde jetzt nichts. Nur OK ist halt keine Antwort auf eine Frage sondern auf einen Befehl :-)

                            dslraserD 1 Antwort Letzte Antwort
                            0
                            • R ramses

                              @dslraser

                              Ah jetzt ja.

                              .. aber ein Ton bleibt halt immer noch. Gegen das OK hab ich ja im Grunde jetzt nichts. Nur OK ist halt keine Antwort auf eine Frage sondern auf einen Befehl :-)

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von dslraser
                              #26

                              @ramses
                              kannst ja noch "moment", oder "ich schau mal nach", (oder was Dir eben gefällt ) davor setzen.

                              Edit: dann kommt kein Ton im Kurzmodus und auch kein okay im Normalmodus.

                              Screenshot_20190311-200651_Amazon Alexa.jpg

                              R 1 Antwort Letzte Antwort
                              0
                              • dslraserD dslraser

                                @ramses
                                kannst ja noch "moment", oder "ich schau mal nach", (oder was Dir eben gefällt ) davor setzen.

                                Edit: dann kommt kein Ton im Kurzmodus und auch kein okay im Normalmodus.

                                Screenshot_20190311-200651_Amazon Alexa.jpg

                                R Offline
                                R Offline
                                ramses
                                schrieb am zuletzt editiert von ramses
                                #27

                                @dslraser

                                Das unterbindet aber wahrscheinlich nicht, dass der Bestätigungs-Ton, bzw das Bestätigungs-OK durch ein "Moment bitte" ersetzt wird, oder?
                                Aber ich vermute du meinst das im Sinne von flüssiger Sprache.
                                In der Langform würde dann vermutlich ein "Ok, moment" bei rauskommen,oder?

                                dslraserD 1 Antwort Letzte Antwort
                                0
                                • R ramses

                                  @dslraser

                                  Das unterbindet aber wahrscheinlich nicht, dass der Bestätigungs-Ton, bzw das Bestätigungs-OK durch ein "Moment bitte" ersetzt wird, oder?
                                  Aber ich vermute du meinst das im Sinne von flüssiger Sprache.
                                  In der Langform würde dann vermutlich ein "Ok, moment" bei rauskommen,oder?

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #28

                                  @ramses
                                  doch, wird dann unterbunden, gerade probiert

                                  R 1 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @ramses
                                    doch, wird dann unterbunden, gerade probiert

                                    R Offline
                                    R Offline
                                    ramses
                                    schrieb am zuletzt editiert von
                                    #29

                                    @dslraser
                                    Genial. So, glaube heute hast du mir wirklich genug geholfen. Ich gehe dann mal ein wenig basteln. Vielen Dank noch mal für deine Hilfe.

                                    1 Antwort Letzte Antwort
                                    0
                                    • R ramses

                                      @apollon77
                                      Nur noch mal zur Nachfrage, damit ich es auch richtig verstanden habe:
                                      Ich lege mir erst mal mit createState einen State unter dem Javascript Adapter an z.b. mit dem Wert False.
                                      Dann Verbinde ich den Datenpunkt mit dem Iobroker Output in Node-Red um es Alexa zugänglich zu mache.
                                      Und als letztes mach ich noch ein subscribe mit change: true oder any und einer if-Abfrage auf den Datenpunkt. Wobei der Change Wert immer True betragen muss weil das Script kein False/Aus benötigt.

                                      Dann könnte/muss das Script natürlich auch permanent laufen.

                                      Habe ich das als Nichtprogrammierer alles so richtig verstanden/zusammengefasst?

                                      Achja, das Script kann ich natürlich beilegen. Ist nur eine simple Werteabfrage über Alexa:

                                      
                                      var RAUMNAME='Kinderzimmer'
                                      var TEMP1 = getState('netatmo.0.Micha.Kinderzimmer.Temperature.Temperature').val;
                                      var CO1 = getState('netatmo.0.Micha.Kinderzimmer.CO2.CO2').val;
                                      var HUMIDITY1 = getState('netatmo.0.Micha.Kinderzimmer.Humidity.Humidity').val
                                      var LASTALEXA = 'alexa2.0.Echo-Devices.'+getState('alexa2.0.History.serialNumber').val+'.Commands.speak'
                                      
                                      if (CO1>1000){
                                      setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer sollte gelüftet werden.' ),5000;
                                                   }
                                      
                                      else {
                                      setState(LASTALEXA, '40;Die Temperatur beträgt ' + TEMP1 + ' Grad. Die Luftfeuchtigkeit beträgt ' + HUMIDITY1 + ' Prozent. Das Zimmer muss nicht gelüftet werden.' ),5000;
                                           }
                                      stopScript();
                                      
                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #30

                                      @ramses Ja korrekt verstanden. Das das Skript "immer läuft" ist egal weil es ja nur etwas tut wenn auf dem Trigger was passiert.

                                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      1 Antwort Letzte Antwort
                                      0
                                      • liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #31

                                        hi - ich habe alle meine scripts aufgeräumt und das triggern eines scripts wie hier vorgeschlagen geändert

                                        ein script ist noch übrig geblieben - in bestimmten situationen hat dieses script etwas über 10 andere scripts disabled - auf false gesetzt. hat jmd eine idee, wie ich das ohne datenpunkt steuern kann. in diesem script kann man sehr einfach sehen, welche scripts disabled werden - mir geht es nicht darum, mir eine if abfrage in diesen speziellen scripts zu sparen, sondern einen schnellen überblick zu behalten und nicht alle scripts zu durchsuchen , ob sie diese datenpunktabfrage haben. ich reaslisiere damit sowas wie "2 modi" für die haussteuerung .

                                        eine andere techn. frage hätte ich noch: ich hatte insgesamt über 30 scripts, die gestoppt waren und nach aufruf wieder beendet wurden. ich fand das gar keine so üble idee, weil ich dachte, das system spart sich speicher und performance, wenn diese selten aufgerufenen scripts nicht als aktiv im system verwaltet werden - lag ich da falsch ?

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL liv-in-sky

                                          hi - ich habe alle meine scripts aufgeräumt und das triggern eines scripts wie hier vorgeschlagen geändert

                                          ein script ist noch übrig geblieben - in bestimmten situationen hat dieses script etwas über 10 andere scripts disabled - auf false gesetzt. hat jmd eine idee, wie ich das ohne datenpunkt steuern kann. in diesem script kann man sehr einfach sehen, welche scripts disabled werden - mir geht es nicht darum, mir eine if abfrage in diesen speziellen scripts zu sparen, sondern einen schnellen überblick zu behalten und nicht alle scripts zu durchsuchen , ob sie diese datenpunktabfrage haben. ich reaslisiere damit sowas wie "2 modi" für die haussteuerung .

                                          eine andere techn. frage hätte ich noch: ich hatte insgesamt über 30 scripts, die gestoppt waren und nach aufruf wieder beendet wurden. ich fand das gar keine so üble idee, weil ich dachte, das system spart sich speicher und performance, wenn diese selten aufgerufenen scripts nicht als aktiv im system verwaltet werden - lag ich da falsch ?

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #32

                                          @liv-in-sky sagte in Über scriptEnabled triggern verboten. Aber wie richtig?:

                                          lag ich da falsch ?

                                          nein!

                                          Die Aufgabe des "einen" Scripts habe ich noch nicht ganz verstanden.

                                          Vielleicht liege ich da auch falsch, aber du brauchst (eventuell) gar kein if sondern nur den Trigger auf den State.
                                          und wenn ich es doch richtig verstanden haben sollte, kann das auch ein einziger state für alle 10 anderen Scripts sein

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          819

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe