Teufel Raumfeld über FHEM ansteuern!?

Begonnen von Jochen Auer, 05 Juli 2014, 17:06:44

Vorheriges Thema - Nächstes Thema

Jochen Auer

Hallo alles zusammen,

Ich würde gerne meine Teufel Raumfeld über FHEM ansteuern! Leider habe ich im Forum kurze Anfragen gefunden aber noch nichts konkretes was umgesetzt wurde.
Ich habe leider nur mittlere Programmierkentnisse, aber würde trotzdem gerne mithelfen/versuchen ein Modul zu erstellen. Dazu würde ich Unterstützung benötigen in der Umsetzung.

Hätte jemand Interesse mich zu unterstützen?
Ich hätte ein Raumfeld auch Zuhause und könnte das Modul auch testen.

Ich freue mich auf euere Antworten.


Rince

Das hat zugegeben mit deiner Frage nix zu tun:
http://www.pmannel.de/wordpress/?p=502
Aber es zeigt wie ein Pi offenbar als Raumfeld Raum verwendet werden kann. Vielleicht steigt dann das Interesse daran
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

DosiRocker

Hallo Jochen,

hier
https://github.com/tfeldmann/python-raumfeld
gibt es eine Python Bibliothek

und hier gibt es eine kurze Diskussion darüber

http://www.hifi-forum.de/viewthread-212-420-5.html

Ich habe Raumfeld-Desktop unter
https://github.com/tfeldmann/Raumfeld-Desktop
auch prinzipiell auch schon auf einem Ubuntu Linux am Laufen, komme leider auf Grund meiner nicht vorhandenen Linux, Perl und Python Kenntnisse aber nicht weiter.

Und hier gibt es die Raumbrücke, die unter Windows läuft und über HTTP Requests funktioniert
http://www.hifi-forum.de/viewthread-212-878.html

Leider habe ich keinen Windows Server, bzw will keinen nur dafür laufen lassen. Eine Lösung ala Raumbrücke für Linux finde ich persönlich toll und würde mir reichen.

Gruß,

Martin

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

DasAndy

Hallo Leute... Gibts zufällig schon Neuigkeiten zum Thema?
Ich habe leider noch keine positiven Berichterstattungen hier im Forum finden können. Daher grad ich diesen Thread mal wieder aus... ;)

Jochen Auer

Da meine Programmierkenntnisse sehr gering sind bin ich noch nicht wirklich weiter gekommen!
Ich bräuchte Unterstützung von jemanden der mehr Erfahrung hat, ich könnte unterstützen und natürlich testen da ich eine Teufel raumfeld zuhause habe.

Gruß
Jochen

DosiRocker

#5
Hallo,
unter
http://www.hifi-forum.de/viewthread-212-420-5.html
hat jemand weiter mit der Python Bibliothek gearbeitet und noch ein paar Python Codezeilen gepostet.

Es geht voran
:D
Martin

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Reinerlein

Hallo Jochen,

ich bin der Author des Sonos-Moduls, welches zwar auch per UPnP mit den Playern kommuniziert, aber sehr spezielle Befehle besitzt, und somit nicht auf andere Systeme übertragen werden kann.
Anfangen kannst mit einem UPnP-Tool, wie z.B. dem Intel Device Spy. Damit kannst du sehen, als was sich die Raumfeld-Player melden, und welche Befehle du senden kannst. Ausserdem kannst du damit auch rausfinden, für welche Events du dich anmelden kannst (Titelwechsel, Lautstärkewechsel usw...).

Damit hast du schon mal wichtige Informationen, und kannst mit einer Perl-UPnP-Lib darangehen, und die erste Kommunikation aufbauen.
Der Teufel (welch Wortspiel :))) steckt dann natürlich im Detail, und dem Aufbau des gesamten Moduls.
Ich habe für mein Modul einen getrennten Prozess für die Kommunikation mit den Playern ausgesucht, der dann von Fhem aus kontaktiert wird. Natürlich gibt es hier auch Tausend andere Möglichkeiten... man muss sich halt nur festlegen...

Was ich auf jeden Fall sagen kann: Man kann das Modul nicht entwickeln, wenn man selber keine Player hat. Zuviel kann da individuell reagieren, und man muss vermutlich auch dort viele Sonderlocken programmieren. Z.B. sieht der UPnP-AV-Standard meines Wissens nach keine Steuerung von Gruppen vor... Ich denke mal Raumfeld kann das genauso wie Sonos...

Ich habe dir damit vielleicht nicht viel weitergeholfen, aber vielleicht einen möglichen Weg aufgezeigt...

Grüße
Reinerlein

DosiRocker

Hallo,
Till(audio_file) hat an der Raumfeld Python Bibliothek von Thomas Feldmann weitergearbeitet (siehe auch Links zum Hifi-Forum). Eine Beschreibung zur Installation gibt es unter:
https://github.com/tilltnet/rf.wr.py

Darüber kann jetzt über eine Webapplikation oder über Http Links Raumfeld rudimentär gesteuert werden.
Ich nutze es jetzt als Wecker über die Raumfeld Boxen. Dazu habe ich zum Wakeuplight Wikiartikel
http://www.fhemwiki.de/wiki/Wakeuplight
einfach eine Zeile
{ fhem ("define radioOn at +00:07:00 {Raumfeld_Zone};;{Raumfeld_Vol};;{Raumfeld_Fav}") }
eingefügt und z.B. Raumfeld_Zone in der 99_myUtils.pm angelegt
sub Raumfeld_Zone
{GetHttpFile ("IPmeinesCubietrucks:8080","/zone/0")}


Wie ihr seht ist alles noch sehr einfach gestrickt, da ich nur sehr wenig Ahnung von Linux, Perl und Python habe, aber ich denke es lässt sich sehr leicht erweitern.
Die Zonensteuerung ist sicherlich der Schwachpunkt der Anwendung, da es über absolute Zonennummern geht und nicht über die Zonenbezeichnungen, d.h. wenn Zonen dazukommen oder wegfallen ändern sich die Zonennummern.
Aber ich bin trotzdem begeistert, daß es einen Anfang gibt der funktioniert

Mein besonderer Dank gilt Till und Thomas aus dem Hifi-Forum!

Gruß,
Martin


Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

Hallo,

bist du noch immer Zufrieden mit der Lösung?
Ich betreibe momentan zwei Zonen, klappt es mit dem Wecker trotzdem für mich?

Danke,

LG
Klaus

DosiRocker

Hallo Klaus,
im Prinzip jein, weil es nur funktioniert wenn du die Raumfeldrenderer immer anlässt. :'( Ich hoffe allerdings dass Till die Hörzonenverwaltung im neuen Jahr nochmal überarbeitet.  Dazu gab es auch schon ein paar Tips eines Raumfeld Entwicklers.
Gruss
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

Hallo,

ok, sehr schade, dann warte ich noch ab - danke.


DosiRocker

Hallo Klaus,

Till hat jetzt weiter daran gearbeitet. Vielleicht einfach im Hifi Forum nachsehen.
Ich hoffe dass damit jetzt mein Wecker ohne Einschränkungen funktioniert, muss ich aber noch testen.

https://github.com/tilltnet/rf.wr.py

Wäre super wenn du mit testen könntest. Die Installation ist super einfach.

Gruß,
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

DosiRocker

bei mir hat jetzt die letzten 3 Tage der FHEM Wecker mit Raumfeldausgabe fehlerfrei funktioniert.

:D ;D

Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

Hallo,

DosiRocker, habe die Antwort leider erst jetzt gesehen,
hätte es aber auch nicht testen können da meine Raumfeld S im Schlafzimmer wenige Tage später defekt wurden,
sind derzeit in Reparatur bei Teufel, sobald sie wieder da sind, installiere ich. :)

LG
Klaus

leuchte1

Hallo zusammen,

und vielen Dank an Martin.

ABSOLUT FANTASTISCH!!!

Läuft bei mir momentan als Wecker mit einer One S reibungslos seit einer Woche. Wobei ich momentan nur den "/fav/<no> - Play a favorite" verwende.
Die Box schalte ich noch mit einer Funkdose und Timer. Den zweiten im Bad schalte ich morgens manuell. Einzig Random fehlt mir noch zum endgültigen Glück :) :)

Gruss
Stefan

DosiRocker

Hallo Stefan,
freut mich, dass es bei dir funktioniert. Mein Anteil tendiert leider gegen null
Wenn du noch Wünsche hast, melde dich doch einfach im Hifi Forum an und frage Till, ob er den RandomTimer einbaut. Er ist da recht aufgeschlossen.
In seiner neuesten Version hat er noch eine neue Oberfläche programmiert (die man als iFrame in FHEM einbauen kann).

Also ich denke es geht mit Raumfeld@FHEM voran

Gruß,
Martin

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

leuchte1

Hallo Martin, habe gestern noch die aktuelle Version ausprobiert, seitdem geht gar nichts mehr :-\ :-\
Na ja, Gott sei Dank ist Wochenende, und Zeit zum ausprobieren. Leider habe ich auch noch tausend andere Baustellen.
Gruß
Stefan

DosiRocker

Zitat von: leuchte1 am 31 Januar 2015, 08:26:48
...
Leider habe ich auch noch tausend andere Baustellen.
Gruß
Stefan

Geht mir ähnlich.
Und mit der neuen Version hatte ich auch zuerst auch Probleme. Das werde ich übers WE auch noch testen, aber jetzt erstmal über meinen Raspberry, der eh kaum etwas zu tun hat

Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

lulli

Hallo!

Habt ihr schon das neue Modul RaumServer getestet!?
http://www.bassmaniacs.com/raumserver/dokuwiki/doku.php

Habe eben die Windowsversion getestet und es läuft wirklich super!

DosiRocker

Hallo lulli,
und hast du schon mehr getestet? Hast du Ideen, was du damit umsetzen möchtest?
Ich habe jetzt heute meinen Wecker auf ChriD raumServer umgestellt (auf einem Raspi), mal sehen ob er morgen startet  8)

Gruß,
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

lulli

#20
Hallo Martin,

ich habe Angefangen eine Remote in Fhem einzubinden um meine Raumfeld-Boxen zu steuern. Bin momentan smartVISU am einrichten und dort soll es genauso möglich sein die Boxen zu steuern. Habe eben gelesen, dass jetzt über die Sonos TTS möglich ist. Das wünschte ich mir auch über die Raumfeldboxen.

Habe gerade im Hifi-Forum Deinen Auzug aus deinem FHEM gesehen. Könntest Du mir deinen Script bitte posten.

Gruß und Danke
Yves

DosiRocker

Zitat von: lulli am 02 März 2015, 21:19:26
Hallo Martin,

ich habe Angefangen eine Remote in Fhem einzubinden um meine Raumfeld-Boxen zu steuern. Bin momentan smartVISU am einrichten und dort soll es genauso möglich sein die Boxen zu steuern. Habe eben gelesen, dass jetzt über die Sonos TTS möglich ist. Das wünschte ich mir auch über die Raumfeldboxen.

Habe gerade im Hifi-Forum Deinen Auzug aus deinem FHEM gesehen. Könntest Du mir deinen Script bitte posten.

Gruß und Danke
Yves

Hi Yves
was verstehst du unter Remote? Ich habe zwar auch angefangen über Dummy Raumfeld zu steuern, aber das war eher zum testen. Ich warte lieber auf die webApplikation von Chris, bzw. was jetzt auch schon funktioniert ist die Webapplikation von Audiofile (till). Die kann man dann doch sehr schön in FHEM einbinden.

Und hier mein Auszug für die Lösung mit Chris RaumServer Lösung (generell ist meine Lösung nur eine Raumfelderweiterung des Wiki Beitrags)
Mein wakeUpOn at Def:

*05:45 {
  if ( ( Value("Wecken") eq "Weekday" && !$we ) ||
  ( Value("Wecken") eq "Daily" ) || ( Value("Wecken") eq "Once" ) ) {
    { fhem ("set WakeUp dim100% 1200") }
    { fhem ("set az_Zentrale on")}
    { fhem ("set sz_Audio on")}
    { fhem ("set EG.WZ.Audio_Sw on")}
    { fhem ("define radioOn at +00:05:00 {Wecker_radioOn1}")}
    { fhem ("define radioOff at +00:25:00 {Wecker_TTS}")}
{ fhem ("define Schlafmuetze at +00:25:20 set MyTTS tts Bitte Aufstehen Ihr Schlafmützen") }
{ fhem ("define radioOn2 at +00:25:40 {Wecker_radioOn2}") }
    { fhem ("define wakeupOff at +00:40:00 set WakeUp off;;set sz_Audio off") }
    if ( Value("wakeUpStatus") eq "Once" ) { fhem ("set Wecken off") }
  }
}


Und hier der Auszug aus meiner 99_My_Utils.pm

sub Wecker_radioOn1()
{
my ($obj) = @_;
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Cube/createZone?force=true")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Cube/loadPlayList?name=Radio1")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Cube/volume?value=35")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Cube/play?track1")}
}

sub Wecker_TTS()
{
my ($obj) = @_;
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Zentrale/createZone?force=true")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Zentrale/volume?value=50")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Cube/addToZone?room=Zentrale")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Cube/volume?value=50")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Wohnzimmer/addToZone?room=Zentrale")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/room/Wohnzimmer/volume?value=50")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Zentrale/loadPlayList?name=LineIn")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Zentrale/play?track1")}
}

sub Wecker_radioOn2()
{
my ($obj) = @_;
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Zentrale/volume?value=35")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Zentrale/loadPlayList?name=Radio1")}
{GetHttpFile ("192.168.188.33:8080","/raumserver/zone/Zentrale/play?track1")}
}


Im Moment funktioniert es noch nicht so ganz, weil es noch einen Bug in Chris raumServer gibt, aber ich bin guter Hoffnung, daß es ab nächsten WE funktioniert. Deshalb verwende ich aktuell wieder Audiofiles Lösung.


TTS Kannst du  jetzt schon machen, wenn dein FHEM Server in der Nähe einer Raumfeld Komponente ist. Bei mir geht der LineOut des Cubietrucks in den LineIn meiner Co2.

Gruß,
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

lulli

Hallo Martin,
als Remote benutze ich eine 0815 Pollin-Funksteckdosen-Fernbedienung, welche ich mit Hilfe des neuen Pilight_switch Moduls auslese. Dadurch habe ich 8 Taster um meine Raumfeld One in der Küche via Fernbedienung zu steuern. Auf dem Pi läuft der RaumServer und Pilight. Die Box ist an einer Pollin-Steckdose, so dass die Box auch an und ausgeschaltet werden kann. Die anderen 6 Taster benutze ich für play, pause, next, prev, radio starten, andere playlist starten.

Gruß
Yves

Klouse

Hallo,

leider kam ich noch immer nicht dazu, habe zuviele Projekte gleichzeitig laufen.

Gibt es schon erfahrungen, was ist aktuell die bessere lösung, Raumserver oder das PythonScript von Audio_file?

LG
Klaus

DosiRocker

HalloKlaus,

ich habe jetzt raumServer auf einem Co2 installiert und bin damit im Moment zufrieden, allerdings mache ich noch nicht soviel damit. Auf einem Raspberry und Cubietruck hatte ich Probleme mit der Zuverlässlichkeit
Ich denke raumServer ist deutlich flexibler und hat mehr Funktionalität, insbesondere die Zonenverwaltung.

Im Moment habe ich noch Schwierigkeiten die lineIn Ausgabe (über TTS am Cubietruck) am Co2 in mehrere Räume reproduzierbar zu streamen.

Gruß,
MArtin



Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

DosiRocker

Hallo,

nutzt jemand aus raumServer heraus die undokumentierten JSON requests, um aktuelle Stati abzufragen?

ZitatEs gibt bereits undokumentierte JSON Requests (Der HTML Client (webclient.js) benutzt diese , dort kannst du dir ansehen wie sie aussehen)
Folgende JSON request sind bis jetzt implementiert:

getroomlist
getzonelist
getrendererstate (das ist das was du haben möchtest)
getzoneplaylist
getcontainerlis

probier mal
http://ip:8080/raumserver/json/getrendererstate

--> liefert die Metadaten für alle virtuellen Raumfeld Renderer
Diese JSON requests sind auch longPolling fähig! (Beispiel in der webclient.js)

Man könnte damit z.B., bevor man aus dem Haus geht, den aktuellen Status speichern und dann wenn man wieder zurückkommt aufrufen (als Presets?). Oder wenn man über Raumfeld eine Ansage verteilt (über TexttoSpeech), danach wieder auf den Originalzustand vor der Ansage zurückgehen
Macht das jemand? Geht das?

gruß,
Martin

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Gallo

Hallo zusammen , ich wärme den Thread gerade auf , da ich vor der Entscheidung squeezebox, sonos oder raumfeld stehe und ich würde gerne raumfeld mit Zonen sYnc und Co über Fhem nutzen . Hat sich das Ganze mittlerweile marktreif entwickelt ?! Vielen Dank schon mal für eure Antworten :)

DosiRocker

Zitat von: Gallo am 21 November 2015, 10:12:48
Hallo zusammen , ich wärme den Thread gerade auf , da ich vor der Entscheidung squeezebox, sonos oder raumfeld stehe und ich würde gerne raumfeld mit Zonen sYnc und Co über Fhem nutzen . Hat sich das Ganze mittlerweile marktreif entwickelt ?! Vielen Dank schon mal für eure Antworten :)
keine Ahnung was du mit sYnc und Co verstehst und was du vorhast. Ich benutze ChriD raumServer um mich mit Raumfeld aufwecken zu lassen (d.h. Strom einschalten, Raumfeld Zone anlegen, Lautstärke einstellen und Playlist abspielen) und Radio (in 2 Hörzonen) automatisch einzuschalten, wenn ich nach Hause komme. Zusätlich kann ich per TTS Sprachansagen ausgeben (dazu ist der LineOut des Cubietruck mit dem LineIn eines Raumfeld Connectors verbunden)

http://www.bassmaniacs.com/raumserver/dokuwiki/doku.php?id=start 

Funktioniert bei mir super, mehr brauche ich auch nicht so wirklich.

Generelle infos zu Raumfeld, Sonos und Co gibt es im Hifi-forum


Gruss,
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Gallo

Hi ,

mit syncen meine ich die gleichzeitige Wiedergabe von einer Audioquelle in unterschiedlichen Räumen + AV Receiver. Sprich ein Raumfeld Speaker in der Küche und zum Beispiel mein AV Receiver im Wohnzimmer sollen die selbe Musik spielen. Das meine ich :-)

Danke dir erstmal für die Infos !

leuchte1

Hallo Martin,

mein Wecker über ChriD raumServer streikt seit dem letzten Update von Raumfeld. Läuft bei Dir noch alles, oder hast Du auch Probleme? Wende mich erst an Dich bevor ich übers Hifi-Forum gehe.

Gruss

Stefan

Haecksler

Bei mir läuft es noch...wo hast du den Raumserver am laufen? Bei mir läuft er auf einem Rasberry Pi 2.

Gruß,
Stefan

DosiRocker

Bei mir läuft es auch noch ohne Probleme.  Raumserver läuft bei mir auf einem Co2 und bei jedem Firmware update muß ich den Raumserver neu installieren,  da er beim update gelöscht wird.
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

leuchte1

Hallo,
danke für euer Feedback. Läuft bei mit auf einem Raspberry Pi B. Es wurde mehrfach der room nicht gefunden, zwischenzeitlich bekomme ich aber wieder problemlos ein "Request aknowledged". Werde die Sache weiter beobachten. Ist halt ärgerlich wenn der Wecker nicht funktioniert :D :D :D

Gruss
Stefan

DosiRocker

Deshalb habe ich Raumserver auf einem Raumfeld Renderer installiert,  weil es damit bei mir deutlich robuster funktioniert hat. Manche starten den Raumserver auf einem pi täglich neu,  damit es robuster funktioniert
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

leuchte1

Hallo Martin,

ich hätte noch einen Cubietruck, meinst Du da läuft es stabiler?

Gruss
Stefan

DosiRocker

Hi,
ich habe es auf einem Cubietruck mit Cubian getestet und da ist mir der raumServer Dienst auch immer abgeschmiert.

Ein Forumsmitglied hat mir per PM eine FHEM raumServer Definition gesendet, damit startet er wenn ich mich richtig erinnere jeden Tag den raumserver Dienst neu. Ich habe es aber nie selber getestet

@Klaus:
Kann ich deine Lösung/Definition hier posten?

Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

#36
Oh Mann,

gerade erst entdeckt, klar hätte man es posten können. :)

Hier meine derzeitige Lösung, starte den Service nicht mehr automatisch sondern mit FHEM und um 03:30 startet dieser neu:


define raumServer dummy
attr raumServer group raumServer
attr raumServer room Entertainment
attr raumServer setList start stop restart
attr raumServer stateFormat &nbsp;;
attr raumServer webCmd start:stop:restart
define FileLog_raumServer FileLog ./log/raumServer-%Y.log raumServer:.*
attr FileLog_raumServer logtype text

define n_raumServer_start notify raumServer:start \
{system("nohup service raumServer start >/dev/null &")};;
attr n_raumServer_start room hidden

define n_raumServer_stop notify raumServer:stop \
{system("nohup service raumServer stop >/dev/null &")};;
attr n_raumServer_stop room hidden

define n_raumServer_restart notify raumServer:restart \
{system("nohup service raumServer restart &>/dev/null &")};;
attr n_raumServer_restart room hidden

define n_raumServer_startup notify global:INITIALIZED \
set raumServer start
attr n_raumServer_startup room hidden

define raumServer_at_restart at *03:30:00 \
set raumServer restart
attr raumServer_at_restart room hidden


Klappt wunderbar und damit ist der Raumserver bei mir auch stabil.

LG
Klaus

leuchte1

Hallo zusammen,

ich danke Euch, habs zwischenzeitlich wie Martin empfohlen hat auf einem One S installiert und da läufts bisher absolut problemlos. Kann ich nur jedem empfehlen.

Gruß
Stefan

Tiger84

Hallo zusammen,

1. Der RaumServer ist super!

Ich bin an einer kleinen Steuerung für die Raumfeld Komponenten dran, die Abfrage basiert auf HTTPMOD und läuft für den "Play-Status" (Play, Stop, Offline etc) ganz gut.

Ich habe einen Slider mit dem ich die Lautstärke ändern kann angelegt - das funktioniert soweit. Ich möchte aber die aktuelle Lautstärke auf den Slider übertragen, wenn ich an der Box/per App die Lautstärke ändere.

Folgende Devices habe ich angelegt.

#RaumServer auf Wz.OneS
define raumdFeldServer HTTPMOD http://192.168.2.106:8080/raumserver/json/getrendererstate 5
attr raumdFeldServer extractAllJSON 1
attr raumdFeldServer room Entertainment,Server


#Wz.Speaker
define Wz.OneS dummy
attr Wz.OneS devStateIcon on:audio_audio@yellow off:audio_audio@red Play:audio_volume_mid@green Mute:audio_volume_mute@red
attr Wz.OneS fp_Grundriss 113,453,0, ,Wz.Speaker
attr Wz.OneS group Speaker
attr Wz.OneS icon audio_audio
attr Wz.OneS room Entertainment,Wohnzimmer
attr Wz.OneS sortby 1
attr Wz.OneS webCmd Play:Stop:Mute


#Wz.OneS #dummy VolumeReglerVisual
define Wz.OneS.Volume dummy
attr Wz.OneS.Volume group Speaker
attr Wz.OneS.Volume icon time_automatic
attr Wz.OneS.Volume room Entertainment,Wohnzimmer
attr Wz.OneS.Volume setList state:slider,0,1,100
attr Wz.OneS.Volume sortby 2
attr Wz.OneS.Volume webCmd state


#Wz.OneS #VolumeChange
define Wz.OneS.Change.NF notify Wz.OneS.Volume:* {my $sliderwert = ReadingsVal("Wz.OneS.Volume","state","");; fhem (GetHttpFile("xxx.xxx.xxx.106:8080","/raumserver/room/Wz.OneS/volume?value=$sliderwert"));;}


Hier soll das "actual Volume" abgefragt und übertragen werden

#Wz.OneS #GetActVolume vom Server
define Wz.OneS.Vol notify raumFeldServer:rendererState_02_volume {my $volAct = ReadingsVal("raumdFeldServer","rendererState_02_volume","");; fhem (set Wz.OneS.Volume "$volAct");;}


Das funktioniert leider nicht und ich finde den Fehler nicht!

Hat jemand eine Idee oder einen Tipp für mich!

Danke euch!
Server: FHEM 5.7 auf Raspi 2/Jessie
Gateway: CUL USB 868MHz, 1Wire Buskoppler USB, Eservice
Sonstiges: Raumfeld, QNAP TS-451, VU+ Duo²
div. Zeug an Steckdosen und Sensoren

DosiRocker

Hallo Tiger84,
ich kann dir leider nicht helfen, aber wäre es nicht sinnvoller unter

https://forum.fhem.de/index.php/topic,45176.msg430442.html#msg430442

zu fragen?

Ich hatte es mal mit HTTPMOD probiert, allerdings sehr schnell wieder gestoppt, als ich gesehen habe, dass der JSON Export immer unterschiedlich ist, je nachdem welche Zonen/Renderer gerade aktiv/eingeschaltet sind und dementsprechend auch die Readings. Als ProgrammierDau stelle ich mir das kompliziert vor. Hast du eine Lösung dafür, oder hast du nur eine OneS?


Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Tiger84

Hallo Martin,

danke dir! Werde wohl mal in einem anderen Bereich nach fragen.

Wegen dem JSON Export: Ja ist ist Programmiertechnisch unvernüftig direkt auf die entsprechende Zone zu verknüpfen. Hier möchte ich noch ein Abfrage einarbeiten, die nach der UUID sucht und dann schaut welches Reading es ist. Und dann das Reading weiterverwendet.

Ich habe zwei OneS (auf einer läuft Raumfeld) und den Raumfeld Expander. Bislang waren die Readings aber immer gleich, die haben sich also nicht verschoben, egal in welcher Reihenfolge ich die Boxen anschalte oder nicht.
Server: FHEM 5.7 auf Raspi 2/Jessie
Gateway: CUL USB 868MHz, 1Wire Buskoppler USB, Eservice
Sonstiges: Raumfeld, QNAP TS-451, VU+ Duo²
div. Zeug an Steckdosen und Sensoren

Jewe

Hallo ,

wo sollte der Raumfeld Server am besten installiert werden ?
Auf den RasPi zusammen mit FHEM, separat auf einem RasPi oder geht es auch auf dem Connector 2 ?

Wie sind die Meinungen ?

Jens

Abercrombie1892

Zitat von: jensweber am 20 Juni 2016, 09:17:39
Hallo ,

wo sollte der Raumfeld Server am besten installiert werden ?
Auf den RasPi zusammen mit FHEM, separat auf einem RasPi oder geht es auch auf dem Connector 2 ?

Wie sind die Meinungen ?

Jens

Hab's auf meinem Connector 2 und es läuft ohne Probleme. Nur nach nem Update musst du es neu installieren.

Jewe

Danke, ich habe s inzwischen auch auf meinem Connector 2 an laufen. Der ist bei mir aber auch Master. Bisher läuft es Störungsfrei.

Jens

DosiRocker

Hallo,

ist eigentlich einer schon auf den neuen raumServer umgestiegen? Ich habe es mal probehalber installiert, leider wird aber eine Playlist nicht abgespielt.
z.B,  wenn ich es in einem DOIF teste
Internals:
   CFGFN
   DEF        ([test] eq "on")
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/createZone?id=Wohnzimmer")})
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Wohnzimmer")})
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=FhemAlarm")})
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/play?id=Wohnzimmer")})
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/addToZone?id=Zentrale&zoneId=Wohnzimmer")})
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Zentrale")})
   NAME       testraumserver
   NR         42732
   NTFY_ORDER 50-testraumserver
   STATE      cmd_1
   TYPE       DOIF
   Helper:
     Dblog:
       Cmd:
         Mydblog:
           TIME       1478087550.57113
           VALUE      1.6
       Cmd_event:
         Mydblog:
           TIME       1478087550.57113
           VALUE      test
       Cmd_nr:
         Mydblog:
           TIME       1478087550.57113
           VALUE      1
       Cmd_seqnr:
         Mydblog:
           TIME       1478087550.57113
           VALUE      6
       State:
         Mydblog:
           TIME       1478087550.57113
           VALUE      cmd_1
       Wait_timer:
         Mydblog:
           TIME       1478087550.5117
           VALUE      no timer
   Readings:
     2016-11-02 12:51:59   Device          test
     2016-11-02 12:52:30   cmd             1.6
     2016-11-02 12:52:30   cmd_event       test
     2016-11-02 12:52:30   cmd_nr          1
     2016-11-02 12:52:30   cmd_seqnr       6
     2016-11-02 12:51:59   e_test_STATE    on
     2016-11-02 12:52:30   error           {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Zentrale")}: <html><body>

<h2>Raumserver</h2>

Request '/raumserver/controller/setVolume' was added to queue!</body></html>


     2016-11-02 12:52:30   state           cmd_1
     2016-11-02 12:52:30   wait_timer      no timer
   Condition:
     0          InternalDoIf($hash,'test','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on"
   Devices:
     0           test
     all         test
   Do:
     0:
       0          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/createZone?id=Wohnzimmer")}
       1          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Wohnzimmer")}
       2          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=FhemAlarm")}
       3          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/play?id=Wohnzimmer")}
       4          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/addToZone?id=Zentrale&zoneId=Wohnzimmer")}
       5          {GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Zentrale")}
   Helper:
     event      on
     globalinit 1
     last_timer 0
     sleepdevice test
     sleepsubtimer -1
     sleeptimer -1
     timerdev   test
     timerevent on
     triggerDev test
     timerevents:
       on
     timereventsState:
       state: on
     triggerEvents:
       on
     triggerEventsState:
       state: on
   Internals:
     0           test:STATE
     all         test:STATE
   Itimer:
   Readings:
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:
   do         always
   room       Media
   wait       5,5,5,5,5,5


Dann wird die Playlist zwar angezeigt, aber der Playbutton in der raumfeld App bleibt ausgegraut. Alle andere Befehle funktionieren wohl
Das passiert auch wenn ich zwischen den Befehlen eine Waittime von 5s setze.

Das skurrile daran ist aber, wenn ich die die einzelnen Befehle manuell über FHEM oder einen Webbrowser starte, dann funktioniert es.
Hat jemand eine Idee?

Danke,
Martin

Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

THerrmann

Kann jemand eine funktionierende config als Beispiel posten?

DosiRocker

meinst du sowas?
Das ist eine Beispiel mit dem neuen raumServer und GetFileFromURL


define testraumserver DOIF ([test] eq "on")\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/createZone?id=Wohnzimmer")})\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Wohnzimmer")})\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/loadPlaylist?id=Wohnzimmer&value=FhemAlarm")})\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/play?id=Wohnzimmer")})\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/addToZone?id=Zentrale&zoneId=Wohnzimmer")})\
({GetFileFromURL("http://192.168.188.21:8080/raumserver/controller/setVolume?value=25&id=Zentrale")})
attr testraumserver do always
attr testraumserver room Media
attr testraumserver wait 5,5,5,5,5,5


Wenn du jede Zeile einzeln in die FHEM Befehlszeile kopierst funktioniert es (Hoffe ich  ;) )

Alternativ kannst du es auch so machen:

{GetHttpFile ("http://192.168.188.29:8080","/raumserver/controller/createZone?id=Zentrale")}

Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

#47
Hallo,

ich bin jetzt endlich umgestiegen, Server läuft auf Raumfeld Cubes mit 1.60.1 hier der Auszug aus meiner 99_myutils.pm:


### RaumServer

# play
# With this request you can start or resume playing the current playlist for a zone
sub Raumfeld_play( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/play?id=$id")}
}

# stop
# With this request you can stop playing the current playlist for a zone
sub Raumfeld_stop( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/stop?id=$id")}
}

# pause
# With this request you can pause playing the current playlist for a zone
sub Raumfeld_pause( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/pause?id=$id")}
}

# next
# With this request you can jump to the next track of the current playlist for a zone
sub Raumfeld_next( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/next?id=$id")}
}

# prev
# With this request you can jump to the prev track of the current playlist for a zone
sub Raumfeld_prev( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/prev?id=$id")}
}

# seekToTrack
# You can use trackNumber (trackNumber=4) parameter to jump to the given number (starts with 1)
sub Raumfeld_seekToTrack( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/seekToTrack?trackNumber=$value&id=$id")}
}

# seek
# With this request you can seek within a track
# The value parameter is in milliseconds
sub Raumfeld_seek( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/seek?id=$id&value=$value")}
}

# setPlayMode
# With this request you can set the play mode for a zone or for all zones
# Available play modes are NORMAL, SHUFFLE, REPEAT_ONE, REPEAT_ALL, RANDOM (Shuffle + Repeat All)
sub Raumfeld_setPlayMode( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/setPlayMode?id=$id&mode=$value")}
}
# sleepTimer
# With this request you can set a sleep timer for a zone or for all zones
# You can use secondsUntilSleep (secondsUntilSleep=120) parameter to set the remaining playing time in seconds
# If you set secondsUntilSleep to 0 (secondsUntilSleep=0) the sleeptimer is canceled
# You can use secondsForVolumeRamp (secondsForVolumeRamp=120) parameter to set the ramp for the volume decrease in seconds
sub Raumfeld_setPlayMode( $$$ ) {
my ( $id, $value1, $value2 ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/sleepTimer?id=$id&secondsUntilSleep=$value1&secondsForVolumeRamp=$value2")}
}

# setVolume
# With this request you can set the volume for a single room.
sub Raumfeld_setVolume( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/setVolume?value=$value&id=$id")}
}

# volumeUp
# With this request you can raise the volume for a single room.
sub Raumfeld_volumeUp( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/volumeUp?value=$value&id=$id")}
}

# volumeDown
# With this request you can lower the volume for a single room.
sub Raumfeld_volumeDown( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/volumeDown?value=$value&id=$id")}
}
# fadeToVolume
# With this request you can fade the volume for a single room to a specific value.
# The duration of the fade can be specified by adding the duration (duration=2000) parameter which value will be treated as milliseconds
sub Raumfeld_fadeToVolume( $$$ ) {
my ( $id, $value_vol, $value_dur ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/fadeToVolume?value=$value_vol&id=$id&duration=$value_dur")}
}
# mute
# With this request you can mute a single room
sub Raumfeld_mute( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/mute?id=$id")}
}

# unMute
# With this request you can unmute a single room
sub Raumfeld_unMute( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/unMute?id=$id")}
}

# toggleMute
# With this request you can toggle mute for a single room
sub Raumfeld_toggleMute( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/toggleMute?id=$id")}
}

# loadPlaylist
# With this request you can load a stored playlist id into a zone playlist
sub Raumfeld_loadPlaylist( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/loadPlaylist?id=$id&value=$value")}
}

# getRendererState
# This request returns the renderer state for one zone (eg. virtual renderers)
# This request has the ability for long polling by providing the updateId parameter which is returned on the first request in the Response header
sub Raumfeld_getRendererState( $ ) {
my ($id) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/data/getRendererState?id=$id")}
}


Hier ein Beispiel für mein SleepMode-DOIF:
define doif_SleepMode DOIF ([SleepMode] eq "on")\
({Raumfeld_loadPlaylist("Schlafzimmer","Radio")})\
({Raumfeld_setVolume("Schlafzimmer",0)})\
({Raumfeld_seekToTrack("Schlafzimmer",1)})\
({Raumfeld_fadeToVolume("Schlafzimmer",10,30000)})\
(set KlouseLED1 rgb 000000, set KlouseLED1 on-for-timer 49,set KlouseLED1 animation 0000FF 000000 20 0,setreading KlousePad Toast SleepMode%20On,setreading KlouseWatch Toast SleepMode%20On,setreading KlousePhone Flash SleepMode%20On)\
(set SleepMode off)\
DOELSEIF ([SleepMode] eq "off") \
({Raumfeld_stop("Schlafzimmer")})\
(IF ([KlouseLED1] eq "on") (set KlouseLED1 off))
attr doif_SleepMode do always
attr doif_SleepMode wait 0,2,1,1,0,1800:0,0


Wichtig ist die Pause nach dem laden der Playlist, damit klappt es bisher gut bei mir, auch beim eingebundenen nicht raumfeld DLNA Raspberry Renderer.
(SideInfo: Inzwischen kann man 3rd party dlna Renderer leider nicht mehr per Raumfeld App adden, man kann aber eine xml editieren so manuell Renderer hinzufügen)

Solltet ihr mit eurem raumServer Ausfälle haben, habe ich inzwischen auf
http://www.hifi-forum.de/index.php?action=browseT&forum_id=212&thread=1272&postID=327#327 ein Script für den automatischen restart des Service zusammenkopiert und in der Testphase.

LG,
Klaus


DosiRocker

Hallo Klaus,

vielen Dank für deinen Code, muss ich mir mal ansehen und testen. bin immer noch auf dem alten raumServer  :'(

Das mit der Playlist schaue ich mir auch nochmal an.

Gruß,
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

Klouse

Eine Frage, habt ihr derzeit auch massive Probleme mit dem tuneIn Service?

Ich bin daher für meine Modes derzeit auf direkte LoadUri umgestiegen:

99_myUitls:
# loadUri
# With this request you can load a uri into a zone playlist
# You may use this for loading streams which are not accessible via the upnp server
# Currently only direct urls will work (no playlist urls)
# /raumserver/controller/loadUri?id=Wohnzimmer&value=[urlencoded uri]
# /raumserver/controller/loadUri?id=Wohnzimmer&value=http%3A%2F%2Fmp3channels.webradio.rockantenne.de%2Fheavy-metal
# Tipp: http://www.url-encode-decode.com/ für Url Umwandlung.
sub Raumfeld_loadUri( $$ ) {
my ( $id, $value ) = @_;
{GetHttpFile ("192.168.1.150:8080","/raumserver/controller/loadUri?id=$id&value=$value")}
}

DosiRocker

Ich hatte es vor ca.  3-4 Monaten, dass mein Radio 1 Stream immer gestoppt hat. Nach ca.  1-2Wochen war es wieder ok.  Leider war ich damals zu doof für loaduri
Martin
Cubietruck: CUNO 868;CUL HM
1 Wire: 1 OWAD, 13 OTHERM
10 FS20 ST; 3 HMS100WD; 1 EM1000;  4 S300TH;
4 HM_CC_RT_DN, HM_SEC_SC
AVM 7390 als FHEM2FHEM, Raspberry Pi

spacecowboy.21

#51
Hallo,

kann mir einer sagen was ich machen muss damit ich meine Raumfeld Lautsprecher über FHEM ansteuern kann?

Oder gibt es irgendwo ein Wiki?

- RaumserverInstaller runterladen und auf einen Raumfeld Installieren
- und dann die Config von Klaus nehmen?

Oder sollte ich es, da ich auch Loxone habe es dort machen?


Habe gerade

Wlan für Raumfeld mit Expand - 1.60.1 -192.168.1.117

im Wohnzimmer: Raumfeld One M - 1.60.1 -192.168.1.107
in der Küche: Raumfeld One S - 1.60.1   -192.168.1.104




Danke


d.stratmann

Hallo,

ich war mal so frei und habe mir den Code bei mir ins fhem kopiert.
Leider verzweifel ich grade schon an folgender Stelle.
Ich habe mir einen Dummyschalter gemacht, mitdem ich eigentlich folgendes machen möchte.
Wenn ich auf Play drücke, dann soll meine Playlist 1live gespielt werden.

define RF_BZ dummy
attr RF_BZ devStateIcon on:audio_audio@yellow off:audio_audio@red Play:audio_volume_mid@green Mute:audio_volume_mute@red Stop:audio_audio@red
attr RF_BZ group Speaker
attr RF_BZ icon audio_audio
attr RF_BZ room Badezimmer
attr RF_BZ sortby 1
attr RF_BZ webCmd Play:Stop:Mute
define RF_BZ_Play notify RF_BZ:State.* ({Raumfeld_loadPlaylist("Badezimmer","1live")})\
({Raumfeld_setVolume("Badezimmer",0)})\
({Raumfeld_seekToTrack("Badezimmer",1)})\
({Raumfeld_fadeToVolume("Badezimmer",20,30000)})\


Zum Testen hatte ich dann mal folgende probiert, ob überhaupt das notify funktioniert aber da scheint es schon zu hapern.
define RF_BZ_Play notify RF_BZ:State.* {\
  fhem("set LED_KU on ;; set LED_WZ on")\
}\


Kannst du mir hier mal Hilfe geben... ich wollte erst klein anfangen mit der Raumfeldintegration und Stück für Stück erweitern.

fasch

Hallo,
ich habe mir mal den ganzen Thread hier durchgelesen und dann auch mit dem Raumserver getestet und alles mögliche konfiguriert.
Letztendlich bin ich jetzt über eine ganz einfache Lösung gestolpert.

Alles kann man direkt in der FHEM GUI machen, man braucht nichts programmieren. Ich denke, das kann auch anderen helfen.

Grundlage meiner Lösung ist: Meine Raumserver Cubes sind ganz normale DLNA Renderer.

Mit meinem Tablet und der Raumserver App habe ich die Cubes eingerichtet. Mein Raum heißt "Cubes", nicht "Wohnzimmer", mit dem Gerät "Speaker Cubes".
Im input Feld von FHEM habe ich jetzt nur einen Befehl eingegeben:

    define renderer DLNARenderer

In der fhem.cfg ergibt das:

  defmod renderer DLNARenderer
   attr renderer userattr defaultRoom ignoreUDNs


Vorsichtshalber habe ich das FHEM mal durchgestartet und musste keine 2 Minuten warten.
Die Cubes waren natürlich eingeschaltet.
In der Abteilung Unsorted hatte ich plötzlich zwei neue Einträge "Cubes" und "Speaker Cubes"
Beide mit einem Status Eintrag und einem Volume Slider.
In der fhem.cfg sieht das für den Raum "Cubes" jetzt so aus:

   defmod DLNA_000040652ba9 DLNARenderer uuid:00000000-4065-2ba9-0000-000040652ba9
   attr DLNA_000040652ba9 userattr channel_01 channel_02 channel_03 channel_04 channel_05 channel_06 channel_07 channel_08 channel_09 channel_10 multiRoomGroups ttsLanguage
   attr DLNA_000040652ba9 alias Cubes
   attr DLNA_000040652ba9 webCmd volume


Äquivalente Einträge gibt es für "Speaker Cubes".

Den Raum "Cubes" nutze ich nun zum weiter arbeiten.
Vordefiniert sind channel_01 bis channel_10. Dort lege ich Streams von Radio-Sendern ab:

   attr DLNA_000040652ba9 channel_01 http://ndr-ndr2-niedersachsen.cast.addradio.de/ndr/ndr2/niedersachsen/mp3/128/stream.mp3
   attr DLNA_000040652ba9 channel_02 http://mp3.ffh.de/ffhchannels/rock.mp3


Jetzt noch ein Minimum von Bedienungs-Elementen:

   attr DLNA_000040652ba9 webCmd volume:channel:stop

Fertig ist die Raumfeldbedienung mit 2 Radiosendern, volume und stop.
Ich überlasse es Euch das noch schöner zu machen.
Und ich denke der Wecker ist auch klar.
Jetzt geht erstmal mein Garten vor.

Im Bereich der set Befehle hab ich noch einiges mehr, die ich nicht weiter ausprobiert habe.
Z.B. on-for-timer oder off-till-overnight

Gruß, Jens

helmut

#54
Zitat von: fasch am 28 Juli 2017, 19:36:21
Hallo,
ich habe mir mal den ganzen Thread hier durchgelesen und dann auch mit dem Raumserver getestet und alles mögliche konfiguriert.
Letztendlich bin ich jetzt über eine ganz einfache Lösung gestolpert.

Hallo Jens,

vielen Dank fuer Deinen ausgesprochen hilfreichen Beitrag.

Da ich mit meinen "Stereo M" vorwiegend Radio hoere, habe ich habe einige Funktionen auf einen
HM Sechsfach-Taster gelegt; die Raumfeld-App hat mich immer schon genervt.

So kann ich zum Beispiel die Channel, belegt mit Radiosendern, hoch- und 'runterschalten, bei der
Gelegenheit den aktuellen Sender per "speak" ausgeben und die Lautstaerke der einzelnen Sender
angleichen. Ausserdem kann ich auf Unterbrechungen des Streams reagieren und schalte nach zehn
Sekunden einfach wieder auf "play" wenn ich ein "transportState.*STOPPED" entdecke.

Fuer mich ist DLNARenderer  genau die richtige Loesung. Weder mit den Python-Bibliotheken noch
mit dem Raumfeld-Webserver konnte ich mich anfreunden.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Abercrombie1892

nutzt jemand von euch den node raumserver zusammen mit fhem? der raumserver läuft ja soweit wirklich genial und wesentlich besser als der alte raumserver.

nun wollte ich aber die systemänderungen vom raumserver/raumfeld über fhem auslesen, scheitere aber daran die daten abzugreifen und mir zum zb. den play und stopstatus anzeigen zulassen.

FEHMPiDi

Hallo,

leider ist ja hier nicht so reger Betrieb in diesem Beitrag. Schade das alle auf Sonos abfahren und nicht auf Teufel :)
Naja, ich habe jedenfalls das Raumfeldsystem und habe meine 3 Boxen nun per DLNARenderer in Fhem eingebunden.
Das funktioniert eigentlich auch erstaunlich einfach und gut. ABER, ich habe da ein Problem. Wie bekomme ich die Boxen aus dem Schlafmodus aufgeweckt. Ich kann alles steuern wenn ich die Boxen eingeschaltet habe. Leider kann ich sie aber nicht per Fhem einschalten. Ist das nicht möglich oder mache ich da noch etwas falsch?

Danke schon mal
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

Abercrombie1892

du müsstest vorher die boxen aufwecken über den node raumserver, vorher funktioniert es auch nicht bei mir. ich nutze aber den dlna eh mehr um die informationen abzugreifen für play pause lautstärke usw.

FEHMPiDi

Achso. Schade, ich wollte morgens wenn ich die Küche betrete das Radio einschalten.

Aber danke für die Antwort.
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

Abercrombie1892

Installiere dir doch den Node raumserver auf dem Pi. Dann kannst du das alles wirklich easy machen.

Das ganze läuft bei mir erstaunlich sauber durch seit Monaten

FEHMPiDi

was ist denn der nodeRaumserver. Habe ich noch nichts davon gehört. Ich werde mal google und mich einlesen.
Hast DU evtl. ein Beispiel wie du das in Fhem dann intergriert hast?
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

UweUwe

Hallo Raumfeldfreunde,

ich habe auch eine grosse Raumfeldinstallation und würde gerne auch alles auf FHEM umstellen. Wie sind denn heute eure Erfahrungen mit Raumdfeld über FHEM?. Welche Funktionen sind implementiert?

Merci

Abercrombie1892

raumfeld selber ist nicht in fhem implantiert. das musst du alles selber erstellen

UweUwe

Merci, gibt es dazu eine Anleitung für Anwender und nicht so Programmierer?

Newbie

ZitatMerci, gibt es dazu eine Anleitung für Anwender und nicht so Programmierer?

Gibt ja nur zwei Alternativen, entweder das DLNARenderer-Modul verwenden (für einfache Steuerung gehts) oder
den node - Raumserver nutzen (Google und Co fragen).

Ich finde es auch schade das es kein Modul für das Teufel-Multiroom-System gibt.

vg Jens
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

UweUwe

Hallo Abercrombie1892,

hab eine grössere Raumfeld Installation mit Stereo Cubes, Stereo L , connectoren, One M

ich hab da folgende Idee für 2 Anwendungen in meiner Unterkunft:

1. Ganz normal über FHEM (Taster , WEB) Radio und Spotify zu steuern .
2. Alle Raumfeldgeräte zusammen als Alarmanlagen Aktoren zu verwenden, sobald ich einen Alarm habe.

Lässt dich dies realisieren?

Ich hab verstanden, man benötigt sowohl den node raumserver als auch den DLNARenderer.
Irgendwie installiert bekomme ich dies schon, (mit Hilfe meiner Kinder), aber wie gehe ich dann mit FHEM da ran?
Könntest du mir da was schicken, bei dir läuft es ja wohl.

Spotify denke ich, dass ich hinbekomme, da gibt es aktuell ein Authorisierungsthema, sollte aber von Spotify Seite machbar sein.

Merci:

Abercrombie1892

Spotify ist eine Sache für sich. Sobald zb vom Handy aus der Stream gestartet wird, kannst du über den raumserver das ganze steuern. Wenn die Geräte im manuellen Standby sind, verschwinden diese aus der Spotify Connect Ebene.

Du kannst aber ohne Probleme das ganze so realisieren wie du es dort beschrieben hast.

UweUwe

Hallo  Abercrombie1892,

erstmal vielen Dank für die schnelle Antwort.
Spotify habe ich zwischenzeitlich installiert und kurz 2 Geräte gesehen.  Ich vermute dass ich mit Spotify ohne Zusatzmodule nicht direkt auf Raumfeld kann, oder bin ich da falsch.  Ich hab aber schon 2 Geräte gesehen, sind aber jetzt wieder weg, obwohl nicht Standby. Das verstehe ich noch nicht.

Soll ich die weiteren Fragen über Spotify oder Raumfeld fragen?

Deine Mail verstehe ich noch nicht ganz:

ZitatSobald zb vom Handy aus der Stream gestartet wird, kannst du über den raumserver das ganze steuern. Wenn die Geräte im manuellen Standby sind, verschwinden diese aus der Spotify Connect Ebene.

Ich muss also vom Handy aus einen Stream auf Raumfeld starten, was ich wahrscheinlich bei Einbruch nicht machen kann. Da bin zu diesem Zeitpunkt  wahrscheinlich nicht verfügbar.
Verstehe ich das richtig?

Welche Module muss ich jetzt nachinstallieren bzw. wie gehe ich vor?

1. Um einfach Spotify über Raumfeld abspielen zu lassen
2. Um die Alarmfunktion zu nutzen.

Vielen Dank

Falls du mir hier helfen könntest, würde es mir sehr weiterhelfen..

Danke.









Abercrombie1892

Installiere dir erstmal den dlna renderer. Damit kannst du ein speak absetzen ( dafür brauchst du im Grunde noch nicht den Node raumserver. Hier kannst du jetzt, wenn einer deiner Sensoren etwas bemerkt, einen Text Ansagen lassen bzw einen mp3 Stream starten zb. Eine Sirene.

Du kannst direkt einen Song aus dem Spotify Modul starten auf den Raumfeld Geräten, aber dazu müssen die Geräte an sein.
Einfach die Playlist url in dem Spotify Modul eingeben mit der uuid am Ende von deinem Raumfeldgerät. Ab hier kannst du dann mit dem Spotify Modul arbeiten.

UweUwe

Hi, das klappt gut und ich habe jetzt sehr häufig Spotify über Raumfeld gehört.
Die Frage nach dem automatischen Start:
Ist es möglich folgendes zu automatisieren:
Code: [Auswählen]

ZitatDurch einen Event startet Spotify einen meiner Raumfeld Speaker (immer derselbe oder auch mehrere) mit spezifischer device_1_id  und einem spezifischen track_name (immer derselbe), den ich mir in Spotify angelegt hat. FHEM setzt die Lautstärke auf ca. 80% (set spotify voume). Ein weiterer Event schaltet dies wieder aus oder auch nach einer vorgegeben Zeit.





Abercrombie1892

ja das geht, aber min 1 gerät von dir muss sich im automatischen standby betrieb befinden, da es sonst nicht von spotify connect gefunden wird. das automatische einschalten der anderen geräte, die sich evtl im manuellen Standby befinden kannst du nur über den node raumserver aufwecken.


sobald alle deine raumfeldgeräte im manuellen standby sind, melden sich diese von spotifyconnect ab und können nicht über das spotify modul bespielt werden.

UweUwe

Hallo Abercrombie1892,
danke für die Antwort. Noch eine kleine Nachfrage: Automatischer Standby heisst, dass die beiden LEDs an dem Raumfeld-Gerät selbständig ausgegegangen sind. Manueller Standby heisst, dass man den jeweiligen Standby Knopf gedrückt hat. Korrekt? Die Kommandos bastle ich mir jetzt zusammen. Merci

Abercrombie1892

Zitat von: UweUwe am 04 Februar 2019, 20:14:10
Hallo Abercrombie1892,
danke für die Antwort. Noch eine kleine Nachfrage: Automatischer Standby heisst, dass die beiden LEDs an dem Raumfeld-Gerät selbständig ausgegegangen sind. Manueller Standby heisst, dass man den jeweiligen Standby Knopf gedrückt hat. Korrekt? Die Kommandos bastle ich mir jetzt zusammen. Merci

genau, das siehst du auch in der app selber. wenn die schieberegler grau sind, dann manueller standby, wenn leicht rot steht eco drüber, das heisst dann automatischer standby.

UweUwe


UweUwe

Hi, darf ich noch was fragen: playTrackByURI <track_uri> [ <device_id / device_name> ]
plays a track using a track uri

hab mich mal versucht:  set Spotify playTrackByURI 2GQwwgabX1VBacz4kP5fSX Büro Wien oder set Spotify playTrackByURI 2GQwwgabX1VBacz4kP5fSX a184e42e6e8d5bcc4fef8ea574236167765972b0. Die Werte für <track_uri> device_id und device_name habe ich aus den readings entnommen.  Leider kein Sound..