Rocki - Virtuelles Modul - MP3-Button

Dann hast du die gleiche Version wie ich :wink:

Wie gesagt, bei mir funktioniert es auf Anhieb. Kann es sein, dass der Rocki die IP anders setzt, wenn du zum Beispiel AirPlay nutzt? Ansonsten hab ich keine andere Idee :frowning:

Gruß

Hmmm, bleibt nur noch die Fritzbox oder der Rocki hat ne Macke?
Werde ihn morgen mal komplett resetten, das VD neu installieren etc.
Könntest Du bitte vllt noch mal Dein laufendes VD posten?

Vielen Dank
TT

Hab mir das aus dem Artikel geladen und IP/Port angepasst. Läuft damit.

Gruß

Hi,

so, nun habe ich das VD gelöscht, Rocki aus der Fritzbox gekickt, resettet und rebootet dann alles noch mal von vorne: läuft!

Vielen Dank für Deine Hilfe bei der Fehlersuche. Nachdem das VD und Rocki selbst auschieden konnte es ja nur noch das Netz sein.
Das VD ist super, läßt sich bestimmt auch gut in Combi mit dem Alarmpannel nutzen.

Eins würde mich noch sehr interssieren: Woher holst Du die Sprachfiles? Das habe ich noch nicht kapiert. Könnt man da eigene einbauen?

LG TT

Na sauber :slight_smile:

Die hinterlegten Soundfiles sind von mir mit dem Mac erstellt worden und auf meinen Webspace hochgeladen worden. Du kannst theoretisch auch die URL des Soundfiles in die stream-Variable hinterlegen. Das sollte auch gehen.

Gruß

Ok, für die Radios kann ich das mit der stream-variable nachvollziehen.
Aber bei den Sprachfiles finde ich das nicht?
Kannst Du bitte den Abschnitt mit dem Link auf Deinen Webspace markieren?
Hier z.B. der Geschirrspüler:

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")
local port = fibaro:get(selfId, 'TCPPort');
-- Lautstärke erhöhen
tcpSocket = Net.FTcpSocket(ip, port)
payload = [[POST /upnp/control/rendercontrol1 HTTP/1.1
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"
CONTENT-TYPE: text/xml ; charset="utf-8"
Content-Length: 361

<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel><DesiredVolume>60</DesiredVolume></u:SetVolume></s:Body></s:Envelope>]]

bytes, errorcode = tcpSocket:write(payload)
    --fibaro:debug(errorcode);
if errorcode == 0 then
    state = tcpSocket:read()
    fibaro:debug(state);
end
tcpSocket:disconnect()
-- ENDE

-- MP3-File setzen
tcpSocket = Net.FTcpSocket(ip, port)
payload = [[POST /upnp/control/rendertransport1 HTTP/1.1
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI"
CONTENT-TYPE: text/xml ; charset="utf-8"
Content-Length: 357

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetAVTransportURI xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID/><CurrentURI>http://www.verarscht.org/tts/geschirr_fertig.mp3</CurrentURI><CurrentURIMetaData/></u:SetAVTransportURI></s:Body></s:Envelope>]]

bytes, errorcode = tcpSocket:write(payload)
    --fibaro:debug(errorcode);
if errorcode == 0 then
    state = tcpSocket:read()
    fibaro:debug(state);
end
tcpSocket:disconnect()
-- ENDE

-- Datei abspielen 
tcpSocket = Net.FTcpSocket(ip, port)
payload = [[POST /upnp/control/rendertransport1 HTTP/1.1
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Play"
CONTENT-TYPE: text/xml ; charset="utf-8"
Content-Length: 245

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID/><Speed/></u:Play></s:Body></s:Envelope>]]

bytes, errorcode = tcpSocket:write(payload)
    fibaro:debug(errorcode);
if errorcode == 0 then
    state = tcpSocket:read()
    fibaro:debug(state);
end
tcpSocket:disconnect()
-- ENDE
fibaro:sleep(8*1000)
-- Lautstärke auf Standart zurücksetzen
tcpSocket = Net.FTcpSocket(ip, port)
payload = [[POST /upnp/control/rendercontrol1 HTTP/1.1
SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetVolume"
CONTENT-TYPE: text/xml ; charset="utf-8"
Content-Length: 361

<?xml version="1.0" encoding="utf-8"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SetVolume xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><Channel>Master</Channel><DesiredVolume>40</DesiredVolume></u:SetVolume></s:Body></s:Envelope>]]

bytes, errorcode = tcpSocket:write(payload)
    --fibaro:debug(errorcode);
if errorcode == 0 then
    state = tcpSocket:read()
    fibaro:debug(state);
end
tcpSocket:disconnect()
-- ENDE

Sorry, habs gerade selbst gefunden. :frowning:
Einfach in Zeile 29 www.verarscht.org… gegen den Link zu meinem file tauschen?
Content length?
LG TT

Hi,

genau. Den Pfad müsstest du ändern. Die Content-Length ist die Anzahl der Zeichen des XML-Files. Leider ein wenig umständlich, anders geht es leider nicht.

Gruß

Läuft jetzt alles!

Vielen Dank!
LG TT

Moin,
finde diese Funktion mit den mp3-dateien sehr interessant, aber als ich es selbst ausprobieren wollte und die URL geändert habe, spielte der Rocki immer noch die Geschirrspüler MP3. Muss ich noch was anderes ändern als die URL in Zeile 29???
Ich versuche die Dateien in einer Dropbox zu speichern und freizugeben, geht das nicht ?

Hi,

mit Dropbox wird das nicht funktionieren. Du musst die Datei mit dem Link über den Browser abspielen lassen können. Bei Dropbox wird die Datei mit ziemlicher Sicherheit geladen. Du musst dann die Content-Length in Zeile 27 zusätzlich anpassen.

Gruß

Moin,
habe noch webspace bei 1und1, weiß aber nicht wie man .mp3 Dateien streamt.
Recherche im Web ergab bisher wenig…
Hast du eine Ahnung, wie man das einrichtet?
Wäre mir eine große Hilfe…
Gruß

Hast du zufällig einen Homeserver? Synology oder so ? Da habe ich meine erstellten MP3 gespeichert und greife mit dem Rocki darauf zu. Bei irgendeiner Aktion Button im Rocki VD drücken - Sound abspielen. Funktioniert soweit ganz gut. Sowrit irgendwas mit den Rockis gut laufen kann - die Dinger bringen mich manchmal echt um den Verstand. Aber das ist ein anderes Thema…

Ja!
Ich habe hier eine Synolgy stehen.
Wie greifst du auf die Files zu ohne User anzulegen?
Könntest du das kurz erläutern?
Habe die Files bereits auf dem Server.
Gruß

Ja, kann ich gerne machen.Aber erst morgen früh. Fußball:-)
Ist nicht schwer. Du musst ja einen User bereits angelegt haben - du loggst dich ja auf der Synology ein. Das reicht . Im Prinzip musst du dann nur den Pfad wo deine MP3 liegt dann in einem Button vom Rocki VD hinterlegen. Du kopierst quasi zb. Den Sunshine Button- bzw. den Code in einen neue angelegten Button und tauscht die erste Reihe " local stream " ab dem http:// aus. Da kommt dann dein User und Passwort- IP der Synology : Port ( bei mir 5005) und der Pfad zur Datei rein…
Ich kann dir morgen mal einen Button kopieren mit dem ich auf die Synology zu greife.

Warten ist blöd :
Hier mal ein angepasster Button von mir :

local stream = “http://username:passwort@192.168.2.1…:5005/music/Rocki/Neue%20Info%20Wetter.mp3”

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, “IPAddress”)

local url = “/cgi-bin/rocki.cgi?Play=upnp&Host=127.0.0.1&Port=49153&URL=” … stream … “&Duration=99:59:59.999”

local ws = Net.FHttp(ip, 80)
local resp = ws:GET(url)

Bei http:// username ,Passwort und ip Adresse von der Synology anpassen - und nach 5005/ natürlich deinen Pfad auf der Synology.
Wenn du auf der Synology zu deiner MP3 navigierst und dann auf Eigenschaften oder so gehst , bekommst du den Pfad angezeigt.Kopieren und dann einfügen.
Hoffe das hilft so… Und nimm besser kurze einfache Namen für die gespeicherten MP3s auf der Synology.Möglichst ein Wort,manchmal spinnt der Rocki sonst herum…

Hi,
danke erstmal für die schnelle antwort :slight_smile:
Leider scheint dein Button bei mir nicht zu funktionieren…
Es kommt kein Ton…
Findet wer den Fehler?

local stream = "http://max:12345@192.168.1.95:5001/Sound/max.mp3

local selfId = fibaro:getSelfId();
local ip = fibaro:get(selfId, "IPAddress")

local url = "/cgi-bin/rocki.cgi?Play=upnp&Host=127.0.0.1&Port=49153&URL=" .. stream .. "&Duration=99:59:59.999"

local ws = Net.FHttp(ip, 80)
local resp = ws:GET(url)

Max und 12345 sind hierbei nur Platzhalter :slight_smile:
Wenn ich die IP mit Port 5001 in den Browser eingebe sagt er nur 400 Bad request. Wenn ich den Port aber weglasse ergänzt er https:// und :5001…
Gruß

Kannst du deinen Pfad http:// blablabla.mp3 im Browser am PC eingeben ? Spielt er dann die File ab ? Versuch mal. Nimm aber nicht den Explorer sondern Chrom oder Firefox. Da müsste er es dann öffnen.Wenn nicht stimmt evtl. Der Pfad nicht ganz ?

Hi,

https wird in VD nicht unterstützt. Das wird also nicht funktionieren. Sorry.

Gruß

Hallo an Alle
ich würde auch gern mit meinen Rocki vorgefertigte MP3 Files mit Fibaro HC2 wiedergeben .
Das VD funktioniert perfekt ,greift aber leider nur auf die 3 im Netz hinterlegten MP3 Files zum Test zu .
Meine Idee wäre meine TTS MP3s auf dem NAS der Fritzbox zu speichern und von dort abzugreifen .
Meine Frage nun ,geht sowas ? Wenn ja ,wie ???
Wäre sehr fein wenn jemand eine Antwort hätte