FHEM2FHEM mit 2 Raspi verstehe ich überhaupt nicht (z.B. mit Streamradio)

Begonnen von cocojambo, 11 Februar 2015, 21:32:49

Vorheriges Thema - Nächstes Thema

cocojambo

Ich habe mich mal hier im Anfänger Thread gemeldet, weil ich bei FHEM2FHEM echt keine Ahnung habe und auf dem Schlauch stehe. Im Board findet man zwar unter dem Begriff ettliches, aber nicht das was ich suche.
Das grundsätziche Einrichten des FHEM2FHEM Verbindung wird nirgendwo mal erläutert, weder im Wiki noch in der commandref.
Ich habe das so verstanden, das man auf dem 2.Raspi eine "Anwendung" installiert und diese dann auf dem 1.Raspi nutzen kann. Ich wollte auf dem 2.Raspi das StreamRadio komplett installieren (mit define.....attr......floorplan definition.....Slider.... Stationsnamen.... etc..) also so als wäre es auf Raspi1, um es dann dort normal ausführen zu können als wäre es vor Ort auf dem Raspi1. Hintergrung ist, das ich den hohen Traffic und die Recourcen ausgelagern möchte und das ich diesen 2.Raspi bei der Audio Anlage unterbringen kann wegen des NF-Ausgangs.
Kann mir mal grundsätzlich wie man diese FHEM2FHEM Geschichte auf beiden Raspis installiert und bestimmten Anwendungen zuordnet und wie das was ich machen möchte wenigstens ansatzweise mal erklären.
Sonst sitze ich hier ewig und verzweifele.
Danke
nobbi
aus der Stadt mit dem morgen beginnenden "kölsche fastelovend"
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Hallo cocojambo,

bei mir läuft das Badradio (mir sehr großem WAF) seit letztem Jahr auch per fhem2fhem.
Und da bin ich, als immer noch Newbie, stolz drauf.

Da kann ich bestimmt einige Tipps bringen, aber heute nicht mehr.

Ich melde mich wieder.

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

cocojambo

@bergadler

Das find ich gut das es echt jemand gibt der das zum laufen bekommen hat. Ich bin gespannt wie das funktioniert und kann auch noch was dazu lernen.
Prima!!!

nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Zitat von: cocojambo am 11 Februar 2015, 21:32:49
Ich habe das so verstanden, das man auf dem 2.Raspi eine "Anwendung" installiert und diese dann auf dem 1.Raspi nutzen kann.
Nur mal zur Präzisierung:
Auf Raspi2 die "Anwendung" Streamradio installieren und die dann von Raspi1 aus bedienen können.

Also Raspi1 ist der Haupt-Raspi mit CUL  und Raspi2 hat den NF-Ausgang.
Geschaltet wird das Radio per FS20 S6A an Raspi1 und/oder FHEM-RemoteControl.

Grundvoraussetzung ist natürlich, daß auf Raspi2 das Streamradio installiert ist.
Da habe ich mich streng an's Wiki und den dort verlinkten Thread gehalten.
http://www.fhemwiki.de/wiki/Modul_StreamRadio_Einrichtungshilfe
(Ich habe zwar eine kleine Modifikation zur Senderwahl gemacht, aber dazu später.)

Wenn Du das am Laufen hast, geht's weiter.  ;)

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

cocojambo

Streamradio hatte ich bereits auf dem Raspi1 installiert mit größerem Slider, fertiger Sendeliste und in einem Floorplan.
Danach hatte ich diese Installation schon auf dem Raspi 2 übertragen, weil mir klar war das Streamradio narürlich dort laufen muß. Es läuft auch und funktioniert einwandfrei und ist natürlich auf Raspi 1 deaktiviert.
Gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Auf Raspi2:
(mein Raspi1 ist derzeit noch die Fritzbox, Name und IP entsprechend anpassen)
define Remote_Fritz FHEM2FHEM 192.168.178.1:7072 LOG:(badradio_dummy.*|Wetter.*)

Damit ist das Logging nur auf den Badradio_dummy_Schalter und die Wetteransage beschränkt.

Weiterhin:
define Radio_Schalter dummy
attr Radio_Schalter room Radio
attr Radio_Schalter setList state: on off dimup dimdown 1 2 3
attr Radio_Schalter webCmd :


Die Func_Radio_Play_N habe ich modifiziert:
Radio_Schalter:* {

  my $R_State = (ReadingsVal("Radio_Schalter", "state", "off"));
  my $R_State_old = (ReadingsVal("streamradio", "state", "off"));
  my $Vol_plus = Value("Dum_Volume_D") + 5;
  my $Vol_minus = Value("Dum_Volume_D") - 5;

if ($R_State_old eq "stopped") {
    fhem("set wetteransage on");
  }

  if ($R_State eq "1") {
    fhem("set streamradio PLAY http://Streamadresse1 ");
  }
  if ($R_State eq "2") {
    fhem("set streamradio PLAY http://Streamadresse2 ");
  }
  if ($R_State eq "3") {
    fhem("set streamradio PLAY http://Streamadresse3 ");
  }

  if ($R_State eq "off") {
    fhem("set streamradio STOP");
  }
  if ($R_State eq "dimup" and $Vol_plus >= 100) {
    fhem("set Dum_Volume_D 100");
  }
  if ($R_State eq "dimdown" and $Vol_minus <= 0) {
    fhem("set Dum_Volume_D 0");
  }
  if ($R_State eq "dimup" and $Vol_plus <= 100) {
    fhem("set Dum_Volume_D $Vol_plus");
  }
  if ($R_State eq "dimdown" and $Vol_minus >= 0) {
    fhem("set Dum_Volume_D $Vol_minus");
  }
}

Somit sind über die 6 Tasten vom Schalter dann 3 Sender direkt anwählbar + lauter/leiser/off.
Wenn das Radio aus war, wird zu Beginn noch das aktuelle Wetter angesagt.

geht gleich weiter ...
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

bergadler

Auf Raspi1:
eine Fernbedienung angelegt:
define bad_radiocontrol remotecontrol
attr bad_radiocontrol alias RadioControl
attr bad_radiocontrol group Bad_Radio
attr bad_radiocontrol rc_iconpath icons/remotecontrol
attr bad_radiocontrol rc_iconprefix black_btn_
attr bad_radiocontrol room Bad,Test
attr bad_radiocontrol row00 1:1,dimup:VOLUP2
attr bad_radiocontrol row01 2:2,dimdown:VOLDOWN2
attr bad_radiocontrol row02 3:3,off:POWEROFF


Und den für FHEM2FHEM schon erwähnten badradio_dummy:
define badradio_dummy dummy

Die Fernbedienung füllt diesen Dummy per einem bad_radiocontrol_notify:
bad_radiocontrol:* {
if ( Value("bad_radiocontrol") eq "on")
  {   
   fhem ("set badradio_dummy set Radio_Schalter on");
  }
if ( Value("bad_radiocontrol") eq "1")
  {   
   fhem ("set badradio_dummy set Radio_Schalter 1");
  }
if ( Value("bad_radiocontrol") eq "2")
  {   
   fhem ("set badradio_dummy set Radio_Schalter 2");
  }
if ( Value("bad_radiocontrol") eq "3")
  {   
   fhem ("set badradio_dummy set Radio_Schalter 3");
  }
if ( Value("bad_radiocontrol") eq "4")
  {   
   fhem ("set badradio_dummy set Radio_Schalter 4");
  }
if ( Value("bad_radiocontrol") eq "off")
  {   
   fhem ("set badradio_dummy set Radio_Schalter off");
  }
if ( Value("bad_radiocontrol") eq "dimup")
  {   
   fhem ("set badradio_dummy set Radio_Schalter dimup");
  }
if ( Value("bad_radiocontrol") eq "dimdown")
  {   
   fhem ("set badradio_dummy set Radio_Schalter dimdown");
  }
}


Wenn ich jetzt spontan nichts vergessen habe, war's das.
Gut, gerade der letzte Teil geht bestimmt noch eleganter ($EVENT?), aber so weit bin ich noch nicht,
Hauptsache es funktioniert. 8)
(bin aber auch für kleine Tips jederzeit empfangsbereit)
Und der schon erwähnte FS20 S6A macht dann auch nichts anderes, als den badradio_dummy
per notify mit den entsprechenden "set Radio_Schalter ..." zu fütern.

Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

cocojambo

Während ich noch an deiner ersten Antwort arbeitete, kam schon die zweite. Bei mir sieht die vorläufige komlpette Definition des Streamradios und des Volume Sliders und der Station Anzeige auf dem Raspi2 z.Zt. so aus:define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio alias Lieber Fernsehmüde als radioaktiv!
attr streamradio fp_Radio 30,600,2,
attr streamradio group Stream Radio
attr streamradio room Küche
attr streamradio telnetport 7072
attr streamradio volume_command amixer cset numid=1 -- %s%%

define Dum_Volume_D dummy
attr Dum_Volume_D alias Lautstärke
attr Dum_Volume_D fp_Radio 670,560,2,
attr Dum_Volume_D group Stream Radio
attr Dum_Volume_D room Küche
attr Dum_Volume_D setList state:slider,50,2,100
attr Dum_Volume_D webCmd state

define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set streamradio VOLUME $vol";;}
attr Func_Volume_N room Küche

Dann müßte diese Eingabe auf dem Raspi2 so aussehen oder ?:
define raspberry_master FHEM2FHEM 192.168.115.60:7072 LOG:(streamradio.*)
und dann müßte ich doch diesen Teil der Regelung auf dem Raspi2 entfernen und im Raspi1 eingeben,
define Dum_Volume_D dummy
attr Dum_Volume_D alias Lautstärke
attr Dum_Volume_D fp_Radio 670,560,2,
attr Dum_Volume_D group Stream Radio
attr Dum_Volume_D room Küche
attr Dum_Volume_D setList state:slider,50,2,100
attr Dum_Volume_D webCmd state

define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set streamradio VOLUME $vol";;}
attr Func_Volume_N room Küche

aber was muß mich jetzt als dummy im Raspi1 definieren?

Gruß
nobbi




FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Zitat von: cocojambo am 12 Februar 2015, 21:47:13
und dann müßte ich doch diesen Teil der Regelung auf dem Raspi2 entfernen und im Raspi1 eingeben,
Nein!
Die gesamte Definition/Konfig des Streamradios ist und bleibt auf Raspi2.
Raspi1 schaltet jenes welches dann nur ein/um/laut/leise/off.

Zitataber was muß mich jetzt als dummy im Raspi1 definieren?

Einen Dummy, der laut Deiner Def im FHEM2FHEM "streamradio" heißen muß.
Und in diesen wird dann auf Raspi1 per Notify vom eigentlichen Schalter reingeschrieben,
was auf Raspi2 geschaltet werden soll.

Muß für heute jetzt leider weg  :o
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

cocojambo

die komplette funktionierende Definition/Konfig habe ich auf dem Raspi2 und auf dem Raspi1 nur:
define streamradio dummy
und und zusätzlich auf dem Raspi2:
define raspberry_master FHEM2FHEM 192.168.115.60:7072 LOG:streamradio.*
mit der Adresse des Raspi1

gibt kein Error, das streamradio taucht aber auch nirgendwo auf?

Gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

cocojambo

@bergadler
Ich komme wohl besser damit zurecht, wenn du einfach mal komplett, aber wirklich alles postest was du auf der "Fritzbox" und deinem"Raspi" zu deinem Bad_Radio eingegeben hast. Dann kann ich mir das mal ausdrucken und verstehe auch die Abhängikeiten einfacher wie das mit dem FHEM2FHEM funktioniert und kann es dann für meinen Fall umsetzen. Und wenn ich dann noch Fragen habe, dann kann ich eventuell viel gezielter nachfragen. Was meinst du dazu?. Denn ich kapiere das nämlich immer noch nicht so richtig......so komme ich im Moment nicht weiter, obwohl ich "100 te" andere Dinge, die viel komplizierter waren irgendwann selbst gelöst habe. Aber in diesem Fall sitz ich davor, wie der Ochse vorm Berg.
Das wäre toll
Danke
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Zitat von: cocojambo am 12 Februar 2015, 22:46:20
Ich komme wohl besser damit zurecht, wenn du einfach mal komplett, aber wirklich alles postest was du auf der "Fritzbox" und deinem"Raspi" zu deinem Bad_Radio eingegeben hast.
Hab ich doch!  ???

Womit fütterst Du denn Dein "streamradio" auf Raspi1?
Was ist auf Raspi1 Dein Ein-/ Aus-/ Umschalter?

Was erscheint dann im Eventmonitor auf Raspi2?

Wenn ich, nach meiner Syntax und meinen Beispielen auf "Fritzbox" (Raspi1) in die Commandzeile eingebe:
set badradio_dummy set Radio_Schalter 1
geht auf "Raspi2" das Badradio los.

Und mit
set badradio_dummy set Radio_Schalter off
geht's wieder aus.


Gruß
aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)

cocojambo

Ich mach für heute erst mal Schluß und guck mir das morgen noch mal in aller Ruhe an und melde mich dann noch mal.
gruß
nobbi
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

cocojambo

So nach dem ich jetzt mal alles zerpflügt habe und meine, einigermassen verstanden zu haben wie das FHEM2FHEM funktionieren könnte, habe ich die Definitionen in den 2 Raspis mal neu gemacht.
Was ich schon hinbekommen habe, ist das der Volume Slider auf dem Raspi 1 funktioniert, sich einwandfrei regeln lässt und auf dem Raspi 2 tatsächlich die Radiostream Laustärke stufenlos regelt.
Was ich noch nicht verstanden habe, ist wie werden die Stationen in der Dropdownliste umgeschaltet. Man kann zwar einen Sender auswählen aber es wird keine Werte an den Raspi 2 weitergegeben weil ich nicht ersehen kann wie diese an das StreamRadiomodul übergeben werden. Stationär direkt auf dem Raspi 2 geht es natürlich.
So sieht meine Lösung im Moment aus: auf Raspi1 steht das:
define streamradio StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio alias Lieber Fernsehmüde als radioaktiv!
attr streamradio fp_Radio 30,600,2,
attr streamradio group Stream Radio
attr streamradio room Küche
attr streamradio telnetport 7072

define Dum_Volume_D dummy
attr Dum_Volume_D alias Lautstärke
attr Dum_Volume_D fp_Radio 670,560,2,
attr Dum_Volume_D group Stream Radio
attr Dum_Volume_D room Küche
attr Dum_Volume_D setList state:slider,50,2,100
attr Dum_Volume_D webCmd state

und auf Raspi2 das:
define raspberry_master FHEM2FHEM 192.168.115.60:7072 LOG:(streamradio_dummy.*|Dum_Volume_D.*)

define streamradio_dummy StreamRadio /opt/fhem/log/WebStreams.txt
attr streamradio_dummy telnetport 7072
attr streamradio_dummy volume_command amixer cset numid=1 -- %s%%

define Func_Volume_N notify Dum_Volume_D {\
my $vol = Value("Dum_Volume_D");;\
fhem "set streamradio_dummy VOLUME $vol";;}
attr Func_Volume_N room Küche


wobei ich streamradio_dummy in der LOG abfrage mal drin gelassen habe, um auszuprobieren wie man die Senderumschaltung an den Raspi2 "weiterreichen" könnte.
Vielleicht hat jemand dazu auch eine Idee oder vielleicht auch eine einfache Lösung, die ich nicht sehe? Dann wäre das Teil fertig.
Gruß  aus Köln
nobbi

FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

bergadler

Servus,
sowohl das Streamradio selbst, als auch die Lautstärkeregelung liegen bei mir auf Raspi2.
Die direkte Senderwahl und auch die 5% Steps für die Lautstärkeregelung werden in der
Func_Radio_Play_N gesetzt. siehe mein Post #5.
(Ich habe nur 3 Senderstreams gewählt, da der FS20 Wandschalter nur 6 Tasten hat.)

Raspi1 ist nur der Schalter (1,2,3,dimup,dimdown,off)


Ich habe es noch einmal ganz schlicht mit 'nem anderen Raspi gemacht.

Das ist jetzt das minimal Nötigste, ohne RemoteControl, ohne Wetteransage
und ohne Radiopause bei sonstigen TTS Ansagen.
Voraussetzungen, siehe Post #5:

- der definierte Radio_Schalter Dummy
- die modifizierte Func_Radio_Play_N

auf Raspi1:
define badradio_dummy dummy

auf Raspi2:
define Raspi1_remote FHEM2FHEM 192.168.178.32:7072 LOG:badradio_dummy.*
define badradio_dummy_notify notify badradio_dummy { fhem "%" }



Wenn Du dann auf Raspi1 den Befehl eingibst:
set badradio_dummy set Radio_Schalter 1

muß auf Raspi2 das Radio losplärren.




aktuelles FHEM auf Raspberry B+, FHEM von fhem.de V.5.7, CUL868 V1.57, (6x FHT80B+ FHTTK, div. IT,div. FS20,Harmony Hub)