Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Wie in der vis einen Ton abspielen lassen?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED Wie in der vis einen Ton abspielen lassen?

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      saeft_2003 Most Active last edited by saeft_2003

      Ok Danke der Fehler ist weg. Jetzt hab ich das Problem sobald das Script aktiv ist wird in einer Dauerschleife ständig der Sound abgespielt. Es spielt keine Rolle ob das Objekt Pushnachricht_sichtbarkeit den Wert true oder false hat. Weil ich hätte gerne das wenn der das Objekt den Wert true hat der Sound einmal abgespielt wird.

      Kann es sein das ich ID falsch verstanden habe und dort etwas anderes stehen müsste?

      on({ID: "admin.0.Pushnachricht_sichtbarkeit", val: true}, function(){
      setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.178.90:8082/vis.0/main/img/simple-sound.mp3"}')
      })
      
      thewhobox 1 Reply Last reply Reply Quote 0
      • thewhobox
        thewhobox @saeft_2003 last edited by Homoran

        @saeft_2003

        let alreadyPlayed = false;
        on("admin.0.Pushnachricht_sichtbarkeit", function(obj){
          if(obj.state.val) {
            if(!alreadyPlayed) setState([...]);
            alreadyPlayed = true;
          } else {
            alreadyPlayed = false;
          }
        });
        

        Damit sollte nur einmal der Ton abgespielt werden wenn auf der Datenpunkt auf true gesetzt wird.
        Ich weiß leider nicht wie der Datenpunkt "admin.0.Pushnachricht_sichtbarkeit" gesteuert wird, ansonsten gäbe es vll auch einfachere Lösungen.

        S 1 Reply Last reply Reply Quote 0
        • S
          saeft_2003 Most Active @thewhobox last edited by

          @thewhobox

          Danke 🙂 Dein Script funktioniert perfekt genau so wollte ich es haben! Da ich kein Bock mehr auf Telegram hatte, wollte ich Pushnachrichten direkt in meiner VIS haben. Ich habe es so gemacht das alle möglichen Scripte in ein Objekt Texte bzw. Nachrichten schreiben können. Wenn sich das Objekt geändert hat, dann geht Pushnachricht_sichtbarkeit auf true und die Nachricht wird in meiner VIS eingezeigt und in dieser ist ein schließen Button um den Wert wieder auf false setzten zu können wenn die Nachricht gelesen wurde.

          Vielleicht alles etwas kompliziert, aber es geht soweit...

          1 Reply Last reply Reply Quote 0
          • O
            OT last edited by

            Ich versuche es ähnlich umzusetzen wie es oben beschrieben ist. Allerdings scheitre ich schon beim Zugriff auf die mp3 Datei. Ich hab mit dem Dateimanager aus der VIS einen neuen Ordner (Sound) erstellt und in diesen die Datei Hupe.mp3 mit Upload hochgeladen.
            Leider wird diese nicht abgespielt. Wenn ich anstelle meiner Datei ein mp3 aus dem Internet aufrufe (wie z.B. das GidHub Beispiel) funktioniert es.

            setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.111.137:8082/vis.0/main/sound/hupe.mp3"}'); 
            

            Ist meine Pfadangabe falsch? Hat jemand eine Idee?

            TheBam 1 Reply Last reply Reply Quote 0
            • TheBam
              TheBam @OT last edited by

              @OT hast du groß und klein Schreibung beachtet?

              O 1 Reply Last reply Reply Quote 0
              • O
                OT @TheBam last edited by

                @ThaBam du hast recht, das war das Problem. Manchmal sieht man den Wald vor lauter Bäumen nicht.
                Danke

                MartinP 1 Reply Last reply Reply Quote 0
                • A
                  Anderbus last edited by

                  Hallo,
                  weiß jemand ob der Sound mit diesem Skript auch auf der Vis App auf einem iPad ausgegeben? Wenn nicht gibt es eine Lösung?

                  1 Reply Last reply Reply Quote 0
                  • Curtis777
                    Curtis777 last edited by Curtis777

                    Habe mich an dem Skript auch versucht.
                    habe hierzu mal ein Temporärer Objekt mit false true generiert zum testen.

                    der Ton kommt leider mehrfach aus.... 😞

                    seht ihr meinen Fehler ?

                    on({ID: "eigene.0.tempobjekt", val: true}, function(){
                    
                    let alreadyPlayed = false;
                    on("eigene.0.tempobjekt", function(obj){
                      if(obj.state.val) {
                        if(!alreadyPlayed) setState("vis.0.control.command", '{"instance": "34.36266", "command": "playSound", "data": "http://192.168.0.2:8082/vis.0/Bilder/klingel.mp3"}');
                        alreadyPlayed = true;
                      } else {
                        alreadyPlayed = false;
                      }
                    });
                    })
                    
                    Staubi0815 1 Reply Last reply Reply Quote 0
                    • Staubi0815
                      Staubi0815 @Curtis777 last edited by

                      @Curtis777

                      Ich glaube das erste mal das ich nicht frage sondern mal helfen Kann 😁

                      So funktioniert es er spielt bei Betätigung den Ton einmal ab.

                      on({id: "javascript.0.sonos.Alarm"/*Alarm*/, change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        let alreadyPlayed = false;
                        if ((obj.state ? obj.state.val : "") == true) {
                          setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.178.40/mp3/schiffshorn.mp3"}');
                          setState("javascript.0.sonos.Alarm"/*Alarm*/, false);
                        } else {
                          alreadyPlayed = false;
                        }
                      });
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Marius Gawollek
                        Marius Gawollek last edited by

                        Hallo zusammen,

                        ich greife dieses doch etwas ältere Thema noch einmal auf.
                        Ich möchte Ähnliches umsetzen, wie es hier bereits umgesetzt/besprochen wurde:

                        In VIS wird der Text "ACHTUNG: Temperatur zu hoch" angezeigt, sofern der Temperaturfühler eine gewisse Temperatur überschreitet (hier >= -8°C). Der Text blinkt. Hier möchte ich, dass die Datei alarm.wav im 5-Minuten-Takt abgespielt wird. Die alarm.wav ist über den Internet-Browser erreichbar und abspielbar.

                        Habt ihr eine Idee wie ich das am besten umsetze?

                        Vielen Dank schon mal!
                        Marius

                        Unbenannt.png

                        1 Reply Last reply Reply Quote 0
                        • M
                          Medoc last edited by Medoc

                          @staubi0815 sagte in Wie in der vis einen Ton abspielen lassen?:

                          also bei mir läuft es nicht. ich bekomme eine rote fehlermeldung

                          on({id: "0_userdata.0.Backofen.Sound'/*Sound*/, change: "ne"}, function (obj) {
                            var value = obj.state.val;
                            var oldValue = obj.oldState.val;
                            let alreadyPlayed = false;
                            if ((obj.state ? obj.state.val : "") == true) {
                              setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.188.100:8082/vis.0/signals/grandola.mp3"}');
                              setState("0_userdata.0.Backofen.Sound'/*Sound*/, false);
                            } else {
                              alreadyPlayed = false;
                            }
                          });
                          

                          (zeile 12 ist nicht im script. weshalb der editor das hier reinbastelt, keine ahnung

                          hat sich erledigt, läuft, hatte einen tippfehler

                          1 Reply Last reply Reply Quote 0
                          • M
                            Medoc last edited by Medoc

                            ein problem habe ich dennoch,
                            ich habe mehrere tablets in der wohnung verteilt.
                            auf allen läuft die selbe vis.
                            der ton wird aber nur auf einem abgespielt. ich möchte aber das er auf allen geräten läuft.

                            ok, es liegt nicht am script, sondern meine hardware macht komische sachen.
                            ich muß auf dem tablet das programm einmal starten, dann läuft es richtig.
                            offenkundig muß das gerät quasi eimal im io broker angemeldet werden.
                            und das nach jedem serverneustart neu.

                            1 Reply Last reply Reply Quote 0
                            • F
                              Freak last edited by

                              Hallo Zusammen, ich weiß das Thema ist schon etwas älter, dennoch hoffe ich, jemand hilft mir.

                              Ich habe das Script für meine bedürfnisse angepasst, leider funktioniert es bei mir nicht.
                              Ich füge das Script in der VIS unter Scripte ein. Ich bekomme keine Fehlermeldung oder sonstiges.
                              Das .mp3 File ist unter diesem Pfad zu finden. Mit VLC kann ich es von dieser Quelle abspielen.

                              In der Vis passiert aber nichts. Sieht jemand meinen Fehler?

                              on({id: "0_userdata.0.example_state", change: "ne"}, function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                let alreadyPlayed = false;
                                if ((obj.state ? obj.state.val : "") === true) {
                                  setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.179.100:8082/files/vis.0/Klingel.mp3"}');
                                  setState("0_userdata.0.example_state", false);
                                } else {
                                  alreadyPlayed = false;
                                }
                              });
                              

                              danke für die Unterstützung.

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @Freak last edited by

                                @freak sagte in Wie in der vis einen Ton abspielen lassen?:

                                setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "playSound", "data": "http://192.168.179.100:8082/files/vis.0/Klingel.mp3"}');

                                funktioniert dies separat ?
                                muss der command nicht am Ende oder als extra Zeile stehen ?

                                ausprobieren !

                                1 Reply Last reply Reply Quote 0
                                • F
                                  Freak last edited by

                                  Hallo,
                                  danke für die schnelle Rückmeldung. Leider bin ich eine absolute Java-Niete.

                                  Ich habe mehrere Varianten versucht, leider ohne Erfolg.
                                  Wie müsste das deiner Meinung nach aussehen?

                                  danke

                                  1 Reply Last reply Reply Quote 0
                                  • bahnuhr
                                    bahnuhr Forum Testing Most Active last edited by

                                    @freak

                                    Habs jetzt auf die schnelle auch nicht hinbekommen.

                                    Benutze den Adapter sayit.

                                    1 Reply Last reply Reply Quote 1
                                    • F
                                      Freak last edited by

                                      Danke für deine Mühe.
                                      Ich hab mir den Sayit adapter schon angesehen, allerdings macht der wohl nur was er soll, wenn er eine Internetverbindung hat.
                                      Das bringt mir dann leider nichts.

                                      DJMarc75 bahnuhr 2 Replies Last reply Reply Quote 0
                                      • DJMarc75
                                        DJMarc75 @Freak last edited by

                                        @freak sagte in Wie in der vis einen Ton abspielen lassen?:

                                        allerdings macht der wohl nur was er soll, wenn er eine Internetverbindung hat

                                        Wenn man Sprachausgaben nutzt dann ist das ja auch logisch.
                                        Den Adapter muss man natürlich auch richtig konfigurieren !
                                        In Deinem Fall wäre dann "Browser" die richtige Einstellung und wichtig: die Doku vom Adapter lesen 😉

                                        Dann musst Du den DP

                                        sayit.0.tts.text
                                        

                                        per Skript mit Deiner MP3, welche natürlich auf Deinem System liegt, befeuern 😉

                                        setState("sayit.0.tts.text"/*Text to speech*/, '/opt/iobroker/mp3/deine.mp3');
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • bahnuhr
                                          bahnuhr Forum Testing Most Active @Freak last edited by

                                          @freak sagte in Wie in der vis einen Ton abspielen lassen?:

                                          wenn er eine Internetverbindung hat.

                                          Dies stimmt nicht !

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            Freak last edited by

                                            Vielen Dank für eure Geduld und eure Rückmeldung. Leider klappt das nich so wie es soll.
                                            Das .mp3 File liegt an einem zugänglichen Ort. Wenn ich die Adresse im Browser eingebe, wird das File abgespielt.

                                            Über Set state wird das File leider nicht abgespielt.
                                            Im den Adapter habe ich auf Browser gestellt. mit dem Testbutton funktioniert dies auch.

                                            DJMarc75 bahnuhr 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            456
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            16
                                            42
                                            6288
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo