NEWS
UNSOLVED Wie in der vis einen Ton abspielen lassen?
-
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; } });
-
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 -
@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
-
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. -
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.
-
@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 !
-
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
-
-
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. -
@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 lesenDann 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');
-
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
wenn er eine Internetverbindung hat.
Dies stimmt nicht !
-
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. -
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
mit dem Testbutton funktioniert dies auch
na dann funktioniert das auch aus einem Skript... nutzt Du Blockly ?
-
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
an einem zugänglichen Ort.
wo zeigen !
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
Über Set state wird das File leider nicht abgespielt.
zeigen
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
Adapter habe ich auf Browser gestellt
Einstellung zeigen per Hardcopy
Fazit:
Ohne Infos kann dir keiner helfen ! -
Ok, danke für deine Geduld.
File liegt hier: http://192.168.179.100:8081/files/vis.0/Klingel.mp3
Wie gesagt, direkt über den browser kann ich darauf zugreifen und das File abspielen.Über den befehl
setState("sayit.0.tts.text"/*Text to speech*/, 'http://192.168.179.100:8081/files/vis.0/Klingel.mp3');
klappt es nicht.
Hier die Einstellungen im Adapter:
-
was steht da?
probiere es so:
setState('sayit.0.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/Klingel.mp3');
-
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
setState("sayit.0.tts.text"/Text to speech/, 'http://192.168.179.100:8081/files/vis.0/Klingel.mp3');
ist falsch.....
richtig:
setState("sayit.0.tts.text"/*Text to speech*/, /files/vis.0/Klingel.mp3');
-
Oje, das war ja mal wieder extrem geistiger Tiefflug.
Geht, danke. -
@freak sagte in Wie in der vis einen Ton abspielen lassen?:
Oje, das war ja mal wieder extrem geistiger Tiefflug.
Geht, danke.Was geht jetzt wie genau ?
-
Sorry, mein Fehler.
Es war nur die Pfadangabe falsch.
So funktioniert es:setState('sayit.0.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/Klingel.mp3');