Raumfeld ONE M Autostart

+A -A
Autor
Beitrag
phantom44
Neuling
#1 erstellt: 28. Jan 2016, 23:20
Hallo,

habe mir vor kurzem den Raumfeld One M geholt und bin auch recht begeistert von dem Ding.
Lästig ist nur wenn man den einschaltet muss man warten bis hochgefahren ist und kann dann erst die Stationstate drücken dass Radio kommt (Frau will ohne APP bedienen )
Jetzt dachte ich mir es muss doch möglich sein das Teil irgendwie so einzustellen dass eine Aktion gleich wgläuft.
Habe mein Glück auch schon per SSH auf der Busybox des Raumfeld probiert wo man ja was im Hochlauf einhängen könnte, finde aber keine Kommandos mit denen man was starten kann.

Die Webservices habe ich auch gefunden bzw. das Projekt RaumServer aber das wäre für meine Zwecke etwas zu umständlich das muss doch einfacher gehen.

Bin für Tipps dankbar

lg hannes
thomas_raumfeld
Stammgast
#2 erstellt: 28. Jan 2016, 23:50
Hallo Hannes,

im Moment muss tatsächlich jemand von außen auf "Play" drücken. Das kann via Stationstaste oder via UPnP-Kommando ausgeführt werden. Für Deine Zwecke wäre vermutlich der raumServer das einfachste, hier sind die ganzen schwierigen Probleme schon gelöst.

Wenn Du ohne externe Hardware auskommen möchtest: Es gibt in der Firmware das Kommando "raumfeld-upnp-call", damit kannst Du "nackte" UPnP Kommandos absetzen. Damit könntest Du ein init-Script schreiben, das auf dem AVTransportService der Zone eine entsprechende URL setzt, die abgespielt werden soll.
phantom44
Neuling
#3 erstellt: 29. Jan 2016, 21:06
Danke für die rasche Antwort, das hilft mir schon mal gut weiter,
jetzt muss ich mich nur noch in die upnp Thematik einarbeiten,
gibt's dazu einen guten Link ?

danke hannes
merlin-md
Stammgast
#4 erstellt: 01. Feb 2016, 20:51

thomas_raumfeld (Beitrag #2) schrieb:
Hallo Hannes,

im Moment muss tatsächlich jemand von außen auf "Play" drücken. Das kann via Stationstaste oder via UPnP-Kommando ausgeführt werden. Für Deine Zwecke wäre vermutlich der raumServer das einfachste, hier sind die ganzen schwierigen Probleme schon gelöst.

Wenn Du ohne externe Hardware auskommen möchtest: Es gibt in der Firmware das Kommando "raumfeld-upnp-call", damit kannst Du "nackte" UPnP Kommandos absetzen. Damit könntest Du ein init-Script schreiben, das auf dem AVTransportService der Zone eine entsprechende URL setzt, die abgespielt werden soll.


Hallo Thomas,

wenn Ihr schon wisst wie es geht, ist meine Hoffnung hoffentlich nicht ganz unbegründet, dass die Autoplay-Funktion irgendwann mal kommt?
Es steht schon ganz lange auf meiner Wunschliste, dass morgens in der Küche oder im Bad einfach der letzte (Radio-)Stream wieder anläuft, mit dem der Speaker am Vorabend in den Standby geschickt wurde. Biiitte !!!


Grüße
Martin
phantom44
Neuling
#5 erstellt: 01. Feb 2016, 23:11
Das ich das ins Init reinbringe sollte kein Problem sein, ich scheitere im Moment aber noch an der Syntax und versuche über die Cmd Line einen Radio Sender zum laufen zu bringen.

Aus dem logread habe ich mir die uid besorgt

Feb 1 19:59:56 audio-adapter user.notice raumfeld: stream-relay ZoneServer: Renderer uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 joined

und versuche nun über
root@one:~ $ raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 SetAVTransportURI URI = http://opml.radiotime.com/Tune.ashx?id=e1190145&sid=s8
007&formats=wma,mp3,ogg&partnerId=7aJ9pvV5&serial=d0:5f:b8:a3:4f:d6
root@one:~ $
[4]+ Done raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 SetAVTransportURI URI = http://opml.radiotime.com/Tune.ashx?id=e1190145
[3]+ Done raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 SetAVTransportURI URI = http://opml.radiotime.com/Tune.ashx?id=e1190145
[2]+ Done raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 SetAVTransportURI URI = http://opml.radiotime.com/Tune.ashx?id=e1190145
root@one:~ $ no 'SetAVTransportURI' service on device 'uuid:9b434a30-487c-406a-9539-0cfbdfe24e24'
Time spent to find the device: 1.958940 s

** (process:816): ERROR **: Service not available

[1]+ Trace/breakpoint trap raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 SetAVTransportURI URI = http://opml.radiotime.com/Tune.ashx?id=e1190145
root@one:~ $



die URI gesetzt zu bekommen, scheitere aber leider daran dass ich keine Ahnung habe wie das Service heisst.
phantom44
Neuling
#6 erstellt: 02. Feb 2016, 10:19
Kann man irgenwie zu einer uuid die unterstützten Services auslesen ?

lg hannes
thomas_raumfeld
Stammgast
#7 erstellt: 03. Feb 2016, 16:18
Ich glaube Du nimmst die falsche UDN. Du musst SetAVTransportURI auf dem Renderer der Zone ausführen.

Beispiel: mein Host liefert unter http://<host-ip>:47365/<beliebige Session-ID>/getZones die aktuelle Liste aller Zonen:


<?xml version='1.0' encoding='UTF-8'?>
<zoneConfig numRooms='6'>
<zones>
<zone udn='uuid:079631B0-4FAC-4030-AD76-4573B236871E'>
<room name='Kinder' udn='uuid:10efeed2-50ec-4df5-895c-d4dd9ee9c1d4'>
<renderer udn='uuid:af3f85ba-e927-4a5d-88bb-44a8b90fb20e' name='Speaker Kinder #3' />
</room>
<room name='Küche' udn='uuid:c55a97b7-1dc5-40dc-9344-c783e9710443'>
<renderer udn='uuid:f4453b8e-701e-4a4d-8135-d5de502266e0' name='Speaker Küche' />
</room>
<room name='HWR' udn='uuid:ca443e3a-0391-403f-b9c4-9328721106a2'>
<renderer udn='uuid:5c81565b-afb1-43e5-8638-1315d1e29a6d' name='Speaker HWR' />
</room>
</zone>
<zone udn='uuid:1C0AF95B-298F-4C7D-9F8A-E99F9CA8C078'>
<room name='Az' udn='uuid:431a39eb-7dec-4c99-ae25-888f441a1f7b'>
<renderer udn='uuid:0cb77e0d-93e2-42a7-9e9e-f8cdb6cbe96e' name='Connector Az' />
</room>
</zone>
</zones>
<unassignedRooms>
<room name='Wohnzimmer' udn='uuid:6e9ba139-774e-4e12-8ec3-c5aab41fdad7'>
<renderer udn='uuid:f38d202f-03b5-43f8-8785-0d3257a37b19' name='Connector Wohnzimmer' />
</room>
</unassignedRooms>
</zoneConfig>

Für 'Az' müsste ich also die UDN "uuid:1C0AF95B-298F-4C7D-9F8A-E99F9CA8C078" verwenden. Ein gültiger Aufruf würde z.B. so aussehen:


raumfeld-upnp-call uuid:1C0AF95B-298F-4C7D-9F8A-E99F9CA8C078 "urn:schemas-upnp-org:service:AVTransport:1" SetAVTransportURI InstanceID=1 "CurrentURI=http://streams.fluxfm.de/fluxkompensator/mp3-128/audio/"


Und schon erklingt FluxFM in meiner Zone Az. InstanceID ist immer 1. CurrentURI muss wirklich die aufgelöste URL des Streams enthalten, eine M3U-URL funktioniert also nicht.

Problem 1: die Metadaten fehlen noch. Die Muss man nämlich extra im Parameter CurrentURIMetaData als DIDL-XML mitsenden. Normalerweise bekommt man das vom TuneIn Content-Tree, aber für Deine Anwendung kannst Du auch ein hartcodiertes XML zusammenbauen, das einfach Titel, Cover-URL ect. mitbringt.

Problem 2: Deine Zonen-UDN kann sich auch ändern. Wenn jemand die Zonen umbaut und der Raum einer anderen Zone zugeordnet wird, ist die UDN weg. Du musst Dir also mit den busybox boardmitteln die UDN der Zone aus dem XML extrahieren

Du kannst alle UPnP Services mit dem "gupnp-universal-cp" (universal controlpoint) untersuchen. Ist i.d.R. im Paket gupnp-tools enthalten zumindest unter Linux und Mac OS X / Homebrew. Unter Windows musst Du mal schauen, ob das jemand Portiert hat.

GUPnP Universal CP


[Beitrag von thomas_raumfeld am 03. Feb 2016, 17:47 bearbeitet]
phantom44
Neuling
#8 erstellt: 06. Feb 2016, 15:11
Hallo,

vorweg gleich mal großen Dank habe ich hinbekommen mit der tollen Unterstützung hier !!

Ich habe mir ein Script gebastelt welches die URI setzt,
Hardcoded auf den Radiosender den ich ohnehin immer höre und auf die Zone die ich auch immer einschalte :-)

Was mich noch etwas Aufwand gekostet hat ist dass ich es über die Init Scripte nicht geschafft habe mich in den Resume reinzuhängen. Lasse daher mein Scrip in einer Schleife /sys/power/wakeup_count prüfen und wenn sich was ändert schalte ich wieder den Radio ein (URI setzen und Play).

lg hannes
7suxx
Ist häufiger hier
#9 erstellt: 01. Apr 2016, 08:41
Hallo Hannes,

das ist genau das, was ich auch schon lange suche und auch schon vor Jahren bei Raumfeld erbeten habe, zu implementieren. (Meine Frau hatte gefragt, warum Sie denn zum Teufel 2 Knöppe drücken muss, damit ihr verdammter Radiosender abgespielt wird. Das muss Sie beim Kofferradio für 20€ doch auch nicht. ) Man will's ungern zugeben, aber da hat sie Recht.
Kannst Du Dein Script nebst Beschreibung zur Verfügung stellen?

Gruss
7suxx
merlin-md
Stammgast
#10 erstellt: 01. Apr 2016, 16:09

7suxx (Beitrag #9) schrieb:
Hallo Hannes,

das ist genau das, was ich auch schon lange suche und auch schon vor Jahren bei Raumfeld erbeten habe, zu implementieren. (Meine Frau hatte gefragt, warum Sie denn zum Teufel 2 Knöppe drücken muss, damit ihr verdammter Radiosender abgespielt wird. Das muss Sie beim Kofferradio für 20€ doch auch nicht. ) Man will's ungern zugeben, aber da hat sie Recht.
Kannst Du Dein Script nebst Beschreibung zur Verfügung stellen?

Gruss
7suxx


Hallo in die Runde,

oh ja, das steht auch auf meiner Wunschliste ganz oben: Beim Einschalten des Speakers den letzten Stream spielen, der davor lief. Das kann doch so schwer nicht sein.

Ein sonniges Wochenende wünscht
M.
phantom44
Neuling
#11 erstellt: 01. Apr 2016, 16:42
Hallo,

also meinen Hack kann ich gerne mit euch teilen, wobei ich sagen muss ist weit entfernt von Produktreife und funktioniert im Moment nur für meinen Anwendungsfall.
Probleme die ich in meiner Lösung habe sind dass ich das Wakeup aus dem Standby nicht mitbekomme und ich deshalb in einer endlosschleife den wakeup Count prüfe ob gestartet wurde, wenn ja dann schalte ich auf meinen favorisierten Sender.

Das Script oe3.sh kopiere ich auf /opt/oe3.sh
dieser Prozess wird dann über /etc/init.d/S99master-process gestartet, die beiden Dateien hänge ich hier an.

Die uuid müsst ihr euch über "logread | grep uuid" rausholen sollte aber kein Problem sein.

Debug Infos könnt ihr dann aus /opt/auto.txt lesen.

/opt/oe3.sh

#!/bin/sh

COUNT1=-1

cd /opt
echo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
date
echo Starting up
echo +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

echo sleeping 30
sleep 30
echo end sleeping
date

a=0
while [ $a -lt 10000 ]
do
sleep 5
COUNT2=`cat /sys/power/wakeup_count`
if [ $COUNT1 -ne $COUNT2 ]; then
echo ------------------------------------------------------------
date
echo switching to OE3
sleep 10
raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 "urn:schemas-upnp-org:service:AVTransport:1" SetAVTransportURI InstanceID=1 "CurrentURI=http://mp3stream7.apasf.apa.at:8000/" &
sleep 1
raumfeld-upnp-call uuid:9b434a30-487c-406a-9539-0cfbdfe24e24 "urn:schemas-upnp-org:service:AVTransport:1" Play InstanceID=1 &
COUNT1=$COUNT2
echo ------------------------------------------------------------
fi
#endless a=`expr $a + 1`
done

echo EXIT


/etc/init.d/S99master-process

#!/bin/sh

case "$1" in
start)
/opt/oe3.sh 1>>/opt/auto.txt 2>>/opt/auto.txt &

G_FILENAME_ENCODING="UTF-8,ISO-8859-1"

DBUS_SERVICE=`dbus-launch --sh-syntax`
echo $DBUS_SERVICE > /var/run/raumfeld.session
eval $DBUS_SERVICE

connmanctl enable wifi

/raumfeld/master-process/start-master-process.sh &

;;
*)
;;
esac

exit $?


Vielleicht lesen das ja auch ein paar Profis mit die bessere Tipps haben wie man sich in den Wakeup reinhängt oder wie auch von merlin vorgeschlagen den letzten Stream zum spielen bekommt, scheitere leider daran dass ich nur mp3 Streams hinbekomme mit meinem Kommando.

lg hannes
merlin-md
Stammgast
#12 erstellt: 02. Apr 2016, 09:23
Danke, phantom44, deine Bemühungen und Ideen sind aller Ehren wert.
Ich bin mir sicher, die Raumfeld-Jungs wissen genau wie das geht. Sie müssen nur WOLLEN und DÜRFEN.
Ich bin Optimist und gebe die Hoffnung nicht auf...

Grüße
M.
7suxx
Ist häufiger hier
#13 erstellt: 06. Apr 2016, 14:40
Hallo Hannes,

prima, Danke schön. Jetzt habe ich doch schon mal was, wo ich ansetzen kann.

Gruss
7suxx
7suxx
Ist häufiger hier
#14 erstellt: 15. Mai 2016, 16:29
Hallo zusammen,
ich hatte jetzt ein wenig Zeit, mir das mal anzuschauen.
Die uuid aus dem logread zu holen funktioniert wahrscheinlich nur, wenn der OneS
auch der Host ist. Bei mir ist der Host der Expand. Und Thomas_Raumfeld sagte, dass
man die uuid immer neu holen muss, da diese sich auch ändert, wenn z.B. der OneS die Zone
wechselt. Also muss ich erstmal die IP des Hosts besorgen. Die finde ich im logread, wenn
ich nach ConfigService suche (hoffe ich jedenfalls )


rfhostip=$(logread | grep -m 1 "master-process Preferences: ConfigService found on" | grep -Eo "([0-9]{1,3}[\.]){3}[0-9]{1,3}")

Damit bekomme ich die IP extrahiert. Jetzt muss ich aus dem XML-Krams die uuid des Renderers der
Zone holen und extrahieren.


rfuuid=$(wget -qO - http://$rfhostip:47365/1/getZones | grep -B1 "room name='Kueche'" | grep "zone udn" | sed "s|.*:\(.*\)'.*|\1|")

Und führe dann


raumfeld-upnp-call uuid:$rfuuid "urn:schemas-upnp-org:service:AVTransport:1" SetAVTransportURI InstanceID=1 "CurrentURI=http://stream.radiosaw.de/" &
sleep 1
raumfeld-upnp-call uuid:$rfuuid "urn:schemas-upnp-org:service:AVTransport:1" Play InstanceID=1 &

aus. Habe das Script dann wie Hannes in die /etc/init.d/S99master-process gehängt. Das funktioniert
auch, wenn der OneS stromlos ist und dann eingeschaltet wird, jedoch nicht, wenn der Power-Button
gedrückt wird, da das ja nur ein Resume vom Suspend ist. Jetzt die Frage an die Raumfeld-Jungs. An
welcher Stelle müsste ich das Script einhängen, damit es auch einmal beim Drücken des Power-Buttons
ausgeführt wird? Ich hab schon ein bisschen rumgesucht, aber finde keinen Hook wie /etc/pm/sleep.d
oder ähnliches. Vielleicht bin ich auch blind.

Ansonsten wünsche ich Frohe Pfingsten
7suxx


[Beitrag von 7suxx am 15. Mai 2016, 16:41 bearbeitet]
M985
Ist häufiger hier
#15 erstellt: 11. Mrz 2017, 10:05
Vielen Dank für eure hilfreichen Antworten hier im Thread.

Gibt es mittlerweile direkt eine Lösung von raumfeld bzgl Autostart?

Falls nein, hat bereits jemand das beschriebene Script optimiert, damit es auch mit dem Power-Button funktioniert?
merlin-md
Stammgast
#16 erstellt: 12. Mrz 2017, 17:05

manuelmainka (Beitrag #15) schrieb:
Gibt es mittlerweile direkt eine Lösung von raumfeld bzgl Autostart?


Hallo Manuel,

leider nein. Zumindest ist mir nichts bekannt.
Was seit einiger Zeit besser funktioniert ist der Autostart bei gruppierten Lautsprechern. Ein Beispiel:

- Bad (One S) und Küche (One M) sind meist in einer Hörzone gruppiert.
- Gehe morgens ins Bad und starte am One S einen Stream per Stationstaste.
- Danach schalte ich in der Küche den One M (1. Generation ohne Stationstasten) an, und er startet automatisch mit dem selben Stream.

Aber ein genereller Autostart des letzten Streams auch ohne solche Gruppierungen steht immer noch ganz oben auf meiner Wunschliste an RF.

Grüße
M.
7suxx
Ist häufiger hier
#17 erstellt: 29. Mrz 2017, 10:59
Ja genau. Man braucht jetzt nur noch eine Stationstaste drücken, damit der Lautsprecher
mit der hinterlegten Playlist oder dem Sender loslegt. Damit ist, zumindest meine Frau,
erstmal sehr zufrieden.

Gruss
7suxx
johnnydoubleu
Neuling
#18 erstellt: 22. Dez 2017, 18:08
Hallo!
Ich grabe diesen Thread mal wieder aus...
Ich hatte mir mit den Infos hier eine Autostart-Lösung gebastelt (im Wesentlichen wie die von phantom44, Danke dafür! ).

Leider ist mittlerweile das raumfeld-upnp-call Tool aus der Firmware verschwunden. Versuche, die UPnP-Requests "zu Fuß" mit Bash und cURL abzusetzen waren bisher noch nicht so überzeugend.

Daher meine Frage, insbesondere an thomas_raumfeld, ob das raumfeld-upnp-call noch irgendwoher zu bekommen ist, z.B. aus alten Firmware-Images. Basierte das vielleicht auf irgendeinem Open Source-Projekt? Oder hat vielleicht schon jemand Erfahrung mit Alternativen?

Vorab schon mal danke für Rückmeldungen... Wenn ich das Autostart wieder zum Laufen bekomme, poste ich hier auch gerne meine Lösung...

Jetzt erstmal allen schöne Weihnachtstage, Grüße
Jonas
Suche:
Das könnte Dich auch interessieren:
Raumfeld One M DHCP
phantom44 am 18.02.2016  –  Letzte Antwort am 17.03.2017  –  5 Beiträge
Raumfeld One M mit alexa.
nixneues am 01.01.2021  –  Letzte Antwort am 06.01.2021  –  15 Beiträge
Kaufberatung: Raumfeld One vs Speaker M
ckihm am 23.12.2013  –  Letzte Antwort am 03.02.2015  –  20 Beiträge
Raumfeld M One die richtige Wahl ?
Wassillis am 03.02.2015  –  Letzte Antwort am 20.04.2015  –  24 Beiträge
Raumfeld One M 2. Gen. erneut installieren
hardy_W am 14.09.2015  –  Letzte Antwort am 16.09.2015  –  2 Beiträge
Raumfeld One M ständiges Rauschen im Standby
garfield125 am 16.12.2015  –  Letzte Antwort am 17.03.2017  –  3 Beiträge
Raumfeld One M fällt ständig aus
Angryagony am 20.02.2017  –  Letzte Antwort am 22.02.2017  –  5 Beiträge
Raumfeld One M & Raumfeld Connect an bestehender Anlage
DerCyberjack am 11.12.2016  –  Letzte Antwort am 12.12.2016  –  6 Beiträge
Raumfeld® One VS Raumfeld Speaker S
noplan am 16.11.2012  –  Letzte Antwort am 09.02.2013  –  6 Beiträge
Raumfeld One vs. Fritzbox
wisdomie am 29.04.2012  –  Letzte Antwort am 14.07.2015  –  45 Beiträge

Anzeige

Aktuelle Aktion

Partner Widget schließen

  • beyerdynamic Logo
  • DALI Logo
  • SAMSUNG Logo
  • TCL Logo

Forumsstatistik Widget schließen

  • Registrierte Mitglieder925.721 ( Heute: 9 )
  • Neuestes Mitgliedelibyss
  • Gesamtzahl an Themen1.551.068
  • Gesamtzahl an Beiträgen21.537.338

Hersteller in diesem Thread Widget schließen