DENON AVR 3808 Integration

Hallo,

endlich hatte ich Zeit um das Denon Thema anzugehen :slight_smile:

Um die Infos über die Statis des AVR 3808 (und wohl auch 4308 und andere mit RS232 oder Ethernetschnittstelle von Denon) habe ich ein Script geschrieben. Dieses setzt die unterstützten Statis in Variablen in IPS um.

Dazu wird eine Kategorie DENON angelegt, und darunter die entsprechenden Variablen. Momentan wird ein Großteil der Statis für die MainZone unterstützt. Die Zonen 2 und 3 werden folgen.

Falls jemand „dringend“ Statis benötigt, die bisher nicht unterstütz werden, bitte eine PM senden, ich werde diese dann schnellst möglich integrieren.

Zum senden müssen momentan noch die Befehle aus der Doku verwedet werden. Ich werde aber auch noch ein Script erstellen, welches Functions für die Steuerbefehle des AVRs enthält. Somit kann man Befehle dann über DENON_xxxxx(xxx) absetzen.

Hier nun kurz eine Anleitung wie man den AVR 3808 per Ethernet an IPS bindet:

  1. Einen Clientsocket erstellen und als Host die IP des Receivers angeben. Port ist 23.

  2. Einen Cutter erstellen, diesen mit dem Denon Clientsocket verbinden und als rechtes Trennzeichen unter Benutze Zeichen für Schnitte „0D“ eintragen. HEX muss aktiviert sein.

  3. Eine Registervariable erstellen und mit dem Cutter verbinden. Dann als Script in der REgistervariable das folgende Script angeben.

Das wars :slight_smile:
Sobald dies alles installiert ist werden die Kategorie DENON und die Variablen automatisch angelegt, sobald entsprechende Meldungen kommen.

Script zur Statusverarbeitung:


<?
//Denon Lesescript
$data=$IPS_VALUE;
 
$maincat= substr($data,0,2); //Eventidentifikation
$zonecat= substr($data,2); //Zoneneventidentifikation
switch($maincat)
 	{
case "PW": //MainPower
 	$item = "Power";
 	$vtype = 0;
 	if ($data == "PWON")
 	{
 	$value = true;
 	}
 	if ($data == "PWSTANDBY")
 	{
 	$value = false;
 	}
 	DenonSetValue($item, $value, $vtype);
break;
 
case "MV": //Mastervolume
 	if (substr($data,2,3) =="MAX")
 	{
 	}
 	else
 	{
 	$item = "MasterVolume";
 	$vtype = 2;
 	$itemdata=substr($data,2);
 	if ( $itemdata == "99")
 	{
 	$value = "";
 	}
 	else
 	{
 	$itemdata=str_pad ( $itemdata, 3, "0" );
 	$value = (intval($itemdata)/10) -80;
 	}
 	DenonSetValue($item, $value, $vtype);
 	}
 break;
 
case "MU": //MainMute
 	$item = "MainMute";
 	$vtype = 0;
 	if ($data == "MUON")
 	{
 	$value = true;
 	}
 	if ($data == "MUOFF")
 	{
 	$value = false;
 	}
 	DenonSetValue($item, $value, $vtype);
break;

case "ZM": //MainZone
 	$item = "MainZone";
 	$vtype = 0;
 	if ($data == "ZMON")
 	{
 	$value = true;
 	}
 	if ($data == "ZMOFF")
 	{
 	$value = false;
 	}
 	DenonSetValue($item, $value, $vtype);
break;

case "SI": //Source Input
 	$item = "MainInput";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "SV": //Video Select
 	$item = "Video Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;


case "MS":
	if (substr($data,0,7) == "MSQUICK")
	{
	//Quickselect
	$item = "QuickSelect";
 	$vtype = 1;
 	if (substr($data,0,7) == "MSQUICK")
 	{
 	$value = intval(substr($data,7,1));
 	}
 	DenonSetValue($item, $value, $vtype);
 	}
	else{
   //Surroound
	$item = "Surround Mode";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
 	}
break;

case "DC": //Digital Input Mode
 	$item = "Digital Input Mode";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "SD": //Input Mode
 	$item = "Input Mode";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "SR": //Record Selection
 	$item = "Record Selection";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "VS": //Videosignal
   $vssub=substr($data,2,2);
   switch($vssub)
   {
      case "MO": //HDMI Monitor
      $item = "HDMI Monitor";
 		$vtype = 3;
 		$itemdata=substr($data,5);
 		$value = $itemdata;
 		DenonSetValue($item, $value, $vtype);
		break;
		
		case "AS": //Aspect
      $item = "Aspect";
 		$vtype = 3;
 		$itemdata=substr($data,5);
 		$value = $itemdata;
 		DenonSetValue($item, $value, $vtype);
		break;
		
		case "SC": //Scaler
      $item = "Scaler";
 		$vtype = 3;
 		$itemdata=substr($data,4);
 		$value = $itemdata;
 		DenonSetValue($item, $value, $vtype);
		break;
   }
break;

case "PS": //Sound
   $pssub=substr($data,2,2);
   switch($pssub)
   {
      case "TO": //Tone Defeat
 		$item = "ToneDefeat";
 		$vtype = 0;
 		if ($data == "PSTONE DEFEAT ON")
 		{
 		$value = true;
 		}
 		if ($data == "PSTONE DEFEAT OFF")
 		{
 		$value = false;
 		}
 		DenonSetValue($item, $value, $vtype);
		break;
		
		case "CI": //Cinema EQ
 		$item = "Cinema EQ";
 		$vtype = 0;
 		if ($data == "PSCINEMA EQ.ON")
 		{
 		$value = true;
 		}
 		if ($data == "PSCINEMA EQ.OFF")
 		{
 		$value = false;
 		}
 		DenonSetValue($item, $value, $vtype);
		break;

		case "SB": //Suround Back Mode
      $item = "Suround Back Mode";
 		$vtype = 3;
 		$itemdata=substr($data,5);
 		$value = $itemdata;
 		DenonSetValue($item, $value, $vtype);
		break;
		
		case "RO": //Room EQ Mode
      $item = "Room EQ Mode";
 		$vtype = 3;
 		$itemdata=substr($data,10);
 		$value = $itemdata;
 		DenonSetValue($item, $value, $vtype);
		break;

		
   }
break;



//Zone 2 Integration
case "Z2": //Source Input

switch ($zonecat)
{
case "PHONO": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "CD": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "TUNER": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "DVD": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "HDP": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "TV/CBL": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "SAT": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "VCR": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "DVR": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "V.AUX": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "NET/USB": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "USB": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "IPOD": //Source Input Z2
 	$item = "Zone2Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "ON": //Zone 2 ON
 	$item = "Zone2";
 	$vtype = 0;
 	$value = true;
 	DenonSetValue($item, $value, $vtype);
break;

case "OFF": //Zone 2 OFF
 	$item = "Zone2";
 	$vtype = 0;
 	$value = False;
 	DenonSetValue($item, $value, $vtype);
break;

case "MUON": //Zone 2 Mute ON
 	$item = "Zone2 Mute";
 	$vtype = 0;
 	$value = true;
 	DenonSetValue($item, $value, $vtype);
break;

case "MUOFF": //Zone 2 Mute OFF
 	$item = "Zone2 Mute";
 	$vtype = 0;
 	$value = False;
 	DenonSetValue($item, $value, $vtype);
break;
}

if (intval($zonecat) <100 and intval($zonecat) >9){
	$item = "Zone2Volume";
 	$vtype = 2;
 	$itemdata=substr($data,2);
 	if ( $itemdata == "99")
 	{
 	$value = "";
 	}
 	else
 	{
 	$itemdata=str_pad ( $itemdata, 3, "0" );
 	$value = (intval($itemdata)/10) -80;
 	}
 	DenonSetValue($item, $value, $vtype);
	}
break;

//Zone 3 Integration
case "Z3": //Source Input

switch ($zonecat)
{
case "PHONO": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "CD": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "TUNER": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "DVD": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "HDP": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "TV/CBL": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "SAT": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "VCR": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "DVR": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "V.AUX": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "NET/USB": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "USB": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "IPOD": //Source Input Z2
 	$item = "Zone3Input";
 	$vtype = 3;
 	$itemdata=substr($data,2);
 	$value = $itemdata;
 	DenonSetValue($item, $value, $vtype);
break;

case "ON": //Zone 2 ON
 	$item = "Zone3";
 	$vtype = 0;
 	$value = true;
 	DenonSetValue($item, $value, $vtype);
break;

case "OFF": //Zone 2 OFF
 	$item = "Zone3";
 	$vtype = 0;
 	$value = False;
 	DenonSetValue($item, $value, $vtype);
break;

case "MUON": //Zone 2 Mute ON
 	$item = "Zone3 Mute";
 	$vtype = 0;
 	$value = true;
 	DenonSetValue($item, $value, $vtype);
break;

case "MUOFF": //Zone 2 Mute OFF
 	$item = "Zone3 Mute";
 	$vtype = 0;
 	$value = False;
 	DenonSetValue($item, $value, $vtype);
break;
}

if (intval($zonecat) <100 and intval($zonecat) >9){
	$item = "Zone3Volume";
 	$vtype = 2;
 	$itemdata=substr($data,2);
 	if ( $itemdata == "99")
 	{
 	$value = "";
 	}
 	else
 	{
 	$itemdata=str_pad ( $itemdata, 3, "0" );
 	$value = (intval($itemdata)/10) -80;
 	}
 	DenonSetValue($item, $value, $vtype);
	}
break;

}





 


function DenonSetValue($item, $value, $vtype) { //Function welche Variablen anlegt und updated
   $DenonID = IPS_GetCategoryIDByName("Denon", 0); //Prüft ob Hauptkategorie angelegt ist
   if ($DenonID == 0)
   {
   $DenonID = IPS_CreateCategory();
   IPS_SetName($DenonID, "Denon");
   }

$itemID = IPS_GetVariableIDByName($item, $DenonID); //Prüft ob Variable vorhanden ist
if ($itemID ==0)
{
$itemID= IPS_CreateVariable($vtype); //Variable neu anlegen
IPS_SetName($itemID, $item);
IPS_SetParent($itemID, $DenonID);
}

switch($vtype) //Variable updaten
{
case 0: //Boolean
SetValueBoolean($itemID, $value);
break;

case 1: //Integer
SetValueInteger($itemID, $value);
break;

case 2: //Float
SetValueFloat($itemID, $value);
break;

case 3: //String
SetValueString($itemID, $value);
break;
}
}
?>



<?
//Dieses Script per include Befehl in ein Script zum steuern des Denon integrieren,
//danach stehen die Denon_Functions in dem Script zur Verfügung
//Die Befehle sind CaseSensitive!!!!

//Dieses Script per include Befehl in jedem Script wo die Functions benutzt werden zu beginn einbinden

//DENON_Volume(32144 /*[Denon]*/, UP);

//Main
function DENON_Power($id, $value) // STANDBY oder ON
{
 CSCK_SendText($id, "PW".$value.chr(13));
}

function DENON_Volume($id, $value) // "UP" or "DOWN"
{
 CSCK_SendText($id, "MV".$value.chr(13));
}

function DENON_VolumeFix($id, $value) // 18(db) bis -80(db)
{
 $value= intval($value) +80;
 CSCK_SendText($id, "MV".$value.chr(13));
}

function DENON_Mute($id, $value) // "ON" or "OFF"
{
 CSCK_SendText($id, "MU".$value.chr(13));
}

function DENON_Input($id, $value) // PHONO ; DVD ; HDP ; "TV/CBL" ; SAT ; "NET/USB" ; DVR
{
 CSCK_SendText($id, "SI".$value.chr(13));
}

function DENON_Quick($id, $value) // 1-5
{
  CSCK_SendText($id, "MSQUICK".$value.chr(13));
}

//Zone2
function DENON_Z2_Volume($id, $value) // "UP" or "DOWN"
{
 CSCK_SendText($id, "Z2".$value.chr(13));
}

function DENON_Z2_VolumeFix($id, $value) // 18(db) bis -80(db)
{
 $value= intval($value) +80;
 CSCK_SendText($id, "Z2".$value.chr(13));
}

function DENON_Z2($id, $value) // "ON" or "OFF"
{
 CSCK_SendText($id, "Z2".$value.chr(13));
}

function DENON_Z2_Mute($id, $value) // "ON" or "OFF"
{
 CSCK_SendText($id, "Z2MU".$value.chr(13));
}

function DENON_Z2_Input($id, $value) // PHONO ; DVD ; HDP ; "TV/CBL" ; SAT ; "NET/USB" ; DVR ; TUNER
{
 CSCK_SendText($id, "Z2".$value.chr(13));
}

//Zone3
function DENON_Z3_Volume($id, $value) // "UP" or "DOWN"
{
 CSCK_SendText($id, "Z3".$value.chr(13));
}

function DENON_Z3_VolumeFix($id, $value) // 18(db) bis -80(db)
{
 $value= intval($value) +80;
 CSCK_SendText($id, "Z3".$value.chr(13));
}

function DENON_Z3($id, $value) // "ON" or "OFF"
{
 CSCK_SendText($id, "Z3".$value.chr(13));
}

function DENON_Z3_Mute($id, $value) // "ON" or "OFF"
{
 CSCK_SendText($id, "Z3MU".$value.chr(13));
}

function DENON_Z3_Input($id, $value) // PHONO ; DVD ; HDP ; "TV/CBL" ; SAT ; "NET/USB" ; DVR
{
 CSCK_SendText($id, "Z3".$value.chr(13));
}
?>

05.09.2009: Scriptupdate für Zone2 und 3 und einbindung DENON_FUNCTIONS
02.01.2011: Scriptupdate für Quickselect Integration

Falls Fehler auftreten bitte um Info.
Die Nutzung des Scriptes geschieht auf eigene Gefahr!

Gruß Philipp

Hallo Philip,

hat geklappt:), selbst als IPS Neuling habe ich das hinbekommen.

Kurze Frage:

Bei mir werden
DigitalInputMode
InputMode
MainInput
VideoInput
Variablen erzeugt und belegt.

Ist das alles oder funktioniert bei mir ein Teil nicht.

Hallo,

welches Denon Model hats Du?

Eigentlich sollte zumindes die MasterVolume auch gemeldet werden.

Wobei es natürlich so ist, dass nur Variablen angelegt werden, welche auch vom Denon rückgemeldet werden.

Ich schaue mir das heute Abend mal noch genau an.

Gruß

Philipp

Habs mal in die http://www.ip-symcon.de/forum/f52/script-library-sammlung-6234/ aufgenommen.

Hallo Philip,

habe einen 3808A mit neuester Firmware.

Jürgen

Hallo Jürgen,

habe mir gerade mal noch das Protokoll des 3808A angeschaut.
Ist bis auf ein paar zusätzliche Messages identisch, so dass die Volumes und PowerStates auf jeden Fall kommen sollten.

Ich schaue mir das Script nochmals an.

Ganz wichtig ist, dass Du den Ordnder Denon nicht verschiebst oder umbenennst!

Gruß Philipp

Philip,

der Ordner ist so wie dein Script diesen erzeugt.

Jürgen

Hallo Philip,

funktioniert.

Ich bin darüber gestolpert, dass die Variablen erst erkannt werden wenn ich am Denon die Einstellung verändere.

Kennst du das Programm Command3808. Ist Freeware mit Quellcode zur Steuerung unseres Recievers.

Jürgen

Hallo Jürgen,

da bin ich froh :wink:

Klar, Variablen kommen nur wenn eine Message vom Denon kommt, und die wird nur durch die Veränderung des Statuses generiert.

Nee, die Software kenne ich nicht, aber was kann die was IPS nicht kann?
Wie gesgat, ein Script mit einer Befehlintegration für den Denon wird folgen :slight_smile: Solange muss man halt noch die Befehle gem der DenonDoku senden.

Gruß Philipp

Hallo Philipp,

ich hab da mal ne doofe Frage: Wenn ich den Ordner „Denon“ in einer Unterkategorie „Wohnzimmer“ haben möchte, was muss ich als Befehl in Deinem Script integrieren?

Auf jeden Fall funktioniert das Ganze wirklich gut. Bin mal gespannt auf das Sende-Script.

Gruß

Jimmy

Hallo Jimmy,


function DenonSetValue($item, $value, $vtype) { //Function welche Variablen anlegt und updated 
   $DenonID = IPS_GetCategoryIDByName("Denon", !!WohnzimmerID!!); //Prüft ob Hauptkategorie angelegt ist 
   if ($DenonID == 0) 
   { 
   $DenonID = IPS_CreateCategory(); 
   IPS_SetName($DenonID, "Denon");
   IPS_SetParent($itemID, !!WohnzimmerID!!);  
   } 

$itemID = IPS_GetVariableIDByName($item, $DenonID); //Prüft ob Variable vorhanden ist 
if ($itemID ==0) 
{ 
$itemID= IPS_CreateVariable($vtype); //Variable neu anlegen 
IPS_SetName($itemID, $item); 
IPS_SetParent($itemID, $DenonID); 
} 

switch($vtype) //Variable updaten 
{ 
case 0: //Boolean 
SetValueBoolean($itemID, $value); 
break; 

case 1: //Integer 
SetValueInteger($itemID, $value); 
break; 

case 2: //Float 
SetValueFloat($itemID, $value); 
break; 

case 3: //String 
SetValueString($itemID, $value); 
break; 
} 
}

Ersetze unten im Script die Function durch diese hier, und ersetze !!WohnzimmerID!! mit der ID der Wohnzimmerkategorie. Dann sollte es eigentlich gehen.

Gruß Philipp

Hallo Philip,

ich wollte dir den Tipp geben, damit du aus dem Quellcode die Integration in IPS evtl. einfacher machen kannst.

Mein Ziel ist am Ende meines Projektes die Integration des Denons in IPS und eine Ansteuerung des AVR durch UPNP ( Auswahl der Titel geht wesentlich schöner wie am Denon selbst, der ist viel zu träge )

Habe am Iphone das Programm PlugPlayer installiert, eine ähnliche Lösung möchte ich eines Tages für IPS programmieren.

Jürgen

Hallo Philipp,

vielen Dank für das Script. Es läuft super und ich habe, nachdem ich das Häkchen für „alle Module“ beim Anlegen von Instanzen gefunden hatte, auch alle Instanzen (RegisterVariablke, Cutter, …) gefunden.
Ich hatte mir bisher das Denon-Script von Anti weiter gebaut um meinen Denon steuern zu können. Da ich nicht Antis und Dein Script gleichzeitig aktiv lassen kann, würde ich mich freuen, wenn Du bald Zeit geschenkt bekommst :wink: und die weiteren Zonen und die Steuerungsseite implementierst.

Ich freu mich drauf! Vielen Dank nochmal bis hier hin. Einer der nicht so wirklich programmieren kann ist über solche Scripte höchst Dankbar!

Grüße
Matthias

Hallo Beinand,

gibt es denn schon was neues? Habe mir auch einen DENON 3808 zugelegt :wink:
Heisses Gerät :slight_smile:

Ciao
Matthias

Ich hab auch einen! Fortschritte sind höchstwillkommen.

gruss
TK6

Hallo,

so habe endlich wieder etwas Zeit gefunden um an der Denonintegration weiter zu machen :slight_smile:

Habe nun die Statis für Zone2 und 3 integriert. (ON/OFF, Mute, Volume, Source)

Des weiteren gibts nun auch ein „Function Script“ für Denonbefehle, womit man relativ einfach Befehle auch an den Denon senden kann.

Beide Scripte finden sich in meinem ersten Beitrag in diesem Thread.

Gruß Philipp

Bitte um Feedback ob alles funktioniert.

Hallo Philipp,
das Script funktioniert super. Vielen Dank!

Grüße
Matthias

Hi Philipp,

ohne dein Script ausprobiert zu haben, hab ich zwei Fragen.

Ich hab nen 3805 und der war Testobjekt für die AVIT Steuerung.
Da hatte ich das Problem, dass laut Denon RS232 Protokoll die
Lautstärke zwar abgefragt werden kann, dies aber nicht klappte.
Auch konnte ich genaue Werte für Volume setzen, Vol. up oder Vol down
funktionierte aber nicht.

Hattest du ähnliche Probleme oder ist das bei dem 3808 nicht aufgetreten ?

Hallo,

nein solche Probleme sind bei mir bisher nicht aufgetaucht.
Wobei mir solche Probleme auch beim 3805 bisher nicht bekannt waren/sind.

Gruß Philipp

Hallo Philipp,

super Sache die du da realisiert hast.

Blöde Frage, welche Skriptsprache ist das denn?

Hintergrund: ich bin auf der Suche nach einer Lösung meinen Denon über die serielle Schnittstelle mit meinem Mac zu steuern.
Nur weiß ich nicht, welche Software sowas am Mac bewerkstelligen kann.
Es gibt aber eine mächtige Skriptsprache am Mac und evtl. kann man es ja schon damit realisieren.

Grüße Thomas