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. Sayit - Sprachrückmeldung

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

Sayit - Sprachrückmeldung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
27 Beiträge 5 Kommentatoren 3.3k Aufrufe
  • Ä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.
  • G Offline
    G Offline
    gst666
    schrieb am zuletzt editiert von
    #18

    Ohne das Zeitglied könnte die Funktion so aussehen:

    var idSayIt     = "sayit.0.tts.text";               // Hier die entsprechende SayIt Text ID
    var idButton    = "hm-rpc.0.NEQ1660467.2.STATE"; //Objekt
    
    // Nach Schalten wird folgender Text gesprochen
    subscribe({id: idButton, val: any}, function (obj) {
                      if (obj.state.val == true ) {
                           setState (idSayIt, "de;60;Esstisch - Licht An");
                      } else {
                           setState (idSayIt, "de;60;Esstisch - Licht Aus");
                      }
             }
    
    });
    
    

    Das Zeitglied kannst Du natürlich auch wieder einbauen.

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      Hicki
      schrieb am zuletzt editiert von
      #19

      Ich danke Dir.

      Welchen Sinn hat das Zeitglied in dem Script?

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gst666
        schrieb am zuletzt editiert von
        #20

        Wenn Du innerhalb einer definierten Zeit mehrfach den Taster drückst (hier 300 Sek), so soll keine erneute Sprachausgabe gemacht werden.

        1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          Hicki
          schrieb am zuletzt editiert von
          #21

          @gst666:

          Wenn Du innerhalb einer definierten Zeit mehrfach den Taster drückst (hier 300 Sek), so soll keine erneute Sprachausgabe gemacht werden. `

          Ahh, dass macht ja zum Teil Sinn.

          Ich danke Dir nochmals für Deine schnelle Hilfe.

          Gruß Andreas

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            Hicki
            schrieb am zuletzt editiert von
            #22

            Ich habe Dein Script gerade eingebaut.

            Funktioniert nicht. In der LOG bringt er diese Meldung:

            • 00:16:38.578 [info] javascript.0 Stop script script.js.common.Couchtisch_-_Licht_an_2(1)
            00:16:38.616 [info] javascript.0 Start javascript script.js.common.Couchtisch_-_Licht_an_2(1)
            
            00:16:38.618 [error] javascript.0 script.js.common.Couchtisch_-_Licht_an_2(1): ReferenceError: any is not defined at script.js.common.Couchtisch_-_Licht_an_2(1):5:31 
            

            Gruß Andreas

            1 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              Hicki
              schrieb am zuletzt editiert von
              #23

              Ich habe das Problem selbst finden können. Hier das korrigierte Script:

              var idSayIt     = "sayit.0.tts.text";                                   // Hier die entsprechende SayIt Text ID
              var idButton    = "hm-rpc.0.NEQ1660467.1.STATE";                        // Objekt
              
              // Nach Schalten wird folgender Text gesprochen
              on(idButton, function (obj) {                                           // auf Änderung
                       if (obj.state.val === true ) {                                 // Licht an
                                setState (idSayIt, "de;60;Couchtisch - Licht an");
                       } else if (obj.state.val === false ) {                         // Licht aus
                                setState (idSayIt, "de;60;Couchtisch - Licht Aus");
                       }      
              });
              
              

              Wie baue ich das Zeit-Glied oben wieder ein?

              if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                lastSay = (new Date()).getTime();
              
              

              Gruß Andreas

              1 Antwort Letzte Antwort
              0
              • H Offline
                H Offline
                Hicki
                schrieb am zuletzt editiert von
                #24

                hat keiner eine Idee.

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  Hicki
                  schrieb am zuletzt editiert von
                  #25
                  var idSayIt     = "sayit.0.tts.text";                                   // Hier die entsprechende SayIt Text ID
                  var idButton    = "hm-rpc.0.NEQ1660467.1.STATE";                        // Objekt
                  
                  // Nach Schalten wird folgender Text gesprochen
                  on(idButton, function (obj) {                                           // auf Änderung
                           if (obj.state.val === true ) {                                 // Licht an
                                    setState (idSayIt, "de;60;Couchtisch - Licht an");
                           } else if (obj.state.val === false ) {                         // Licht aus
                                    setState (idSayIt, "de;60;Couchtisch - Licht Aus");
                           }      
                  });
                  
                  

                  Wie baue ich das Zeit-Glied wieder ein?

                  Zeitglied:

                  if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                                    lastSay = (new Date()).getTime();
                  
                  

                  Kann ich denn überhaut ein Zeitglied in das Script einbauen?

                  Gruß Andreas

                  1 Antwort Letzte Antwort
                  0
                  • justrJ Offline
                    justrJ Offline
                    justr
                    schrieb am zuletzt editiert von
                    #26
                    var idSayIt     = "sayit.0.tts.text";                                   // Hier die entsprechende SayIt Text ID
                    var idButton    = "hm-rpc.0.NEQ1660467.1.STATE";                        // Objekt
                    var lastSay     = null;
                    
                    // Nach Schalten wird folgender Text gesprochen
                    on(idButton, function (obj) {                                           // auf Änderung
                        if (!lastSay || ((new Date()).getTime() - lastSay) > 3000) {
                            lastSay = (new Date()).getTime();
                            if (obj.state.val === true ) {                                 // Licht an
                                setState (idSayIt, "de;60;Couchtisch - Licht an");
                            } else if (obj.state.val === false ) {                         // Licht aus
                                setState (idSayIt, "de;60;Couchtisch - Licht Aus");
                            }
                        }
                    });
                    
                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Hicki
                      schrieb am zuletzt editiert von
                      #27

                      Vielen Dank, für Deine Hilfe.

                      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

                      692

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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