FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: tschimi am 25 Februar 2019, 09:50:20

Titel: JVC DILA über LAN on/off
Beitrag von: tschimi am 25 Februar 2019, 09:50:20
Hi,
da ich es mit dem IR-Blaster nicht hinbekommen hab, hab ich es nun via LAN hinbekommen. Wen es interessiert und es gebrauchen kann....

Es ist mein erstes Koding mit Perl - sicher gibt es da noch ne Menge Verbesserungspotential - aber es läuft.

Einfach {JVC_on} bzw. {JVC_off} eingeben in der FHEM Zeile. Vorher noch die IP des Beamers im Coding anpassen.. Die anderen Routinen im PM sind noch experimental :-)

Lg und viel Spaß, tschimi
Titel: Antw:JVC DILA über LAN on/off
Beitrag von: dts66 am 29 November 2019, 16:32:54
Hi,

wie schön das sich jemand mit der Steuerung der JVC Pj. beschäftigt. Aber leider ist das nicht so einfach nur die IP Adresse ändern. Da steckt wohl noch ein bissl mehr dahinter. Denn ich hab es nicht hinbekommen...  ich hab das ganze so umgeswetzt


define JVC_ON_OFF dummy

attr JVC_ON_OFF webCmd on:off

define ON_JVC notify JVC_ON_OFF:on {system('sudo /opt/fhem/99_myJVCCutils.pm')}

define OFF_JVC notify JVC_ON_OFF:off {system('sudo /opt/fhem/99_myJVCCutils.pm')}



Titel: Antw:JVC DILA über LAN on/off
Beitrag von: dts66 am 14 Dezember 2019, 15:09:38
Ich habe mich nochmal damit beschäftigt. Und rausgekommen ist, dass ich aus FHEM jeweils eine on und off .pm Datei benutze.

define JVC_ON_OFF dummy
attr JVC_ON_OFF userattr room_map structexclude
attr JVC_ON_OFF alias JVC Beamer
attr JVC_ON_OFF group Kino
attr JVC_ON_OFF icon IR
attr JVC_ON_OFF room 06 Wohnzimmer
attr JVC_ON_OFF webCmd on:off
define ON_JVC notify JVC_ON_OFF:on {system('sudo perl /opt/fhem/99_myJVCutils_JVC_ON.pm')}
define OFF_JVC notify JVC_ON_OFF:on {system('sudo perl /opt/fhem/99_myJVCutils_JVC_OFF.pm')}


viel spass beim testen :)

Grüße
Dts66
Titel: Antw:JVC DILA über LAN on/off
Beitrag von: Freeride am 24 Januar 2020, 12:48:57
Danke für das Script,

ich hab meine IP Adresse ausgetauscht, bekomme den Projektor aber nicht zum schalten.
Es ist ein N5, wurden da die Befehle vielleicht geändert?
Kann mir da mal bitte jemand helfen =)
Titel: Antw:JVC DILA über LAN on/off
Beitrag von: Freeride am 25 Januar 2020, 16:36:58
#------ JVC_on ------------------------
sub JVC_on() {

$socket = new IO::Socket::INET (PeerHost => '192.168.178.107',PeerPort => '20554',Proto => 'tcp',) or die fhem("set teleBot _msg JVC - Connection failure :-(");;

$socket->recv($data,1024);
fhem("set teleBot _msg JVC - Connection success: $data");

# write on the socket to server.
$data = "PJREQ";

# we can also send the data through IO::Socket::INET module,
$socket->send($data);
$socket->recv($data,1024);
fhem("set teleBot _msg JVC - Received: $data");

# send command
# $data = $ARGV[0]."\r\n";

$data = "\x2189015057310A\r\n";
fhem("set teleBot _msg JVC - Send ON-command");

$data =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
$socket->send($data);
$socket->recv($data,1024);

## convert each character from the string into HEX code
$data =~ s/(.)/sprintf("%02X",ord($1))/seg;
fhem("set teleBot _msg JVC - Received: $data");

sleep (1);

$socket->close();
}

#------ JVC_off ------------------------
sub JVC_off()
{

$socket = new IO::Socket::INET (PeerHost => '192.168.178.107',PeerPort => '20554',Proto => 'tcp',) or die fhem("set teleBot _msg JVC - Connection failure :-(");;
$socket->recv($data,1024);$socket = new IO::Socket::INET (PeerHost => '192.168.178.107',PeerPort =>  the socket to server.;
$data = "PJREQ";

# we can also send the data through IO::Socket::INET module,
$socket->send($data);
$socket->recv($data,1024);
fhem("set teleBot _msg JVC - Received: $data");

# send command
# $data = $ARGV[0]."\r\n";

$data = "\x2189015057300A\r\n";
fhem("set teleBot _msg JVC - Send OFF-command");

$data =~ s/([a-fA-F0-9][a-fA-F0-9])/chr(hex($1))/eg;
$socket->send($data);
$socket->recv($data,1024);

## convert each character from the string into HEX code
$data =~ s/(.)/sprintf("%02X",ord($1))/seg;
fhem("set teleBot _msg JVC - Received: $data");

sleep (1);

$socket->close();
}


Diesen Code habe ich von tschimi zur Verfügung gestellt bekommen.
Leider funktioniert er nicht bei mir. Könnte da mal jemand drüber schauen?
Vielleicht liegt es auch an meiner FHEM Definition?

Ich habe von einem Bekannten ein Tool bekommen in C++ geschrieben - da geht der Beamer an und aus.
Die HEX Zahlen stimmen also. Ich weiß nur nicht warum es bei mir nicht läuft.
Kann man das Script laufen lassen und auf Fehler prüfen?
Titel: Antw:JVC DILA über LAN on/off
Beitrag von: All-Ex am 10 Februar 2020, 19:17:12
Ich habe ein Modul für JVC Projektoren erstellt, vielleicht hilft es dir ja:
https://forum.fhem.de/index.php/topic,108314.msg1022959.html

Alex