hm-sonos messages

diverse Zusatzsoftware

Moderator: Co-Administratoren

tobusk
Beiträge: 7
Registriert: 13.10.2019, 14:54
Hat sich bedankt: 1 Mal

hm-sonos messages

Beitrag von tobusk » 13.10.2019, 15:05

Hallo zusammen,
ich bin am verzweifeln, hoffentlich könnt ihr mir helfen.
Ich versuche jetzt schon seit Stunden eine Message auf den Sonos auszugeben.
Dazu möchte ich MP3-Dateien auf der Raspberrymatic ablegen und über ein Skript abspielen lassen als Message.

So sieht mein Skript aus:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/usr/local/etc/config/addons/www/sonos2/sonos2.cgi Flur message 1.mp3") 
Die Box reagiert auch indem sie die aktuelle wiedergabe unterbricht. Der Soundfile wird aber nicht abgespielt.
Ich verstehe einfach nicht wo ich den File rein kopieren muss.
Ich bin mit filezilla am Raspberry hab diverse Ordner angelegt aber nichts geht.
Im Bild sind die Ordner zu sehen. Standardmäsig ist ja bei hm-sonos von Jens Maus der Order Temp angegeben.
Aber wo muss der sein?
Dateianhänge
Bild.JPG
Zuletzt geändert von alchy am 14.10.2019, 10:24, insgesamt 1-mal geändert.
Grund: Code in Codetags posten

Nucom AG
Beiträge: 33
Registriert: 15.04.2019, 14:52
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: hm-sonos messages

Beitrag von Nucom AG » 14.10.2019, 11:07

Hallo tobusk

Als ich mein eigenes Sonos-Add on gebastelt hatte, musste ich immer den vollständigen URL zur Audiodatei hinterlegen.

In meinem Fall war es http://[IP-HM]/[addon-name]/klingel.mp3

MfG

Fabian

Fonzo
Beiträge: 6688
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: hm-sonos messages

Beitrag von Fonzo » 14.10.2019, 12:05

tobusk hat geschrieben:
13.10.2019, 15:05
Ich versuche jetzt schon seit Stunden eine Message auf den Sonos auszugeben.
Dazu möchte ich MP3-Dateien auf der Raspberrymatic ablegen und über ein Skript abspielen lassen als Message.
Kommt drauf an wie Du das genau abspielen willst. Du kannst z.B. das MP3 File in den Ordner
/usr/local/addons/mediola/neo_server/resources/alarm
schieben und das File alert1.mp3 dort überschreiben.

Dann kannst Du das File auf einem Sonos Gerät ausgeben lassen
sonso_alert.png
sonso_alert.png (15.94 KiB) 3095 mal betrachtet

tobusk
Beiträge: 7
Registriert: 13.10.2019, 14:54
Hat sich bedankt: 1 Mal

Re: hm-sonos messages

Beitrag von tobusk » 15.10.2019, 07:35

Hi,

vielen Dank für die Antworten.
Mediola nutze ich nicht.
Ich wollte das eigentlich rein mit dem Addon von Jens Maus machen.

https://github.com/jens-maus/hm-sonos

Play, Pause und Lauter, Leise funktioniert nur Messages bekomm ich nicht hin.

Play sieht z.B. so aus ...
dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/usr/local/etc/config/addons/www/sonos2/sonos2.cgi WC play");
das geht auch.

Dann gibt es auch ein config (sonos.cfg) im Ordener Sonos2\settings file in dem der Messagespeicher mit /Temp definiert ist.
# After this line are some settings
volumedown 5 messagespeicher /Temp messagevolume 20 volumeup 3 timeout 3 rampto auto stdvolume 10
Aber wogenau der sein soll erschließt sich mir nicht.

@ Fabian: Wie sollte das dann aussehen etwa so...?

dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/usr/local/etc/config/addons/www/sonos2/sonos2.cgi Flur message http://[IP-HM]/[addon-name]/klingel.mp3")

Nucom AG
Beiträge: 33
Registriert: 15.04.2019, 14:52
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: hm-sonos messages

Beitrag von Nucom AG » 15.10.2019, 11:08

dom.GetObject("CUxD.CUX2801001:3.CMD_EXEC").State("/usr/local/etc/config/addons/www/sonos2/sonos2.cgi Flur message http://[IP-HM]/[addon-name]/klingel.mp3")
Sollte so eigentlich passen.

Hier sonst eines meiner Scripts

Code: Alles auswählen

var Output; !Outputvariable, dort wird die Rückgabe vom Befehl gespeichert
var ErrorOutput; !Fehlervariable, wird für den Befehl benötigt, auch wenn die Rückgabe nicht ausgegeben wird
var IP;
var Zone ="Test"; !Zone die Angesprochen werden soll
var Lautstaerke = 50; !Laustaerke für den Klingelsound
var Laenge = 4; !Laenge der Nachricht, bevor wieder der Originalsoundtrack kommt
system.Exec("ifconfig eth0 | awk '/inet addr/ && match ($0, /[0-9\.]+/) { printf substr ($0, RSTART, RLENGTH); }'", &IP, &ErrorOutput); !IP-Adresse per Shell auslesen
WriteLine(IP);
var Klingeldatei ="http://"#IP#"/addons/test/klingel.mp3"; !KlingelDatei URL bauen
var Befehl = "/usr/local/etc/config/addons/www/test/sonos.cgi -c message -z "#Zone#" -u "#Klingeldatei#" -v "#Lautstaerke#" -to "#Laenge; !Befehl zusammensetzen
WriteLine(Befehl);!Befehl ausgeben
system.Exec(Befehl, &Output, &ErrorOutput) !Befehl ausführen
WriteLine(Output);
WriteLine(ErrorOutput);
Aber eben wie gesagt, das ist meine eigene Version der Steuerung.

MfG

Fabian

tobusk
Beiträge: 7
Registriert: 13.10.2019, 14:54
Hat sich bedankt: 1 Mal

Re: hm-sonos messages

Beitrag von tobusk » 15.10.2019, 20:00

Hi Fabian,

vielen Dank ich habe das mal auf mich angepasst.
Sieht jetzt so aus

Code: Alles auswählen

var Output; !Outputvariable, dort wird die Rückgabe vom Befehl gespeichert
var ErrorOutput; !Fehlervariable, wird für den Befehl benötigt, auch wenn die Rückgabe nicht ausgegeben wird
var IP;
var Zone ="PC"; !Zone die Angesprochen werden soll
var Lautstaerke = 50; !Laustaerke für den Klingelsound
var Laenge = 4; !Laenge der Nachricht, bevor wieder der Originalsoundtrack kommt
system.Exec("ifconfig eth0 | awk '/inet addr/ && match ($0, /[0-9\.]+/) { printf substr ($0, RSTART, RLENGTH); }'", &IP, &ErrorOutput); !IP-Adresse per Shell auslesen
WriteLine(IP);
var Klingeldatei ="http://"#IP#"/addons/sonos2/Temp/1.mp3"; !KlingelDatei URL bauen
var Befehl = "/usr/local/etc/config/addons/www/sonos2/sonos2.cgi "#Zone#" message "#Klingeldatei; !Befehl zusammensetzen
WriteLine(Befehl);!Befehl ausgeben
system.Exec(Befehl, &Output, &ErrorOutput) !Befehl ausführen
WriteLine(Output);
WriteLine(ErrorOutput);
dann gibt es Folgende Fehler? :?
192.168.178.225
/usr/local/etc/config/addons/www/sonos2/sonos2.cgi PC message http://192.168.178.225/addons/sonos2/Temp/1.mp3
null
couldn't open "sonos.log": read-only file system
while executing
"open $flog $mode"
(procedure "log" line 3)
invoked from within
"log $str "w""
(procedure "url-decode" line 10)
invoked from within
"url-decode $response"
(procedure "GetCurrentPlaylist" line 7)
invoked from within
"GetCurrentPlaylist $array"
(procedure "playMessage" line 22)
invoked from within
"playMessage $args(message) $vol"
("message" arm line 10)
invoked from within
"switch $action {
message {
if {[info exists args(message)]} {
set vol $Cfg::messagevolume
..."
invoked from within
"if {[info exists args(zone)]} {
if { ! [sonosCreate $args(zone)] } {
set sonosArray(Zone) "Sonoszone '$args(zone)' nicht gefunden!\n"
} el..."
(file "/usr/local/etc/config/addons/www/sonos2/sonos2.cgi" line 90)

Nucom AG
Beiträge: 33
Registriert: 15.04.2019, 14:52
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: hm-sonos messages

Beitrag von Nucom AG » 16.10.2019, 07:51

Es scheint, dass im falle vom hm-sonos vom Jens wohl ein Logger verwendet wird, der eventuell beim Aufruf via System.exec keine Möglichkeit hat das Logfile zu öffnen/editieren.

Warum dem so ist, kann ich leider nicht sagen, da muss dir wohl der Jens helfen.

Mfg

Fabian

KlaasHA
Beiträge: 6
Registriert: 07.04.2020, 09:15

Re: hm-sonos messages

Beitrag von KlaasHA » 07.04.2020, 09:27

Hallo zusammen!

Ich werde noch nicht ganz schlau aus der Sache.
Ich habe die Sonos zum laufen gebracht, lauter, leiser, Radio etc. geht alles und ist mir klar.
Jetzt möchte ich eine MP3 abspielen mit Message
Bei Messagespeicherpfad steht /TEMP
Wo genau muss ich meine MP3 ablegen. Ich habe nur eine CCU3 und mache alles mit der WEBUi Oberfläche.
Jetzt habe ich gedacht ich spiele die Dateien auf einen USB Stick und gebe den Pfad vom USB-Stick dort an.
Die Frage geht das so überhaupt? Kann ich auf eine Datei auf dem Stick zugreifen?
Wenn ja, wie ist denn der Pfad des USB-Sticks?

Wenn das so nicht geht, wie könnte ich es dann umsetzen?
Wie und wo könnte ich meine Dateien speichern um sie später abzuspielen?

Vielen Dank schon mal für eure Hilfe!

Klaas

tobusk
Beiträge: 7
Registriert: 13.10.2019, 14:54
Hat sich bedankt: 1 Mal

Re: hm-sonos messages

Beitrag von tobusk » 19.06.2020, 14:23

Ich bin da leider auch nicht weiter gekommen.
Hatte Jens mal angeschrieben aber mich hat keine Antwort erreicht.

Ich hoffe auf eine integration von Alexa-triggern in Cloudmatic.
Stelle mir das so vor das man Variablen an Alexa übergeben kann und dann je nach Zustand eine Routine auf Alexa startet die dann eine Meldung ausgibt.
Oder ein Programm übergibt einen Trigger an Alexa.
-> Weiß einer ob es sowas schon gibt?

Beispiel: Fenster ist seit 20 min offen -> Trigger an Alexa -> Sprachausgabe: "Badezimmerfenster schließen"
Zuletzt geändert von tobusk am 22.06.2020, 10:36, insgesamt 1-mal geändert.

minihassel
Beiträge: 2
Registriert: 20.06.2020, 21:14
System: Alternative CCU (auf Basis OCCU)

Re: hm-sonos messages

Beitrag von minihassel » 20.06.2020, 21:41

KlaasHA hat geschrieben:
07.04.2020, 09:27
Hallo zusammen!

Ich werde noch nicht ganz schlau aus der Sache.
Ich habe die Sonos zum laufen gebracht, lauter, leiser, Radio etc. geht alles und ist mir klar.
Jetzt möchte ich eine MP3 abspielen mit Message
Bei Messagespeicherpfad steht /TEMP
Wo genau muss ich meine MP3 ablegen. Ich habe nur eine CCU3 und mache alles mit der WEBUi Oberfläche.
Jetzt habe ich gedacht ich spiele die Dateien auf einen USB Stick und gebe den Pfad vom USB-Stick dort an.
Die Frage geht das so überhaupt? Kann ich auf eine Datei auf dem Stick zugreifen?
Wenn ja, wie ist denn der Pfad des USB-Sticks?

Wenn das so nicht geht, wie könnte ich es dann umsetzen?
Wie und wo könnte ich meine Dateien speichern um sie später abzuspielen?

Vielen Dank schon mal für eure Hilfe!

Klaas

huhu, ich habe genau das selbe vor. Hast du es realisieren können?

liebe grüße

Antworten

Zurück zu „Sonstige Addons“