Listenlive: Unterschied zwischen den Versionen
Rince (Diskussion | Beiträge) K (→Der Code) |
Rince (Diskussion | Beiträge) K (→Der Code) |
||
Zeile 16: | Zeile 16: | ||
Für fhem.cfg | Für fhem.cfg | ||
<nowiki> | <nowiki>### WebRadio | ||
### WebRadio | |||
define WebRadio dummy | define WebRadio dummy | ||
attr WebRadio room Wohnzimmer | attr WebRadio room Wohnzimmer | ||
attr WebRadio setList UP LEFT DOWN RIGHT EXIT POWER OK VOLp VOLm STOP REPEAT PGUP PGDN RECORD HOME MENU MUTE FORWARD REWIND FMRADIO IRADIO ITV PAUSE CLOCK | attr WebRadio setList UP LEFT DOWN RIGHT EXIT POWER OK VOLp VOLm STOP REPEAT PGUP PGDN RECORD HOME MENU MUTE FORWARD REWIND FMRADIO IRADIO ITV PAUSE CLOCK | ||
attr WebRadio webCmd UP:LEFT:DOWN:RIGHT:EXIT:POWER:OK:VOLp:VOLm:STOP:REPEAT:PGUP:PGDN:RECORD:HOME:MENU:MUTE:FORWARD:REWIND:FMRADIO:IRADIO:ITV:PAUSE:CLOCK | attr WebRadio webCmd UP:LEFT:DOWN:RIGHT:EXIT:POWER:OK:VOLp:VOLm:STOP:REPEAT:PGUP:PGDN:RECORD:HOME:MENU:MUTE:FORWARD:REWIND:FMRADIO:IRADIO:ITV:PAUSE:CLOCK | ||
define myWebRadio notify WebRadio {radio($EVENT)};; | define myWebRadio notify WebRadio {radio($EVENT)};;</nowiki> | ||
</nowiki> | |||
Für die myUtils: | Für die myUtils: | ||
<nowiki> | <nowiki>use strict; | ||
use strict; | |||
use warnings; | use warnings; | ||
use POSIX; | use POSIX; | ||
Zeile 73: | Zeile 70: | ||
$socket->close(); | $socket->close(); | ||
} | }</nowiki> | ||
</nowiki> | |||
== Links == | == Links == |
Version vom 4. Juli 2013, 20:27 Uhr
Listenlive.nl Firmware
Auf der Seite listenlive.nl gibt es für viele Webradios eine alternative Firmware, derzeit in Version 1.49.
Die Kommunikation erfolgt über socks.
Im wesentlichen kann man darüber die Befehle senden, die auch die IR-Fernbedienung sendet.
Der Code
Bitte, kann jemand die richtigen Tags für den Code einfügen? Solange bitte die Seite im Quelltext ansehen.
Die IP Adresse des Radios müsst ihr ändern, der Rest ist ok, so wie es ist :)
Für fhem.cfg
### WebRadio
define WebRadio dummy
attr WebRadio room Wohnzimmer
attr WebRadio setList UP LEFT DOWN RIGHT EXIT POWER OK VOLp VOLm STOP REPEAT PGUP PGDN RECORD HOME MENU MUTE FORWARD REWIND FMRADIO IRADIO ITV PAUSE CLOCK
attr WebRadio webCmd UP:LEFT:DOWN:RIGHT:EXIT:POWER:OK:VOLp:VOLm:STOP:REPEAT:PGUP:PGDN:RECORD:HOME:MENU:MUTE:FORWARD:REWIND:FMRADIO:IRADIO:ITV:PAUSE:CLOCK
define myWebRadio notify WebRadio {radio($EVENT)};;
Für die myUtils: use strict; use warnings; use POSIX; use CGI qw(:standard); use IO::Socket; use IO::Socket::INET; use MIME::Base64; use Time::HiRes qw(usleep nanosleep); # # Listenlive Radio # sub radio($) { my ($socket,$client_socket); my $response =""; # # Create a socket object for the communication with the radio # $socket = new IO::Socket::INET ( PeerHost => '192.168.5.56', PeerPort => '8080', Proto => 'tcp', ) or die "ERROR in Socket Creation : $!\n"; # # Send the given command into the socket # $socket->send(@_); # # get the radio some time to execute the command (10ms ) # usleep(10000); # # get the answer of the radio # $socket->recv($response, 2); if($response !~ m/OK/) { Log 1, "Error from radio ! Response from Radio : $response" ; } $socket->close(); }