IRTrans Lautstärkeregelung

hallo !

ich bin schwer begeister, weil ich gerade mein erstes script erstellt habe.
es schaltet per ir den receiver ein und macht webradio an und das licht :smiley:

kennt jemand einen trick, wie man per ir steuerung des receivers die lautstärke auf einen bestimmten wert stellen kann ?

dank, frank

Das klappt leider nicht, da man nur die Befehle Lauter/Leiser/Mute senden kann.

Grüße, paresy

? ? ? WAS genau beherrst nur leiser lauter mute ???

Dein Receiver versteht nur die Befehle Lauter/Leiser/Mute (Mehr Befehle fallen mir nicht ein, wenn es um Läutstärkeregelung geht)

D.h. Damit kann man schlecht den Receiver auf 30% Lautstärke bringen, weil es dafür keinen Befehl gibt.

Grüße, paresy

guten morgen !

ich habe einen receiver denon 3805. den möchte ich auf eine bestimmte lautstärke bringen …

zwei sachen sind mit heute nacht noch eingefallen:

  • kann man nicht sehr viele „leiser machen“ befehle schicken bis der receiver auf anschlag leise ist (kann ich eigentlich auch einen befehl schicken und n mal wiederholen ?) und dann entsprechend viele (oder lange) „lauter machen“ befehle senden ?

  • der denon hat auch eine rs232 schnittstelle über den man ihn per kabel seriell steuern kann. girder hat z.b. einen treiber dafür. gibt es sowas vielleicht auch für ipsymcon ?

happy day, frank

Jap, genau das würde ich dir grade vorschlagen.

Das mit der RS232 musst du schauen, hab so einen Denon noch nicht in den Fingern gehabt.

Zu deinem anderen Vorschlag:

ein Receiver hat (zumindest gute - ich denke also der Denon auch) eine einschaltverzögerung für die Lautsprecher. Man kann die auch hören. einige sekunden nach dem einschalten hört man es leise klicken (Relais). Innerhalb dieser zeit - man hört eh nichts -könntest du die Lautstärke ganz auf Null regeln (testen) und dann stufenweise wieder hoch. Der Rest ist eine frage des Timings.

Einige Receiver haben so eine Art gespeicherten Startwert. Den könnte man auf Null setzten. Das ist dafür, wenn man auf ner Party mal laut Musik gehört hat und morgens verkatert die Musik einschaltet, dass man keinen Herzinfarkt bekommt… Pioneer hatte das in vielen Modellen, hab es aber auch schon woanders gesehen.

Toni

hallo toni !

ob der denon eine voreinstellbare startlautstärke hat, muss ich nachschlagen. wäre jedenfalls eine gute sache …
die einschaltverzögerung hat er auf jeden fall und ich damit zeit die lautstärke runterzuregeln.

da ich mit dem scripten noch nicht so toll klarkomme brauche ich noch einen tipp, wie man das programmiert. immer wieder die zeile : WinLIRC_SendOnce([InstanzID], „denon3805“, „lauter“);
untereinander ?

danke, frank

Hallo Frank,

warum steuerst du den Denon nicht über RS232?
Dann kannst du einen direkten Lautstärkewert eingeben.

Habe Dir das RS232 Protokoll - Link von Denon mal drangedhangen.

Gruß

Frank
http://www.denon.de/site/download.php?datei=datadir/pdf/sonst/145_DENON_CONTROL_PROTOCOL_4_0.pdf

Du kannst die Befehle locker untereinander schreiben - schöner ist jedoch eine For schleife (Programmieren Grundlagen)

Noch schöner ist es freilich die RS232 direkt anzusprechen, wenn denn dein rechner direkt neben dem Verstärker steht und dir das nicht zu Auswendig wird als Newbee :wink: Ist dann doch etwas anspruchsvollere Programmierung.

Toni

Wie läuft das generell mit RS232 ?

Einfach an die serielle Schnittstelle des Rechners bzw. per USB Adapter anschliessen ?

Über welches PRogramm erflogt die Programmierung ? Bietet IPS da eine Schnittstelle ?

Kann mir kaum vorstellen, dass das Team da ne Schnittstelle herstellt, weil die Protokolle von jedem Hersteller und teilweise von gerät zu gerät unterschiedlich sind. Und es hat ja auch nur ganz indirekt was mit Ausautomation zu tun… Das geht eher Richtung Media-Server…

Selbst ist der Mann :wink:

Toni

Na! Es gibt das COM Port Modul… und den Befehl COMPort_SendText… Nun fehlt dir nur noch ein Kabel und das Protokoll und schon kannst du alles steuern… So mache ich es mit meinem AV Receiver auch :wink:

Ein IPS Modul dafür zu schreiben wäre wie mit Kanonen auf Spatzen zu schießen :smiley:

Grüße, paresy

@toni: ich noch anfänger. kannst du mir mal bitte ein beispiel so einer for schleife schicken ? nur zur anschauung … danke !

@parsey: das com-port-modul ist schon drin und kann man verwenden ? und kannst du vielleicht auch da mal ein einfaches beispiel schreiben ? ein langes serielles kabel habe ich schon vom rechner zum receiver und würde das gerne mal probieren !

danke, frank

<?
/*


IP-SYMCON Event Scripting


*/

//Press the ‚New‘ Button to make a new Script
//Press the ‚Execute‘ Button to test your Script
//Press the ‚Event‘ Button to setup Triggers
//Press the ‚Help‘ Button for more Information
//------------------------------------------------------------
//A simple mathematic sample

$number=5;
for ($i=0; $i<5; $i++) {
$number+=$i;
}

//15^2
$number=pow($number, 2);

//Watch the Debug window after Pressing „Execute“
echo "The Result is: ".$number;

//#-----------------------------------------------------------
//Have a look at http://www.php.net
//for a full reference of available functions

?>

Für nen neueinsteiger ist das eher abschreckend, oder?

Okay…ganz kleines Tutorial von mir:

Eine Schleife, in diesem Fall eine For-Schleife, macht nichts weiter als ein und den selben Code mehrmals auszuführen. Dafür muss das Script wissen wo wir anfangen wollen, wieweit wir zählen wollen und in welchen Schritten wir zählen. Allereinfachstes Beispiel: Wir wollen einen Befehl genau 5 mal aufrufen. wir zählen also von 0 bis 5 (ohne die 5 selbst) in Einerschritten. Damit wir in der Schleife wissen wo wir gerade sind merken wir uns den Wert in einer variablen - exemplarisch „i“. der Befehl, der ausgefürt werden soll wird in geschweifte Klammern geschrieben. Es können nämlich auch mehrer Befehle in diesem Befehlsblock stehen und das Script muss ja wissen wo es anfangen soll und wieweit es gehen soll.

for ($i=0; $i<5; $i++)
{
MachWasSinnvolles();
// oder auch
WinLIRC_SendOnce([InstanzID], „denon3805“, „lauter“);
}

Übersetzung des Codes:
Zähle in der Variablen i von 0 ($i=0) immer einen hinzu ($i++). Und das solange wie i kleiner als 5 ist ($i<5). Führe für jeden Durchlauf den Code aus, der zwischen { und } steht. Aufpassen: 5 ist nicht kleiner als 5! Also zählt er nur von 0 bis 4 was in etwa genau so weit ist wie wenn er von 1 bis 5 zählen würde. Das könnte man eine Eigenart der Informatik nennen, weil dort fängt man immer mit der Null an.

Noch Fragen?

Toni

erstmal keine weiteren fragen :wink: super erklärt, danke !

nochmal kurz zum seriellen anschluss (ich will erstmal dir ir lösung machen und dann mal die serielle probieren) :
ist das kabel vom receiver zum pc ein normales, langes, serielles kabel ? oder muss man da eins basteln ?

danke, frank

Das freut mich… :smiley:

Sollte ein normales serielles kabel sein. Mag aber auch von Gerät zu Gerät Unterschiede geben. Aber lang? Normal dürfen die nicht allzulang sein wenn die Signale nicht verloren gehen sollen…

Toni

habe für girder mal in einem anderen forum gelesen, dass die länge nicht so entscheidend ist (nein, es ging um kabel :wink: … ich probiers mal.

ich muss nur noch rausfinden, wie man den befehl wie z.b.

COMPort_SendText(40558, chr(27) . „L“ . chr(30));

mit dem protokoll des receivers übereinander bringen kann damit die richtigen befehle ankommen.

frank

Egal auf keinen Fall… elektrischer Widerstand, Wellenwiderstand und Signallaufzeit arbeiten da gegen dich. Bei Wikipedia steht was von 900m bei 2400 kBit/s und nur noch 15m bei 9600 kBit/s. Wenn dein Gerät aber im extremfall den 115.200 kBit/Standard nutzt biste locker bei 1,5m oder sowas… (steht da nicht)

Hab schon schlechte Erfahrungen ab 5m (etwa) gemacht. Probiers aus…

Toni

danke für den hinweis !

wenns eng wird komme ich auch mit 5m hin. dann muss der pc aus dem keller ins arbeitszimmer. das wz ist gleich daneben :slight_smile:

hast du denn vielleicht noch ein scriptbeispiel für mich wie man das ausprobiert ? muss ich nur denon und pc verbinden und kann dann per COMPort_SendText mit dem denon reden ?

danke, frank (der gerade zu hause sein licht, seinen receiver, seinen stremium per einer taste angeschaltet hat :slight_smile: