Befehl an Webradio auf anderen Raspberry senden

Begonnen von Invers, 22 Juli 2015, 00:32:23

Vorheriges Thema - Nächstes Thema

Invers

Ich habe einen zweiten Raspberry als Webradio eingerichtet. Funktioniert auch gut. Nun möchte ich aber dieses Webradio über fhem steuern.

wie kann ich denn aus fhem einen Befehl, zum Beispiel für "leiser" an den anderen Pi schicken.
Der Befehl an der Konsole wäre ja  mpc volume 50 oder mpc volume -10.

Wenn das Webradio auf dem selben pi installiert ist, wie fhem, dann schalte ich mit
{system "mpc play"}

Kann mir jemand den >Befehl für den entfernten Pi nennen?

Danke im Voraus.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Wernieman

Mal auf der Konsole ein "man mpc" probiert?

Stichwort:
       -h,--host
              The host to connect to; if not given, the value of the  environ‐
              ment  variable  MPD_HOST  is checked before defaulting to local‐
              host.  This default can be changed at compile-time.

              To use a password, provide a value of the form "password@host".

              If you specify an absolute path, mpc attempts a  connection  via
              Unix Domain Socket.

       -p,--port
              The  port to connect to; if not given, the value of the environ‐
              ment variable MPD_PORT is checked  before  defaulting  to  6600.
              This default can be changed at compile-time.


Ansonsten probiere das FHEM-Modul mpd, das kann es auch ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Bapt. Reverend Magersuppe

Guten Morgen!

ich benutze dafür das FHEM-Modul "mpd". Das geht ganz hervorragend.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

Invers

Vielen Dank für die Antworten.
Das Modul mpd wäre mir auch am liebsten, da es leichter zu konfigurieren geht, denke ich.

Aber leider habe ich damit keinen Erfolg.
Ich habe das Modul definiert:
define myMPD MPD 192.168.178.26
attr myMPD devStateIcon play:rc_PLAY:stop stop:rc_STOP:play pause:rc_PAUSE:pause
attr myMPD icon it_radio


Leider bekomme ich die Meldung

2015.07.22 10:23:12 3: myMPD, connect: Connection refused

Die IP und der Port sind aber richtig und ich höre auf dem entfernten Pi auch gerade Musik.

"man mpc" habe ich probiert, aber dafür reichen meine Linuxkenntnisse wohl nicht aus.
Kannst du mir, falls es nicht zu viel Aufwand für dich ist, einmal die Eingabe für die Kommandozeile von fhem zum Reinkopieren schreiben (Beispiel volume), damit ich mal ein konkretes Beispiel habe?

Wie gesagt, fhem läuft nicht auf demselben Pi, wie das Radio.



Vielen Dank den Wissenden.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Hollo

Zitat von: Invers am 22 Juli 2015, 10:39:20
...Leider bekomme ich die Meldung

2015.07.22 10:23:12 3: myMPD, connect: Connection refused

Die IP und der Port sind aber richtig und ich höre auf dem entfernten Pi auch gerade Musik...
Die Verbindung wird abgeblockt, weil Du von Deinem Rechner aus nicht darfst.
Dann hast Du den MPD auf Deinem Raspi noch nicht richtig konfiguriert.

Standardmäßig läßt der sich nur vom selben Rechner kommandieren.
Guck mal in die mpd.conf, dort gibt es irgendwo eine Zeile mit localhost, die musst Du mit einer Raute (#) auskommentieren.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Invers

Das hatte ich schon gelesen und auch auskommentiert.
Ich habe nun auf dem anderen Pi mit sudo mpd gestartet und es läuft. Zumindest kann ich die Lautstärke regeln. Die restliche Konfiguration werde ich noch einmal durchsehen.
Vielen Dank.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Bapt. Reverend Magersuppe

Ich benutze auf dem Pi als Webradio RuneAudio. Da geht das sehr gut.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

Wernieman

Ich würde Dir auch zu dem Modul mpd raten. Zur Fehlersuche ist aber eventuell mpc schneller. Schließlich kannst Du es auf dem entferntn Pi erstmal mit der Konsole testen. Wenn das läuft, dann auch das mpd-Modul.

Übrigens ... zum lesen der Man-Page von mpc ... sind sehr wenig Linux-Kentnisse nötig. Hatte Dir doch oben schon das wichtigste rauskopiert?

Möchtest Du was lernen? Dann versuche es bitte selber. Reines Lesen nötig .... Wenn Du eine fertige Lösung suchst, aber nicht lernen "willst":

mpc -h Dein_MPD-Rechner -p Dein_MPD_Port

Eventuell kannst Du auch den Teil "-p Dein_MPD_Port" weglassen ...

Edit:
lesen von "Man-Pages" ist prinzipiell nicht Linux (Unix) Spezifisch. Die Beschreibungen von Windows-Shell-Kommandos sind z.B. Ähnlich aufgebaut!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Invers

#8
Vielen Dank für den Tipp, habe ich mir mal angesehen.

In meinem Fall ist das allerdings mit Kanonen auf Spatzen schiessen.

Ich habe den Pi und einfache Lautsprecher im Bad aufgestellt. Da läuft immer nur ein Sender, Berliner Rundfunk.
Meine Idee ist, die Boxen immer zusammen mit dem Licht einzuschalten, damit das Radio automatisch angeht. Da ich das Badlicht bereits mit fhem überwache, ist es bis dahin nur ein kleiner Schritt. Dazu muss ich halt nur noch die Lautstärke von 100 auf 0 Prozent setzen, wenn das Licht ausgeschaltet wird und umgekehrt. Deshalb benötige ich nur "volume". Der Pi bleibt halt immer auf Empfang und spielt den Sender laufend ab. Nur die Lautstärke wird verändert.

Trotzdem ein interessantes Programm.

@Wernieman

Danke dir. Natürlich will ich lernen. Leider sind meine Englischkenntnisse sehr rudimentär.
Trotzdem habe die Parameter verstanden und auch ausprobiert.
Ich habe in die Befehlszeile von fhem {mpc -h 192.168.178.26} eingegeben und eine Meldung bekommen syntax error at (eval 62331) line 1, near "h 192.168.178.26"

Da wusste ich dann nicht weiter, deshalb hatte ich um ein Beispiel gebeten.
Nun scheint das Beispiel ja mit meinen Versuchen identisch zu sein. Daher weiss ich an der Stelle nun nicht weiter. Vielleicht hast du ja noch einen Tipp, was ich da falsch gemacht haben könnte.

Edit: Das Auslesen über die Konsole beider Pi's funktioniert.
Ergebnis:
pi@raspberrypi ~ $ mpc -h 192.168.178.26
volume:100%   repeat: on    random: off   single: off   consume: off

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Wernieman

#9
Ist dein Linux aktuell?

werner@mimi:~# mpc -h 127.0.0.1
volume: 20%   repeat: off   random: on    single: off   consume: off


Edit:
Da es dem Sender UpStream kostet, wenn Du abspielst (und der RasPi durch mehr arbeit mehr Strom zieht) würde ich Dir empfehlen, nicht nur das Volumen runterzuziehen, sondern mit "pause" auch mpd anzuhalten .. bzw. mit dem mpd-Modul zuarbeiten

Edit2:
Fürs debuggen:
kommst Du überhaupt auf Deinen mpd von Deinem fhem-raspi?

Probiere mal auf der Konsole:
telnet Dein_Rechner 6600
status


Und gib uns den "Output". Raus kannst Du mit einer Leerzeile (also purem Enter) kommen.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Hollo

Zitat von: Bapt. Reverend Magersuppe am 22 Juli 2015, 13:57:02
Ich benutze auf dem Pi als Webradio RuneAudio. Da geht das sehr gut.
RuneAudio basiert ja auch auf MPD,ist also Client-seitig kompatibel mit dem MPD-Modul.

Was mir daran nicht gefiel, ist der "static IPC Bug"; sowas kann man doch wohl innerhalb einiger Monate mal fixen.  >:(
Und die Auswahl von Webradio-Stationen in FHEM per Playlist habe ich nicht hinbekommen.
Toll gemacht ist dagegen das einheitliche Web-IF für unterschiedliche Devices.  :)

@Invers
Die Steuerung von Lautstärke und play/pause/stop über FHEM ist schon praktisch.
Für Deinen Zweck mit einem Sender ideal.
Dann mach aber auch stop und play, statt nur Lautstärke runter.   ;D

FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Wernieman

Warum machst Du Webradio übr verschiedene Playlisten? Ich habe eine Playlist mit allen Radios (und andere Playlisten für feste Musik) und switche zum passenden Sender innerhalb der Playlist
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Invers

Also:
Ich habe eigentlich nur eine Playlist mit 3 Stationen, wovon ich aber nur eine verwende.

Telnet:

Problem ist, dass der Befehlt telnet 192.168.178.26 auf dem Pi mit fhem funktioniert.
Pi ist auch aktuell.
Auf dem annderen (Webradio) Pi löst der Befehlt telnet 192.168.178.20 einen fehler aus:
-bash: telnet: command not found
Auch hier ist telnet installiert apt-get install telnetd.
Kann ich mir nicht erklären.

pi@raspberrypi ~ $ sudo apt-get install telnetd
Reading package lists... Done
Building dependency tree
Reading state information... Done
telnetd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi ~ $ telnet 192.168.178.20
-bash: telnet: command not found
pi@raspberrypi ~ $



Ich werde nachher noch einmal in Ruhe alles durchprobieren.. Muss erst einmal weg.
vorerst besten Dank, bis später.

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Virsacer

telnetd ist der Server (daemon) - der Client heißt nur "telnet"

Aber machs doch nicht so kompliziert und tipp einfach "define Webradio MPD 192.168.178.26" ein ;)

Wernieman

Naja ... s.o. er hatte doch gesagt, das er fehler bekommt. Das mit telnet war nur zur Fehler suche ...

mpc geht immer noch nicht?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Invers

So, ich bin wieder da.
Ich habe nun beschlossen, vorsichtshalber den Pi noch einmal neu aufzusetzen und dann noch einmal zu probieren. Wer weiss, was da alles schon im Argen lag.

Ich werde im Anschluss berichten, ob es dann geht.
Leider dauert der Download von wheezy sehr lange (langsam).
Ich lasse mich mal überraschen und melde mich im Anschluss.

Vorerst allen vielen Dank für die Unterstützung. In 2-3 Stunden weiss ich mehr.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Ich habe nun den alten Pi neu aufgesetzt und das Webradio noch einmal installiert.
Es funktioniert nun alles einwandfrei, auch die Steuerung über fhem läuft.

Es muss also an der Konfiguration des alten Pi gelegen haben, oder beim Edit der Dateien ist vielleicht etwas schiefgelaufen. Kann man nicht mehr nachvollziehen.

Ich möchte mich an dieser Stelle noch einmal recht herzlich für euer aller Hilfe bedanken. Ich habe dadurch eine Menge gelernt.

Ich kann nun auch mit dem Droid MPD Client das Radio steuern. Somit auch verschiedene Sender einstellen.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Noch ein kleiner Nachtrag:

Der Tipp, besser Pause statt Volume zu nutzen, um das Radio auszublenden ist leider nicht praktikabel.
Bei Pause wird der Sender noch für etwa 30 Sekunden gepuffert und dann bleibt bei Play genau nach dem Abspielen des Puffers die Wiedergabe stehen.
Es kommen also nur die Befehle Stop oder Volume infrage. Ich habe mich für Stop entschieden, obwohl man dann immer erst einen Werbespot hört, bevor nach Play das eigentliche Programm startet.
Ich weiss nicht, wie das andere Sender machen, aber beim Berliner Rundfunk ist das halt so.
Ich überlege nun ernsthaft, doch wieder Volume zu nutzen, da gerade bei kurzem Badaufenthalt leider nur kurz die Werbung läuft, dann ist man ja schon wieder weg.
Alternativ könnte ich auch mal andere Sender probieren. Vielleicht gibt es ja da keine Startwerbung.

Ansonsten funktioniert die Lösung sehr zuverlässig mit dem MPD-Modul.
Nochmals meinen Dank.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Virsacer

Das mit dem Puffern hab ich nicht, aber die Werbung ist bei mir (meistens) auch...
Radio bleibt normalerweise auch länger an - von daher kein Problem
Bei mir macht er nur Pause, wenn ich telefoniere und danach gehts weiter :)

Du kannst mal probieren, ob "play stop play" die Werbung austrickst

Wenn du wirklich Volume benutzt, wäre es sinvoll das Radio zu stoppen, wenn niemand zuhause oder es Nacht ist (ich bezweifle, dass du aus dem Halbschlaf gerissen werden willst)

Invers

play stop play funktioniert nicht immer. Eine Volumesteuerung mache ich erst einmal nicht. Ich lebe einfach mit dem einen Werbespot.
Die Nachtruhe hatte ich schon im DOIF mit einprogrammiert. Das Radio geht nur zwischen 6 und 24 Uhr.
Angenehmer Nebeneffekt ist, dass keiner mehr vergisst, das Licht im Bad auszumachen. Da hatte ich eine Ansage programmiert, die aber nun nicht mehr benötigt wird.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2