Teufel Raumfeld über FHEM ansteuern!?

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

Vorheriges Thema - Nächstes Thema

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  ;
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