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. [Vorlage] Generisches Fensteroffenskript + Vis

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[Vorlage] Generisches Fensteroffenskript + Vis

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplatemonitoring
768 Beiträge 81 Kommentatoren 222.7k Aufrufe 97 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.
  • NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #295

    @crunchip @Dominik-F

    Bingo, es läuft
    Danke

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    1 Antwort Letzte Antwort
    0
    • crunchipC crunchip

      @Negalein Verschluss war noch aus den anfangszeiten des scripts
      überprüfe deine Sensoren nochmal genau aller Räume Türen und Fenster.
      Danach Instanz javascript einmal neustarten, danach müsste auch das script funktionieren

      die Anzeige nutze ich gar nicht, nur die Sprachausgabe, für die Anzeige habe ich was anderes

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      schrieb am zuletzt editiert von
      #296

      @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

      für die Anzeige habe ich was anderes

      was verwendest du dafür?

      Gibt es dort auch einen DP für die Anzahl aller Türen und Fenster gemeinsam?

      Derzeit verwende ich noch dieses Script mit dem "Metro - tile String" Widget.
      Screenshot_2020-07-11 Edit vis.png

      /* Status Zahl Fenster
      Homematic var cacheSelectorLevel = $('channel[state.id=*.STATE](functions="Fenster")');
      Mi var cacheSelectorState = $('state[id=*.state](functions="Fenster")');
      {1}
      */
      var logging = false;
       
      var idAnzahlEin = 'javascript.0.Status.Fenster.Anzahl_auf',
          idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
          idText = 'javascript.0.Status.Fenster.Text',
          idRaum = 'javascript.0.Status.Fenster.Raum', // <---- NEU
          idAnsage = 'javascript.0.Status.Fenster.Ansage';
       
      // Ab hier nix mehr ändern
      createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
          type: 'number',
          name: 'Anzahl aller Fenster',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState(idAnzahlEin, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
          type: 'number',
          name: 'Anzahl der offenen Fenster',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
          type: 'string',
          name: 'Offene Fenster',
          desc: 'Namen der offenen Fenster',
          def: ' ',
          role: 'value'
      });
      createState(idAnsage, {
          type: 'string',
          name: 'Offene Fenster (Ansage)',
          desc: 'Namen der offenen Fenster (für Ansage aufbereitet)',
          def: ' ',
          role: 'value'
      });
      createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
          type: 'string',
          name: 'Räume mit offenen Fenster',
          desc: 'Namen der Räume, in denen Fenster offen sind',
          def: ' ',
          role: 'value'
      });
       
      //var cacheSelectorState = $('channel[state.id=*.STATE](functions="Licht")'); // Gewerk Licht
      var cacheSelectorLevel = $('channel[state.id=*.LEVEL](functions="XXX")');
      //var cacheSelectorHue = $('state[id=*.on](functions=Licht)');
      var cacheSelectorState2 = $('channel[state.id=*.STATE](functions="Fenster")'); //Homematic
      var cacheSelectorState = $('state[id=*.state](functions="Fenster")'); //Mi
       
      function checkDevices(obj) {
          // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
          var anzahlLichterAn = 0;
          var anzahlLichter = 0;
          var textLichterAn = [];
          var textRaum = [];
          if (logging) {
              log('++++++ Fenster Anzahl ++++ ');
              log('#### Mi ##### ');
          }
          cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Fenster
              var status = getState(id).val; // Zustand *.state abfragen (jedes Element)
              var deviceId = id.substring(0, id.lastIndexOf("."));
              var devicename = getObject(deviceId).common.name; 
              var raumname = getObject(id, "rooms").enumNames[0];
              if (logging) {
                  log('---Mi----');
                  log('Raum: ' + JSON.stringify(raumname));
                  log('Status: ' + status);
              }
              if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                  ++anzahlLichterAn;
                  textLichterAn.push(devicename); // Zu Array hinzufügen
                  textRaum.push(raumname); // <---- NEU
              }
              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
          });
          
          cacheSelectorState2.each(function(id, i) { // Schleife für jedes gefundenen Element *.ON im Gewerk Licht
              var obj = getObject(id);
              var name = getObject(id).common.name;
              var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
              var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
              var raumname = getObject(id, "rooms"); // <---- NEU
       
              // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
              // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
              if (logging) {
                  log('---Homematic----');
                  log('Kanal: ' + name);
                  log('Status: ' + status);
              }
              if (status) { // wenn Zustand = true, dann wird die Anzahl der Lichter hochgezählt
                  ++anzahlLichterAn;
                  textLichterAn.push(devicename); // Zu Array hinzufügen
                  textRaum.push(raumname.enumNames); // <---- NEU
              }
              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
              // } // ENDE VK-Abfrage
          });
       
          if (logging) log('#### DIMMER ##### ');
          cacheSelectorLevel.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
              var obj = getObject(id);
              var name = getObject(id).common.name;
              var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
              var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
              var raumname = getObject(id, "rooms"); // <---- NEU
       
              // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
              // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
              
              if (logging) {
                  log('-------');
                  log('Kanal: ' + name);
                  log('Status: ' + status + '%');
              }
              if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                  ++anzahlLichterAn;
                  textLichterAn.push(devicename); // Zu Array hinzufügen
                  textRaum.push(raumname.enumNames); // <---- NEU
              }
              ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
              // } // Ende Abfrage VK 
          });
       
          // Array mit Lichternamen sortieren
          textLichterAn.sort();
          textRaum.sort(); // <---- NEU
          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
          if (logging) log("Text: " + textLichterAn);
          if (logging) log("Anzahl Fenster: " + anzahlLichter + " # davon Fenster offen: " + anzahlLichterAn);
          // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
          setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
          setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
          setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
          // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
          setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
      }
       
      // Trigger
      cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
          if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          checkDevices();
      });
      cacheSelectorState2.on(function(obj) { // bei Zustandänderung *.ON von HUE Lampen im Gewerk Licht
          if (logging) log('Auslösende Homematic: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          checkDevices();
      });
      cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
          if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
          checkDevices();
      });
       
      function main() {
          setTimeout(function() {
              if (logging) log('Auslöser Skriptstart');
              checkDevices();
          }, 2000);
      }
       
      main(); // Skriptstart-Auslöser
       
      // Aufbereitung für Ansage
      function strip_tags(data) {
          var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
          return (rueckgabe);
      }
       
      on(idText, function(obj) {
          var text = obj.state.val;
          text = (getState(idAnzahl).val > 0) ? 'Fenster offen: ' + strip_tags(text) : 'Alle Fenster geschlossen';
          setState(idAnsage, text);
      });
      

      Das Script von Pitini gibt leider keine Gesamtanzahl aus.

      ° Node.js: 20.17.0 NPM: 10.8.2
      ° Proxmox, Ubuntu 22.04.3 LTS
      ° Fixer ---> iob fix

      crunchipC 1 Antwort Letzte Antwort
      0
      • NegaleinN Negalein

        @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

        für die Anzeige habe ich was anderes

        was verwendest du dafür?

        Gibt es dort auch einen DP für die Anzahl aller Türen und Fenster gemeinsam?

        Derzeit verwende ich noch dieses Script mit dem "Metro - tile String" Widget.
        Screenshot_2020-07-11 Edit vis.png

        /* Status Zahl Fenster
        Homematic var cacheSelectorLevel = $('channel[state.id=*.STATE](functions="Fenster")');
        Mi var cacheSelectorState = $('state[id=*.state](functions="Fenster")');
        {1}
        */
        var logging = false;
         
        var idAnzahlEin = 'javascript.0.Status.Fenster.Anzahl_auf',
            idAnzahl = 'javascript.0.Status.Fenster.Anzahl',
            idText = 'javascript.0.Status.Fenster.Text',
            idRaum = 'javascript.0.Status.Fenster.Raum', // <---- NEU
            idAnsage = 'javascript.0.Status.Fenster.Ansage';
         
        // Ab hier nix mehr ändern
        createState(idAnzahl, { // wenn benötigt: Anzahl der vorhandenen Lichter
            type: 'number',
            name: 'Anzahl aller Fenster',
            min: 0,
            def: 0,
            role: 'value'
        });
        createState(idAnzahlEin, { // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
            type: 'number',
            name: 'Anzahl der offenen Fenster',
            min: 0,
            def: 0,
            role: 'value'
        });
        createState(idText, { // Anzahl der brennenden Lichter und deren Namen als Variable unter Javascript.0 anlegen
            type: 'string',
            name: 'Offene Fenster',
            desc: 'Namen der offenen Fenster',
            def: ' ',
            role: 'value'
        });
        createState(idAnsage, {
            type: 'string',
            name: 'Offene Fenster (Ansage)',
            desc: 'Namen der offenen Fenster (für Ansage aufbereitet)',
            def: ' ',
            role: 'value'
        });
        createState(idRaum, { // Räume, in denen Lichter brennen // <---- NEU
            type: 'string',
            name: 'Räume mit offenen Fenster',
            desc: 'Namen der Räume, in denen Fenster offen sind',
            def: ' ',
            role: 'value'
        });
         
        //var cacheSelectorState = $('channel[state.id=*.STATE](functions="Licht")'); // Gewerk Licht
        var cacheSelectorLevel = $('channel[state.id=*.LEVEL](functions="XXX")');
        //var cacheSelectorHue = $('state[id=*.on](functions=Licht)');
        var cacheSelectorState2 = $('channel[state.id=*.STATE](functions="Fenster")'); //Homematic
        var cacheSelectorState = $('state[id=*.state](functions="Fenster")'); //Mi
         
        function checkDevices(obj) {
            // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Licht auf 0
            var anzahlLichterAn = 0;
            var anzahlLichter = 0;
            var textLichterAn = [];
            var textRaum = [];
            if (logging) {
                log('++++++ Fenster Anzahl ++++ ');
                log('#### Mi ##### ');
            }
            cacheSelectorState.each(function(id, i) { // Schleife für jedes gefundenen Element *.state im Gewerk Fenster
                var status = getState(id).val; // Zustand *.state abfragen (jedes Element)
                var deviceId = id.substring(0, id.lastIndexOf("."));
                var devicename = getObject(deviceId).common.name; 
                var raumname = getObject(id, "rooms").enumNames[0];
                if (logging) {
                    log('---Mi----');
                    log('Raum: ' + JSON.stringify(raumname));
                    log('Status: ' + status);
                }
                if (status) { // wenn Zustand = true, dann wird die Anzahl der Fenster hochgezählt
                    ++anzahlLichterAn;
                    textLichterAn.push(devicename); // Zu Array hinzufügen
                    textRaum.push(raumname); // <---- NEU
                }
                ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
            });
            
            cacheSelectorState2.each(function(id, i) { // Schleife für jedes gefundenen Element *.ON im Gewerk Licht
                var obj = getObject(id);
                var name = getObject(id).common.name;
                var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element)
                var devicename = name.substring(0, name.indexOf(".STATE")); //.state aus Text entfernen
                var raumname = getObject(id, "rooms"); // <---- NEU
         
                // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                // if ( (devicename.search(/(CUX)|(K2)|(K3)|(VK)|(:)/ig) == -1) ) { 
                if (logging) {
                    log('---Homematic----');
                    log('Kanal: ' + name);
                    log('Status: ' + status);
                }
                if (status) { // wenn Zustand = true, dann wird die Anzahl der Lichter hochgezählt
                    ++anzahlLichterAn;
                    textLichterAn.push(devicename); // Zu Array hinzufügen
                    textRaum.push(raumname.enumNames); // <---- NEU
                }
                ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                // } // ENDE VK-Abfrage
            });
         
            if (logging) log('#### DIMMER ##### ');
            cacheSelectorLevel.each(function(id, i) { // Schleife für jedes gefundenen Element *.LEVEL im Gewerk Licht
                var obj = getObject(id);
                var name = getObject(id).common.name;
                var status = getState(id).val; // Zustand *.LEVEL abfragen (jedes Element)
                var devicename = name.substring(0, name.indexOf(".LEVEL")); //.state aus Text entfernen
                var raumname = getObject(id, "rooms"); // <---- NEU
         
                // ########## Abfrage ob Virtueller Kanal? VK oder : im Namen)
                // if ( (devicename.search(/(CUX)|(K2)|(K3)|(V10)|(VK)|(:)/ig) == -1) ) { // Geräte mit diesen Strings im namen nicht beachten
                
                if (logging) {
                    log('-------');
                    log('Kanal: ' + name);
                    log('Status: ' + status + '%');
                }
                if (parseFloat(status) > 0) { // Wenn Dimmwert über 0
                    ++anzahlLichterAn;
                    textLichterAn.push(devicename); // Zu Array hinzufügen
                    textRaum.push(raumname.enumNames); // <---- NEU
                }
                ++anzahlLichter; // Zählt die Anzahl der vorhandenen Lichter unabhängig vom Status
                // } // Ende Abfrage VK 
            });
         
            // Array mit Lichternamen sortieren
            textLichterAn.sort();
            textRaum.sort(); // <---- NEU
            // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
            if (logging) log("Text: " + textLichterAn);
            if (logging) log("Anzahl Fenster: " + anzahlLichter + " # davon Fenster offen: " + anzahlLichterAn);
            // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
            setState(idText, textLichterAn.join(', ')); // Schreibt die aktuelle Namen der eingeschalteten Lichter
            setState(idAnzahlEin, textLichterAn.length); // Schreibt die aktuelle Anzahl der eingeschalteten Lichter
            setState(idAnzahl, anzahlLichter); // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Licht
            // setState(idRaum, textRaum.join(',<br>')); // Räume, in denen Licht brennt // <---- NEU
            setState(idRaum, textRaum.join(', ')); // Räume, in denen Licht brennt // <---- NEU
        }
         
        // Trigger
        cacheSelectorState.on(function(obj) { // bei Zustandänderung *.STATE im Gewerk Licht
            if (logging) log('Auslösender Schalter: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
            checkDevices();
        });
        cacheSelectorState2.on(function(obj) { // bei Zustandänderung *.ON von HUE Lampen im Gewerk Licht
            if (logging) log('Auslösende Homematic: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
            checkDevices();
        });
        cacheSelectorLevel.on(function(obj) { // bei Zustandänderung *.LEVEL im Gewerk Licht
            if (logging) log('Auslösender Dimmer: ' + obj.id + ': ' + obj.state.val); // Info im Log, welcher Zustand sich geändert hat
            checkDevices();
        });
         
        function main() {
            setTimeout(function() {
                if (logging) log('Auslöser Skriptstart');
                checkDevices();
            }, 2000);
        }
         
        main(); // Skriptstart-Auslöser
         
        // Aufbereitung für Ansage
        function strip_tags(data) {
            var rueckgabe = data.replace(/(&nbsp;|<([^>]+)>)/ig, " ");
            return (rueckgabe);
        }
         
        on(idText, function(obj) {
            var text = obj.state.val;
            text = (getState(idAnzahl).val > 0) ? 'Fenster offen: ' + strip_tags(text) : 'Alle Fenster geschlossen';
            setState(idAnsage, text);
        });
        

        Das Script von Pitini gibt leider keine Gesamtanzahl aus.

        crunchipC Abwesend
        crunchipC Abwesend
        crunchip
        Forum Testing Most Active
        schrieb am zuletzt editiert von crunchip
        #297

        @Negalein ich habe oben in meiner Menüleiste über Sichtbarkeit gesteuert. Wenn Licht an, bzw Fenster oder Tür geöffnet ist, wird mir der Raumname eingeblendet, ansonsten ist alles ausgeblendet
        1e0b594f-243d-4308-9605-2659eea1a23b-image.png
        50b2d85e-b6df-40a4-806d-682a23e94c2d-image.png

        umgestiegen von Proxmox auf Unraid

        1 Antwort Letzte Antwort
        0
        • P Pittini

          @rotamint sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

          Wo kann ich das nach "2 / benutzerdefiniert" einrichten? Ich habe nichts gefunden.

          Anleitung .6.13

          R Offline
          R Offline
          rotamint
          schrieb am zuletzt editiert von
          #298

          @Pittini Danke! Vor lauter Bäumen den Wald nicht gesehen...

          1 Antwort Letzte Antwort
          0
          • dslraserD dslraser

            @qqolli
            es geht dabei um z.B. speak, oder ssml, oder auch Ankündigungen. Die gingen in den letzten Monaten immer mal wieder nicht auf sonos, auf allen anderen Alexa Geräten die das können ging es weiterhin.

            Beispiel

            https://forum.iobroker.net/post/423250

            qqolliQ Offline
            qqolliQ Offline
            qqolli
            schrieb am zuletzt editiert von
            #299

            @dslraser

            Hi,

            habe am Wochenende den Echo Dot ausprobiert und wie ihr bereits vorhergesagt hattet ging alles ohne Probleme, das Skript hat brav seine Ansagen gemacht und der liebe Sonos die "Klappe" gehalten.

            @Pittini Sorry für die Art und Weise am Anfang, war nich ok so. Du hattest natürlich recht.
            @Pittini An Deiner Snips-Lösung wäre ich weiterhin sehr interessiert. Hättest Du evtl. mehr Material zum einarbeiten?

            P 1 Antwort Letzte Antwort
            0
            • qqolliQ qqolli

              @dslraser

              Hi,

              habe am Wochenende den Echo Dot ausprobiert und wie ihr bereits vorhergesagt hattet ging alles ohne Probleme, das Skript hat brav seine Ansagen gemacht und der liebe Sonos die "Klappe" gehalten.

              @Pittini Sorry für die Art und Weise am Anfang, war nich ok so. Du hattest natürlich recht.
              @Pittini An Deiner Snips-Lösung wäre ich weiterhin sehr interessiert. Hättest Du evtl. mehr Material zum einarbeiten?

              P Offline
              P Offline
              Pittini
              Developer
              schrieb am zuletzt editiert von
              #300

              @qqolli sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

              @Pittini An Deiner Snips-Lösung wäre ich weiterhin sehr interessiert. Hättest Du evtl. mehr Material zum einarbeiten?

              Hilft Dir doch alles nix mehr, Du kannst Dich weder anmelden noch was ändern, bei mir läufts halt "noch" weil ich vorher schon alles eingerichtet hatte. Aber vielleicht hilft Dir das da, hab ich die Tage entdeckt, aber noch keinerlei Tests gemacht: https://forum.iobroker.net/topic/34343/sepia-open-assistant-diy-sprachassistent-iobroker

              1 Antwort Letzte Antwort
              0
              • crunchipC Abwesend
                crunchipC Abwesend
                crunchip
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #301

                @Pittini mal so nebenbei zwei Fragen, auch wenn du ne Abneigung zur Alexa hast:stuck_out_tongue_winking_eye:

                hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.

                1. hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?
                2. daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen

                umgestiegen von Proxmox auf Unraid

                P 1 Antwort Letzte Antwort
                0
                • crunchipC crunchip

                  @Pittini mal so nebenbei zwei Fragen, auch wenn du ne Abneigung zur Alexa hast:stuck_out_tongue_winking_eye:

                  hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.

                  1. hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?
                  2. daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen
                  P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #302

                  @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                  hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.

                  Seltsam, an diesen Funktionen hat sich absolut nix geändert, die Textübergabe an Alexa is absolut identisch zur alten Version.

                  hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?

                  Keine Ahnung, hat imho nix mit dem Skript zu tun

                  daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen

                  Machbar wenn Du mir sagen kannst wie der Befehl aussehen muss um ne Lautstärke an Alexa zu übergeben. Aktuell sieht der Beffehl so aus:

                  setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg)
                  

                  Wo kommt da die Lautstärke hin?

                  crunchipC sigi234S 2 Antworten Letzte Antwort
                  0
                  • P Pittini

                    @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.

                    Seltsam, an diesen Funktionen hat sich absolut nix geändert, die Textübergabe an Alexa is absolut identisch zur alten Version.

                    hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?

                    Keine Ahnung, hat imho nix mit dem Skript zu tun

                    daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen

                    Machbar wenn Du mir sagen kannst wie der Befehl aussehen muss um ne Lautstärke an Alexa zu übergeben. Aktuell sieht der Beffehl so aus:

                    setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg)
                    

                    Wo kommt da die Lautstärke hin?

                    crunchipC Abwesend
                    crunchipC Abwesend
                    crunchip
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #303

                    @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    die Textübergabe an Alexa is absolut identisch zur alten Version.

                    die gab es im alten script doch noch gar nicht, Meldungen wie ...Raum-xy nicht gelüftet...

                    Einzelne Ansagen, ob was geöffnet/geschlossen wurde, oder etwas seit x Minuten offen steht, funktioniert ja, da es nur 1 Commands.announcement ausgegeben wird.

                    Bei Raum xy nicht gelüftet... funktioniert es auch, solange nur ein Raum ausgegeben wird, sind es mehrere Räume, werden diese nacheinander ausgegeben, Signalton, gefolgt von der MSG, danach (ab hier ganz leise) erneut Signalton gefolgt von der nächsten MSG...usw
                    ich hätte da erwartet, einmalig Signalton, dann alle Meldungen nacheinander
                    Warum die Lautstärke aber unterschiedlich ist, in dem Fall, keine Ahnung

                    @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    Wo kommt da die Lautstärke hin?

                    wenn ich das wüsste:slightly_frowning_face:

                    umgestiegen von Proxmox auf Unraid

                    F 1 Antwort Letzte Antwort
                    0
                    • P Pittini

                      @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      hatte bis vor kurzem das Script aus deinem Anfangspost, mit dem neuen habe ich jedoch ein Lautstärkenproblem.

                      Seltsam, an diesen Funktionen hat sich absolut nix geändert, die Textübergabe an Alexa is absolut identisch zur alten Version.

                      hast du ne Ahnung woher das kommen kann, wenn mehrere Meldungen nacheinander ausgegeben werden...z.b.nicht gelüftet...Raum1...., Raum2.... ,Raum3..., die erste Meldung in der Lautstärke kommt, wie der Echo eingestellt ist, jedoch alle folge Meldungen für Raum 2...3...dann aber wesentlich leiser ausgegeben werden, so das man es kaum noch versteht?

                      Keine Ahnung, hat imho nix mit dem Skript zu tun

                      daher die zweite Frage, wäre es möglich die Lautstärke als Variable mit einzubinden, da die Kinder gerne mal an der Lautstärke vom Echo spielen

                      Machbar wenn Du mir sagen kannst wie der Befehl aussehen muss um ne Lautstärke an Alexa zu übergeben. Aktuell sieht der Beffehl so aus:

                      setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg)
                      

                      Wo kommt da die Lautstärke hin?

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #304

                      @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      Wo kommt da die Lautstärke hin?

                      So setze ich für einen Dot ein Volume, vielleicht hilft das.

                      setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/*volume*/, 80);
                      

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      dslraserD 1 Antwort Letzte Antwort
                      0
                      • sigi234S sigi234

                        @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                        Wo kommt da die Lautstärke hin?

                        So setze ich für einen Dot ein Volume, vielleicht hilft das.

                        setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/*volume*/, 80);
                        
                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von dslraser
                        #305

                        @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                        So setze ich für einen Dot ein Volume, vielleicht hilft das.
                        setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/volume/, 80);

                        Das ist für Musik (Player.volume), oder MultiroomMusik Gruppen.

                        Als was wird denn die Ansage ausgegeben ?

                        speak
                        ssml
                        oder ankündigung ?

                        Wenn darüber, dann ist es

                        alexa2.0.Echo-Devices.xxx.Commands.speak-volume
                        

                        oder man setzt vor dem eigentlichen Text die Lautstärke als Zahl;Text...

                        Screenshot_20200714-161027_Chrome.jpg

                        Screenshot_20200714-161045_Chrome.jpg

                        https://github.com/Apollon77/ioBroker.alexa2

                        Nach der eigentlichen Ansage wird die Lautstärke dann automatisch wieder auf die zuvor eingestellte Lautstärke gesetzt.

                        Also diese gesetzte Lautstärke ist dann nur für diese Ansage

                        Edit: habe es selbst gefunden, also als Ankündigung

                        Bildschirmfoto 2020-07-14 um 16.17.39.png

                        Bildschirmfoto 2020-07-14 um 16.24.40.png

                        crunchipC 1 Antwort Letzte Antwort
                        0
                        • crunchipC crunchip

                          @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          die Textübergabe an Alexa is absolut identisch zur alten Version.

                          die gab es im alten script doch noch gar nicht, Meldungen wie ...Raum-xy nicht gelüftet...

                          Einzelne Ansagen, ob was geöffnet/geschlossen wurde, oder etwas seit x Minuten offen steht, funktioniert ja, da es nur 1 Commands.announcement ausgegeben wird.

                          Bei Raum xy nicht gelüftet... funktioniert es auch, solange nur ein Raum ausgegeben wird, sind es mehrere Räume, werden diese nacheinander ausgegeben, Signalton, gefolgt von der MSG, danach (ab hier ganz leise) erneut Signalton gefolgt von der nächsten MSG...usw
                          ich hätte da erwartet, einmalig Signalton, dann alle Meldungen nacheinander
                          Warum die Lautstärke aber unterschiedlich ist, in dem Fall, keine Ahnung

                          @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          Wo kommt da die Lautstärke hin?

                          wenn ich das wüsste:slightly_frowning_face:

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von
                          #306

                          @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          ... sind es mehrere Räume, werden diese nacheinander ausgegeben, Signalton, gefolgt von der MSG, danach (ab hier ganz leise) erneut Signalton gefolgt von der nächsten MSG...usw
                          ich hätte da erwartet, einmalig Signalton, dann alle Meldungen nacheinander
                          Warum die Lautstärke aber unterschiedlich ist, in dem Fall, keine Ahnung

                          Die mehrfachen Signaltöne im announcement kommen von Semikolon-separierten Texten, also z.B.: "Hallo Text1; Hallo Text2".
                          Mir ist es aber nicht gelungen, durch irgendwelche Kombinationen die Lautstärke zu verändern, ich habe aber auch kein Beispiel einer Textausgabe des Skripts(keine Sensoren), könntest du mal einen kompletten solchen Text posten?

                          @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          Wo kommt da die Lautstärke hin?

                          wenn ich das wüsste:slightly_frowning_face:

                          Die Lautstärke kann man durch Voranstellen in der Message einstellen, sie muss durch Semikolon separiert werden: "25; Hallo Test" setzt die Lautstärke nur für diesen Text, ansonsten gilt weiterhin die mit speak-volume festgelegte Lautstärke, sehr praktisch. Ein Setzen der Lautstärke mitten im Text funktioniert nicht, dann gibt Alexa die Zahlen aus

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          1 Antwort Letzte Antwort
                          0
                          • dslraserD dslraser

                            @sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                            So setze ich für einen Dot ein Volume, vielleicht hilft das.
                            setState("alexa2.0.Echo-Devices.xxxxxxxxxxxx.Player.volume"/volume/, 80);

                            Das ist für Musik (Player.volume), oder MultiroomMusik Gruppen.

                            Als was wird denn die Ansage ausgegeben ?

                            speak
                            ssml
                            oder ankündigung ?

                            Wenn darüber, dann ist es

                            alexa2.0.Echo-Devices.xxx.Commands.speak-volume
                            

                            oder man setzt vor dem eigentlichen Text die Lautstärke als Zahl;Text...

                            Screenshot_20200714-161027_Chrome.jpg

                            Screenshot_20200714-161045_Chrome.jpg

                            https://github.com/Apollon77/ioBroker.alexa2

                            Nach der eigentlichen Ansage wird die Lautstärke dann automatisch wieder auf die zuvor eingestellte Lautstärke gesetzt.

                            Also diese gesetzte Lautstärke ist dann nur für diese Ansage

                            Edit: habe es selbst gefunden, also als Ankündigung

                            Bildschirmfoto 2020-07-14 um 16.17.39.png

                            Bildschirmfoto 2020-07-14 um 16.24.40.png

                            crunchipC Abwesend
                            crunchipC Abwesend
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #307

                            @dslraser das weiss ich schon, dass der speak DP dafür zu nehmen ist und im blockly kann man in der Nachricht direkt die Lautstärke mitgeben.
                            Jedoch
                            In dem Fall als Ankündigung ...Commands.announcement
                            ich dachte als Variable im Script hinterlegen, so in der Art wie beim Wetterwarnung-Push-Script, nur ist dieses Script anders aufgebaut.
                            so in der Art, jedoch weiss ich nicht wie der Befehl dann aussehen soll

                            /* Konfiguration Sprachausgabe über Alexa
                            /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */
                            var idAlexaSerial       = ['']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y']
                            var alexaVolumen        = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
                            

                            @fastfoot hier mal ein Beispiel, SprachAusgabe erfolgt ohne Datum und Uhrzeit

                            javascript.0 (976) script.js.Benachrichtigung.Fenster_Tür-Status: TempMessageLog=14.07.2020 16:27:32: Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.
                            

                            umgestiegen von Proxmox auf Unraid

                            dslraserD F 2 Antworten Letzte Antwort
                            0
                            • crunchipC crunchip

                              @dslraser das weiss ich schon, dass der speak DP dafür zu nehmen ist und im blockly kann man in der Nachricht direkt die Lautstärke mitgeben.
                              Jedoch
                              In dem Fall als Ankündigung ...Commands.announcement
                              ich dachte als Variable im Script hinterlegen, so in der Art wie beim Wetterwarnung-Push-Script, nur ist dieses Script anders aufgebaut.
                              so in der Art, jedoch weiss ich nicht wie der Befehl dann aussehen soll

                              /* Konfiguration Sprachausgabe über Alexa
                              /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */
                              var idAlexaSerial       = ['']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y']
                              var alexaVolumen        = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
                              

                              @fastfoot hier mal ein Beispiel, SprachAusgabe erfolgt ohne Datum und Uhrzeit

                              javascript.0 (976) script.js.Benachrichtigung.Fenster_Tür-Status: TempMessageLog=14.07.2020 16:27:32: Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.
                              
                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #308

                              @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              In dem Fall als Ankündigung ...Commands.announcement

                              da geht das auch, kannst Du probieren...

                              Bildschirmfoto 2020-07-14 um 16.24.40.png

                              crunchipC 1 Antwort Letzte Antwort
                              0
                              • dslraserD dslraser

                                @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                In dem Fall als Ankündigung ...Commands.announcement

                                da geht das auch, kannst Du probieren...

                                Bildschirmfoto 2020-07-14 um 16.24.40.png

                                crunchipC Abwesend
                                crunchipC Abwesend
                                crunchip
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von crunchip
                                #309

                                @dslraser und wo soll ich das im Script eintragen?

                                
                                            if (UseAlexa) {
                                                if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg);
                                            };
                                

                                umgestiegen von Proxmox auf Unraid

                                dslraserD 1 Antwort Letzte Antwort
                                0
                                • crunchipC crunchip

                                  @dslraser und wo soll ich das im Script eintragen?

                                  
                                              if (UseAlexa) {
                                                  if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg);
                                              };
                                  
                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #310

                                  @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                  und wo soll ich das im Script eintragen?

                                  dafür kenne ich das Script zu wenig, das wird Dir @Pittini schon sagen...
                                  Mir ging es nur darum, das man auch bei Ankündigungen die Lautstärke über den selben Weg mitgeben kannst, wie z.B. bei speak.

                                  und wenn Du keine Ankündigung willst (also ohne das DingDong), dann mach doch da mal speak draus.

                                  if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.speak"/*speak*/, msg);
                                  
                                  crunchipC 1 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                    und wo soll ich das im Script eintragen?

                                    dafür kenne ich das Script zu wenig, das wird Dir @Pittini schon sagen...
                                    Mir ging es nur darum, das man auch bei Ankündigungen die Lautstärke über den selben Weg mitgeben kannst, wie z.B. bei speak.

                                    und wenn Du keine Ankündigung willst (also ohne das DingDong), dann mach doch da mal speak draus.

                                    if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.speak"/*speak*/, msg);
                                    
                                    crunchipC Abwesend
                                    crunchipC Abwesend
                                    crunchip
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von crunchip
                                    #311

                                    @dslraser wenn ich die Zeile änder und "Commands.speak" verwende funktioniert die Ausgabe nicht mehr richtig, dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.

                                    Jetzt hab ich die Originalzeile wieder eingefügt und nun kamen alle drei Räume mit der gleichen Lautstärke,
                                    irgendwie sehr seltsam @Pittini
                                    zum Test, hab ich das script nun paar mal neu gestartet um die Ausgabe zu testen, Lautstärke blieb konstant, jedoch ist mir nun aufgefallen

                                    • Räume kommen immer in unterschiedlicher Reihenfolge
                                    • Teilweise fehlen Raum Nachrichten, in der Logausgabe sind sie aber zu sehen

                                    hängt das vllt mit javascript, socketio oder sonst der gleichen zusammen??

                                    umgestiegen von Proxmox auf Unraid

                                    dslraserD 1 Antwort Letzte Antwort
                                    0
                                    • crunchipC crunchip

                                      @dslraser wenn ich die Zeile änder und "Commands.speak" verwende funktioniert die Ausgabe nicht mehr richtig, dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.

                                      Jetzt hab ich die Originalzeile wieder eingefügt und nun kamen alle drei Räume mit der gleichen Lautstärke,
                                      irgendwie sehr seltsam @Pittini
                                      zum Test, hab ich das script nun paar mal neu gestartet um die Ausgabe zu testen, Lautstärke blieb konstant, jedoch ist mir nun aufgefallen

                                      • Räume kommen immer in unterschiedlicher Reihenfolge
                                      • Teilweise fehlen Raum Nachrichten, in der Logausgabe sind sie aber zu sehen

                                      hängt das vllt mit javascript, socketio oder sonst der gleichen zusammen??

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

                                      @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                      dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.

                                      Ich habe die Erfahrung gemacht, das Commands.announcement alles "durch schiebt", auch wenn es zeitgleich gesendet wird und nacheinander ansagt.
                                      Commands.speak sagt immer das letzte an, was gesendet wurde und bricht eventuell laufende Ansagen ab.

                                      Wie genau sieht denn die Ansage aus ? (also nicht das Log) Steht der Text noch drinn in Commands.announcement , oder ist das nach der Ansage weg ? Wenn da noch was drinn steht, kannst Du das mal hier posten.
                                      (Es könnte ja tatsächlich sein, das es mehrere Nachrichten sind und die mit Komma oder Semikolon getrennt sind und dann die zweite Nachricht kommt und die fängt vielleicht mit einer Zahl, irgendwas an, und die verstellt Dir die Lautstärke ?)

                                      crunchipC 1 Antwort Letzte Antwort
                                      0
                                      • crunchipC crunchip

                                        @dslraser das weiss ich schon, dass der speak DP dafür zu nehmen ist und im blockly kann man in der Nachricht direkt die Lautstärke mitgeben.
                                        Jedoch
                                        In dem Fall als Ankündigung ...Commands.announcement
                                        ich dachte als Variable im Script hinterlegen, so in der Art wie beim Wetterwarnung-Push-Script, nur ist dieses Script anders aufgebaut.
                                        so in der Art, jedoch weiss ich nicht wie der Befehl dann aussehen soll

                                        /* Konfiguration Sprachausgabe über Alexa
                                        /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */
                                        var idAlexaSerial       = ['']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y']
                                        var alexaVolumen        = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
                                        

                                        @fastfoot hier mal ein Beispiel, SprachAusgabe erfolgt ohne Datum und Uhrzeit

                                        javascript.0 (976) script.js.Benachrichtigung.Fenster_Tür-Status: TempMessageLog=14.07.2020 16:27:32: Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.
                                        
                                        F Offline
                                        F Offline
                                        fastfoot
                                        schrieb am zuletzt editiert von
                                        #313

                                        @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                        Küche nicht gelüftet 2 Tage 20 Std. 10 Min.,14.07.2020 16:27:32: Kinderzimmer nicht gelüftet 2 Tage 1 Std. 8 Min.,14.07.2020 16:27:32: Badezimmer nicht gelüftet 2 Tage 6 Std. 9 Min.

                                        Man bräuchte hier die Original Message, nicht das LOG. Habe es aber herausgefunden, nachdem ich mir ein paar virtuelle Sensoren 'besorgt' habe. Die Nachricht wird leiser, wenn die Sprach-Kommandos zu schnell aufeinanderfolgen, ich denke das muss/sollte man so hinnehmen.

                                        Mit der Lautstärke könnte man es so lösen:

                                        const UseAlexa = true; // Sollen Nachrichten via Alexa ausgegeben werden?
                                        const AlexaId = "G090xxxxxxxx1876"; // Die Alexa Seriennummer.
                                        const AlexaTmpVolume = 45; // Alexa Lautstärke
                                        .
                                        .
                                        .
                                                    if (UseAlexa) {
                                                        let tmpMsg = AlexaTmpVolume + ';' + msg;
                                                        if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, tmpMsg);
                                                    };
                                        
                                        

                                        iobroker läuft unter Docker auf QNAP TS-451+
                                        SkriptRecovery: https://forum.iobroker.net/post/930558

                                        crunchipC 1 Antwort Letzte Antwort
                                        1
                                        • dslraserD dslraser

                                          @crunchip sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                          dann kommt nur noch 1 Raum als Meldung, die anderen Räume werden nicht mit ausgegeben.

                                          Ich habe die Erfahrung gemacht, das Commands.announcement alles "durch schiebt", auch wenn es zeitgleich gesendet wird und nacheinander ansagt.
                                          Commands.speak sagt immer das letzte an, was gesendet wurde und bricht eventuell laufende Ansagen ab.

                                          Wie genau sieht denn die Ansage aus ? (also nicht das Log) Steht der Text noch drinn in Commands.announcement , oder ist das nach der Ansage weg ? Wenn da noch was drinn steht, kannst Du das mal hier posten.
                                          (Es könnte ja tatsächlich sein, das es mehrere Nachrichten sind und die mit Komma oder Semikolon getrennt sind und dann die zweite Nachricht kommt und die fängt vielleicht mit einer Zahl, irgendwas an, und die verstellt Dir die Lautstärke ?)

                                          crunchipC Abwesend
                                          crunchipC Abwesend
                                          crunchip
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #314

                                          @dslraser
                                          in Commands.announcement steht auch nur die letzte Meldung drin.
                                          und gerade getestet und verglichen, Ausgabe Kinderzimmer und Badezimmer kamen , Küche blieb aber aus, obwohl es im DP steht
                                          e5f77971-30d7-4023-ac34-3950485fce21-image.png
                                          irgendwie ist da doch was faul, mal gehts korrekt, mal nicht.
                                          Ist mir ja auch nur aufgefallen, als ich für mehrere Fenster den VentWarnTime eingerichtet hatte, alle anderen Sprachausgaben kommen ja nicht am Stück

                                          umgestiegen von Proxmox auf Unraid

                                          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

                                          647

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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