Denon-Receiver von CCU aus steuern

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Denon-Receiver von CCU aus steuern

Beitrag von anli » 10.06.2012, 23:48

Hallo.
Da ich hier zwei netzwerkfähige Denon-Receiver rumstehen habe und es mich nervt, dass ich immer zur Fernbedienung der Receiver greifen muss, habe ich mir einmal angeschaut, wie man die aus der CCU steuern kann. Das gute vorab: es geht!

Zuerst muss das socat-Paket installiert werden. Das hat dirch einmal hier bereitgestellt: http://homematic-forum.de/forum/viewtop ... =19&t=4138
Jetzt loggt man sich zum Beispiel per ssh auf der ccu ein und erstellt folgendes Skript beispielsweise unter /usr/local (192.168.100.241 ist die IP des Denon-Receivers, durch Eure ersetzen!):

Code: Alles auswählen

cd /usr/local
echo "echo 'MUOFF' | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr -" > denon_muteoff.sh
echo "echo 'MUON' | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr -" > denon_muteon.sh
Dann legt man ein Programm mit den gewünschten Bedingungen und folgendem Skript:

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("sh /usr/local/denon_muteoff.sh", &stdout, &stderr);
oder

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("sh /usr/local/denon_muteon.sh", &stdout, &stderr);
Und schon kann man beim Denon-Receiver mute an- und ausschalten...

Komplexere Dinge lassen sich beispielsweise mit einem shell-Skript lösen, das so aussieht:

Code: Alles auswählen

echo 'PWON' | /usr/local/addons/socat/socat TCP:192.168.100.242:23,cr -
sleep 7
echo 'SITV' | /usr/local/addons/socat/socat TCP:192.168.100.242:23,cr -
Das starte ich leicht verzögert, nachdem ich den homematic-Funkaktor an dem der Denon-Receiver hängt auf 'ein' geschaltet habe (Receiver einschalten und auf TV-Quelle gehen; und kurz bevor ich ihn ausschalte kommt das PWSTANDBY).

BTW: mit telnet und netcat (nc) habe ich es nicht hinbekommen. Ich vermute, dass es etwas mit dem crlf zu tun hatte...
Zuletzt geändert von anli am 18.06.2012, 09:24, insgesamt 1-mal geändert.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von Goglo » 18.06.2012, 00:35

Das ist ja schön, dass das jemand herausgefunden hat, wie das funktioniert. Leider habe ich keine Denon-Verstärker hier, wohl aber so eine doofe koukaam-Steckerleiste, deren müllige Timer-Funktionalität mich aber letzten Endes zur Homematic getrieben hat. ;-) Die probiere ich mal von der CCU aus anzusteuern....

Eine Sache noch: Als altem Shell-Scripter erscheint mir Anlis Lösung ein wenig aufwendig. Wesentlich einfacher müsste sich das doch per

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("sh -c 'echo MUOFF | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
lösen lassen? Oder gibt es da einen besonderen Grund, warum man erst ein Script erstellt, welches man dann per system.Exec() aufruft?

Und dann habe ich hier schon häufig von der Fragilität von system.Exec() gelesen und da erscheint mir ein Shell-script, welches 7 Sekunden lang wartet - also aus Sicht der CCU sehr lange läuft - vielleicht nicht so optimal. Wären da nicht zwei system.Exec()-scripte - eins davon mit 7 Sekunden verzögerten Start - nicht geschickter?
Dateianhänge
Bildschirmfoto 2012-06-18 um 00.33.06.png
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von chka » 04.07.2012, 20:29

gibt es die möglichkeit mehrere befehle zu übertragen, wie userdaten passwort und befehl
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Denon-Receiver von CCU aus steuern

Beitrag von anli » 05.07.2012, 09:43

Hallo.
chka hat geschrieben:gibt es die möglichkeit mehrere befehle zu übertragen, wie userdaten passwort und befehl
Ja, die Befehle kannst Du nacheinander in die shell-Datei schreiben, dann werden die entsprechend übertragen.
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von chka » 07.07.2012, 12:07

ok danke

bei mir wäre der Ablauf folgender unter Telnet

root --> Passwort --> poweroff

müsste das ganze dann so ausschaun??

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("sh -c 'echo root | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
system.Exec("sh -c 'echo PASSWORT | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
system.Exec("sh -c 'echo Poweroff | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
oder liege ich da total falsch

ich habe socat in den ordner reingelegt und ihm die rechte chmod +x /usr/local/addons/socat/socat
/usr/local/addons/socat gegeben leider bekomme ich beim ausführen den fehler Segmentation fault

Code: Alles auswählen

ls -l /usr/local/addons/socat/socat   
-rwxr-x--x    1 root     root       508148 Jul  7 12:03 /usr/local/addons/socat/socat
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von chka » 07.07.2012, 12:39

habe den fehler gefunden nur wie schaut es mit der Übertragung aus er macht dies einfach nicht
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von chka » 08.07.2012, 19:51

leider geht es nicht die gegenstelle bekommt den befehl nicht


über die konsole geht es auch nicht

Code: Alles auswählen

string stderr;
string stdout;
system.Exec("sh -c 'echo root | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
system.Exec("sh -c 'echo PASSWORT | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
system.Exec("sh -c 'echo Poweroff | /usr/local/addons/socat/socat TCP:192.168.100.241:23,cr - ' ", &stdout, &stderr);
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Denon-Receiver von CCU aus steuern

Beitrag von anli » 08.07.2012, 22:21

Hallo.
Ein Ansatz wäre "expect". Weiß jedoch nicht, ob es auf der CCU existiert, bzw. sich compilern lässt http://serverfault.com/questions/324868 ... nistration

Eine andere Möglichkeit: Eine Shell-Datei mit einem Inhalt ähnlich diesem erstellen und über HM-Skript aufrufen:

Code: Alles auswählen

/usr/local/busybox nc -q -1 -t 192.168.100.2 telnet <<EOF
BENUTZERNAME
PASSWORT
BEFEHL
exit
EOF
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

chka
Beiträge: 2483
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 302 Mal
Danksagung erhalten: 116 Mal

Re: Denon-Receiver von CCU aus steuern

Beitrag von chka » 09.07.2012, 16:46

danke für die antwort,

habe das script angepasst mit dem pfad

bekomme dann leider folgenden fehler:

Code: Alles auswählen

nc: illegal option -- q
BusyBox v1.19.4 (2012-03-29 00:26:42 CEST) multi-call binary.

Usage: nc [-iN] [-wN] [-l] [-p PORT] [-f FILE|IPADDR PORT] [-e PROG]

Open a pipe to IP:PORT or FILE

        -e PROG Run PROG after connect
        -l      Listen mode, for inbound connects
                (use -l twice with -e for persistent server)
        -p PORT Local port
        -w SEC  Timeout for connect
        -i SEC  Delay interval for lines sent
        -f FILE Use file (ala /dev/ttyS0) instead of network
der übergabe pfad passt noch nicht
anbei das prog wo es zur keiner rückmeldung kommt:

Code: Alles auswählen

/usr/local/bin/busybox nc 192.168.178.99 telnet <<EOF
root
PASSWORT
poweroff
exit
EOF
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

thormann
Beiträge: 168
Registriert: 31.07.2011, 11:52

Re: Denon-Receiver von CCU aus steuern

Beitrag von thormann » 10.07.2012, 11:08

ich habe zwar einen Pioneer AVR aber vom Prinzip müsste es ja bei Denon genauso gehen, musst halt nur den Befehl ändern

echo -ne po\\r | /etc/config/addons/busybox/busybox ./busybox nc -w1 XXX.XXX.XXX.XXX YY

Ach ja, der Pioneer braucht nach dem Befehl noch ein carriage return, daher das "\\r", weiss nicht wie das bei Denon ist!

Busybox scheinst Du ja schon auf der CCU zu haben...ggfs. Pfad anpassen!

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“