NEWS
[Vorlage] Denon Skript
-
Hallo,
nein, es wird nur eine Verbindung aufgebaut !
was mir noch einfällt:
1.welche firmware hast du ? wobei das bei der Grundkommunikation nichts zur Sache tut, bei mir ging es auch mit der alten FW
2. wähle mal eine größeren Zeitabstand zwischen den Anfragen, indem du in Zeile 92 bei Update z.b 200 einträgst
client.on('connect', function () { //Verbindung Hergestellt console.log('Verbunden mit Denon AVR !!! '+'IP '+IP); //console.log('connected to server !!!'); {setState('javascript.0.Denon.System.Verbunden',true,akt=true)} update(100); //beim ersten Start Funktion update aufrufen mit 100ms zwischen den Anfragen, maximal 50ms ! });
bei mir sieht der Log mit Denon AVR X6200W mit Aktueller FW so aus wenn ich das Skript starte, Input Tuner wähle , auf Input Mediaplayer wechsle und das Skript wider stoppe..
11:13:39.276 [info] javascript.0 Start javascript script.js.Denon.Denon_Main 11:13:39.276 [info] javascript.0 script.js.Denon.Denon_Main: registered 39 subscriptions and 0 schedules 11:13:39.276 [info] javascript.0 script.js.Denon.Denon_Main: Verbunden mit Denon AVR !!! IP 192.168.188.10 11:13:39.372 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: ZM? 11:13:39.466 [info] javascript.0 script.js.Denon.Denon_Main: ZMON 11:13:39.474 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: MU? 11:13:39.570 [info] javascript.0 script.js.Denon.Denon_Main: MUOFF 11:13:39.577 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: PW? 11:13:39.680 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: SI? 11:13:39.680 [info] javascript.0 script.js.Denon.Denon_Main: PWON 11:13:39.725 [info] javascript.0 script.js.Denon.Denon_Main: Z2ON 11:13:39.749 [info] javascript.0 script.js.Denon.Denon_Main: Z3ON 11:13:39.780 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: SV? 11:13:39.860 [info] javascript.0 script.js.Denon.Denon_Main: SIMPLAY 11:13:39.882 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: MS? 11:13:39.932 [info] javascript.0 script.js.Denon.Denon_Main: SVOFF 11:13:39.982 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: MV? 11:13:39.989 [info] javascript.0 script.js.Denon.Denon_Main: MSSTEREO 11:13:40.051 [info] javascript.0 script.js.Denon.Denon_Main: PSDRC OFF 11:13:40.081 [info] javascript.0 script.js.Denon.Denon_Main: PSLFE 00 11:13:40.086 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: Z2? 11:13:40.090 [info] javascript.0 script.js.Denon.Denon_Main: PSBAS 50 11:13:40.135 [info] javascript.0 script.js.Denon.Denon_Main: PSTRE 50 11:13:40.160 [info] javascript.0 script.js.Denon.Denon_Main: Z2ON 11:13:40.173 [info] javascript.0 script.js.Denon.Denon_Main: Z2TV 11:13:40.187 [info] javascript.0 script.js.Denon.Denon_Main: Z219 11:13:40.187 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: Z2MU? 11:13:40.255 [info] javascript.0 script.js.Denon.Denon_Main: PSTONE CTRL OFF 11:13:40.290 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: Z3? 11:13:40.290 [info] javascript.0 script.js.Denon.Denon_Main: SVOFF 11:13:40.339 [info] javascript.0 script.js.Denon.Denon_Main: MV45 11:13:40.380 [info] javascript.0 script.js.Denon.Denon_Main: MVMAX 835 11:13:40.391 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: Z3MU? 11:13:40.443 [info] javascript.0 script.js.Denon.Denon_Main: Z2MUOFF 11:13:40.481 [info] javascript.0 script.js.Denon.Denon_Main: Z3MUOFF 11:13:40.493 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: NSE 11:13:40.499 [info] javascript.0 script.js.Denon.Denon_Main: Z3ON 11:13:40.565 [info] javascript.0 script.js.Denon.Denon_Main: Z3TV 11:13:40.565 [info] javascript.0 script.js.Denon.Denon_Main: Z325 11:13:40.594 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: VSSC ? 11:13:40.602 [info] javascript.0 script.js.Denon.Denon_Main: NSE0Online Music 11:13:40.648 [info] javascript.0 script.js.Denon.Denon_Main: NSE1 Favorites 11:13:40.690 [info] javascript.0 script.js.Denon.Denon_Main: SVOFF 11:13:40.696 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: VSASP ? 11:13:40.705 [info] javascript.0 script.js.Denon.Denon_Main: NSE2Internet Radio 11:13:40.767 [info] javascript.0 script.js.Denon.Denon_Main: NSE3Flickr 11:13:40.796 [info] javascript.0 script.js.Denon.Denon_Main: NSE4Media Server 11:13:40.798 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: VSMONI ? 11:13:40.805 [info] javascript.0 script.js.Denon.Denon_Main: NSE5 11:13:40.867 [info] javascript.0 script.js.Denon.Denon_Main: NSE6 11:13:40.895 [info] javascript.0 script.js.Denon.Denon_Main: NSE7 11:13:40.900 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: TR? 11:13:40.906 [info] javascript.0 script.js.Denon.Denon_Main: NSE8 [ 0/4 ] 11:13:40.945 [info] javascript.0 script.js.Denon.Denon_Main: VSSCAUTO 11:13:40.985 [info] javascript.0 script.js.Denon.Denon_Main: VSASPFUL 11:13:41.003 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: DIM ? 11:13:41.044 [info] javascript.0 script.js.Denon.Denon_Main: TR1 ON 11:13:41.087 [info] javascript.0 script.js.Denon.Denon_Main: TR2 ON 11:13:41.121 [info] javascript.0 script.js.Denon.Denon_Main: DIM BRI 11:13:41.144 [info] javascript.0 script.js.Denon.Denon_Main: VSMONIAUTO 11:13:57.796 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: SITUNER 11:13:58.940 [info] javascript.0 script.js.Denon.Denon_Main: SSINFAISFSV NON 11:13:59.002 [info] javascript.0 script.js.Denon.Denon_Main: SSSMG PUR 11:13:59.067 [info] javascript.0 script.js.Denon.Denon_Main: SITUNER 11:13:59.101 [info] javascript.0 script.js.Denon.Denon_Main: CVFL 50 11:13:59.113 [info] javascript.0 script.js.Denon.Denon_Main: CVFR 50 11:13:59.117 [info] javascript.0 script.js.Denon.Denon_Main: CVEND 11:13:59.194 [info] javascript.0 script.js.Denon.Denon_Main: MVMAX 98 11:13:59.215 [info] javascript.0 script.js.Denon.Denon_Main: SDANALOG 11:13:59.248 [info] javascript.0 script.js.Denon.Denon_Main: DCAUTO 11:13:59.270 [info] javascript.0 script.js.Denon.Denon_Main: PSMULTEQ:AUDYSSEY 11:13:59.294 [info] javascript.0 script.js.Denon.Denon_Main: PSDYNEQ ON 11:13:59.335 [info] javascript.0 script.js.Denon.Denon_Main: PSDYNVOL MED 11:13:59.364 [info] javascript.0 script.js.Denon.Denon_Main: SVOFF 11:13:59.391 [info] javascript.0 script.js.Denon.Denon_Main: TFANNAME NDR 2 11:14:09.316 [info] javascript.0 script.js.Denon.Denon_Main: Anfrage: SIMPLAY 11:14:10.445 [info] javascript.0 script.js.Denon.Denon_Main: SSSMG PUR 11:14:10.502 [info] javascript.0 script.js.Denon.Denon_Main: SIMPLAY 11:14:10.525 [info] javascript.0 script.js.Denon.Denon_Main: CVFL 50 11:14:10.545 [info] javascript.0 script.js.Denon.Denon_Main: CVFR 50 11:14:10.561 [info] javascript.0 script.js.Denon.Denon_Main: CVEND 11:14:10.602 [info] javascript.0 script.js.Denon.Denon_Main: MVMAX 98 11:14:10.630 [info] javascript.0 script.js.Denon.Denon_Main: SDAUTO 11:14:10.683 [info] javascript.0 script.js.Denon.Denon_Main: DCAUTO 11:14:10.715 [info] javascript.0 script.js.Denon.Denon_Main: PSMULTEQ:AUDYSSEY 11:14:10.746 [info] javascript.0 script.js.Denon.Denon_Main: PSDYNEQ ON 11:14:10.782 [info] javascript.0 script.js.Denon.Denon_Main: PSDYNVOL MED 11:14:10.816 [info] javascript.0 script.js.Denon.Denon_Main: SVOFF 11:14:11.909 [info] javascript.0 script.js.Denon.Denon_Main: SSINFAISSIG 02 11:14:11.941 [info] javascript.0 script.js.Denon.Denon_Main: SSINFAISFSV 441 11:14:13.607 [info] javascript.0 Stop script script.js.Denon.Denon_Main 11:14:13.608 [info] javascript.0 script.js.Denon.Denon_Main: Connection closed !
-
Hi Lucky,
super und Danke, ich habe leider noch nicht viel machen können. Aber das was ich gemacht habe hat fast alles mit meinem Denon AVR-X1100W funktioniert!
Die OSD_INFO_List hatte keine Einträge, aber da gibt es schlimmeres. Bleibe auf alle Fälle dran!
Vielen Dank!
JonnyB
-
Hi Lucky,
Danke für Deine Tipps und Zusendung Deines Logs:
Mein Denon AVR-X4200W hat die aktuelle Firmware (0992-7370-8223-04).
Ich habe im Skript update(100) auf update(200) geändert und Skriptgruppe/Skript wie bei Dir gemacht.
->es bringt keine Änderung, d.h. ich kann weiterhin kein Status ändern und sehe nur die Statusänderungen bzw. bekomme weiterhin die Meldung "Error: connect ECONNREFUSED".
Anbei das Log, bei dem ich das Skript gestartet habe:
00:24:27.623 [info] javascript.0 Start javascript script.js.Denon.Denon_Main
00:24:27.623 [info] javascript.0 script.js.Denon.Denon_Main: registered 78 subscriptions and 0 schedules
00:24:27.626 [info] javascript.0 script.js.Denon.Denon_Main: connected to server!
00:24:27.630 [error] javascript.0 script.js.Denon.Denon_Main: error: Error: connect ECONNREFUSED 192.168.178.152:23
… Mute ein- und ausgeschaltet
00:25:02.529 [info] javascript.0 script.js.Denon.Denon_Main: MUON
00:25:04.018 [info] javascript.0 script.js.Denon.Denon_Main: MUOFF
Das Skript habe ich dann deaktiviert
00:25:06.310 [info] javascript.0 Stop script script.js.Denon.Denon_Main
00:25:06.316 [info] javascript.0 script.js.Denon.Denon_Main: Connection closed !
… und auf der Denon-Fernbedienung Mute ein- und ausgeschaltet:
00:25:10.139 [info] javascript.0 script.js.Denon.Denon_Main: MUON
00:25:12.338 [info] javascript.0 script.js.Denon.Denon_Main: MUOFF
Frage:
Obohl ich das Skript in ioBroker deaktiviert habe, werden Statusändeungen weiterhin in ioBroker fortgeschrieben,
woraus ich interpretiere, dass die Telnet-Verbindung doch noch besteht - oder liege ich da falsch?
VG
-
Hallo Lucky,
dank einem Tipp von ldittmar habe ich die Ursache gefunden und es funktioniert jetzt!!!!
Ich habe den Java-Script-Adapter beendet und neu gestartet sowie ioBroker neu gestartet.
Da ich das Skript anfänglich noch unter GLOBAL hatte und obwohl ich es wieder gestoppt und gelöscht hatte (inkl. der erstellten Objekte) ist wohl doch noch etwas im speicher aktiv geblieben.
Durch den Neustart hat sich das erledigt und es funktioniert hervorragend!!!
Danke Dir vielmals für Deine Mühe und Dein funktionierendes Skript!!!!
VG
HolSon
-
na das ist doch Super anders hätte ich es mir dann auch nicht mehr erklären können..
bei der Gelegenheit kleines Update:
1. die Tuner Steuerung funktioniert jetzt
2. die IP Adresse wird jetz im State IP eingetragen, Verbindungsfehler werden automatisch behandelt, neustart des Skript ist nicht mehr notwendig
3. einiges aufgeräumt
-
so, die vorerst letzte änderung:
Schönheitsfehler behoben
neue Funktionen: 1: Systemname wird jetzt vom Gerät abgerufen 2: es wird angezeit wann der AVR '' fertig gebootet'' hat, also wenn es "klick" gemacht hat (das ist wichtig wenn man z.b. mit Alexa steuern will, denn erst wenn der AVR vollständig hochgefahren ist, werden die kommandos richtig umgesetzt!)
! ```
`//Kontakt: s-nolte@htp-tel.de
//ioBroker Forum: Lucky
var net = require('net');
! // System
createState('javascript.0.Denon.System.UPDATE', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.System.Power_System', false,{type: "boolean", role: "Power System"});
createState('javascript.0.Denon.System.System_Ready', false,{type: "boolean", role: "System Ready",write:false});
createState('javascript.0.Denon.System.IP_Adresse', '000.000.000.000',{type: "string", role: "AVR IP Adresse"});
createState('javascript.0.Denon.System.Trigger_1', false,{type: "boolean", role: "Trigger 1"});
createState('javascript.0.Denon.System.Trigger_2', false,{type: "boolean", role: "Trigger 2"});
createState('javascript.0.Denon.System.Command', '',{type: "string", role: "Command to AVR"});
createState('javascript.0.Denon.System.Display_Dimmer',0,{type: "number", role: "FL Display Dimmer",states: "0:BRI;1:DIM;2:DAR;3:OFF"});
createState('javascript.0.Denon.System.Verbunden',false,{type: "boolean", role: "Verbindung hergestellt",write:false});
createState('javascript.0.Denon.System.Name',{type: "string", role: "Netzwerk-Name",write:false});
! //OSD
createState('javascript.0.Denon.OSD.OSD_Info_List0', 'init',{type: "string", role: "Onscreen Display Info List00",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List1', 'init',{type: "string", role: "Onscreen Display Info List01",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List2', 'init',{type: "string", role: "Onscreen Display Info List02",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List3', 'init',{type: "string", role: "Onscreen Display Info List03",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List4', 'init',{type: "string", role: "Onscreen Display Info List04",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List5', 'init',{type: "string", role: "Onscreen Display Info List05",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List6', 'init',{type: "string", role: "Onscreen Display Info List06",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List7', 'init',{type: "string", role: "Onscreen Display Info List07",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List8', 'init',{type: "string", role: "Onscreen Display Info List08",write:false});
! //Controls
createState('javascript.0.Denon.Control.Play', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Control.Stop', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Pause', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Skip_Plus', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Skip_Minus', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Page_Next', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Page_Previous', false,{type: "boolean", role: "button"});
! //Tuner Control
createState('javascript.0.Denon.Tuner_Control.Frequency_UP', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Frequency_DOWN', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Preset_UP', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Preset_DOWN', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.RDS_Station_Name', 'init',{type:"string", role: "RDS Station Name",write:false});
! //Zone_Main
createState('javascript.0.Denon.Zone_Main.Power', false,{type: "boolean", role: "Power Status Zone Main"});
createState('javascript.0.Denon.Zone_Main.Mute', false,{type: "boolean", role: "Mute Status"});
createState('javascript.0.Denon.Zone_Main.Master_Volume', 0,{type: "number", role: "Master Volume"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_UP', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_DOWN', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_Max', 0,{type: "number", role: "Master Volume Max",write:false});
createState('javascript.0.Denon.Zone_Main.Video_Input', 1,{type: "number", role: "Selected Video Input",
states:"0:DVD;1:BD;2:TV;3:SAT/CBL;4:MPLAY;5:GAME;6:AUX1;7:AUX2;8:AUX3;9:AUX4;10:AUX5;11:AUX6;12:AUX7;13:CD"});
createState('javascript.0.Denon.Zone_Main.Video_State', false,{type: "boolean", role: "Video ON/OFF"});
createState('javascript.0.Denon.Zone_Main.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
createState('javascript.0.Denon.Zone_Main.Surround_Mode', 'init',{type: "string", role: "Surround Modus",write:false});
createState('javascript.0.Denon.Zone_Main.Ratio_Mode', 'init',{type: "string", role: "Ratio Modus",write:false});
createState('javascript.0.Denon.Zone_Main.Resolution', 'init',{type: "string", role: "Video Resolution",write:false});
createState('javascript.0.Denon.Zone_Main.Sound_Parameter', 'init',{type: "string", role: "Sound_Parameter",write:false});
createState('javascript.0.Denon.Zone_Main.HDMI_Monitor',0,{type: "number", role: "HDMI Monitor Out",states: "0:MONIAUTO;1:MONI1;2:MONI2"});
! //Zone 2
createState('javascript.0.Denon.Zone_2.Power_Zone2', false,{type: "boolean", role: "Power Status Zone 2"});
createState('javascript.0.Denon.Zone_2.Mute', false,{type: "boolean", role: "Mute Status Zone 2"});
createState('javascript.0.Denon.Zone_2.Volume', 0,{type: "number", role: "Zone 2 Volume"});
createState('javascript.0.Denon.Zone_2.Volume_UP', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_2.Volume_DOWN', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_2.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
! //Zone 3
createState('javascript.0.Denon.Zone_3.Power_Zone3', false,{type: "boolean", role: "Power Status Zone 3"});
createState('javascript.0.Denon.Zone_3.Mute', false,{type: "boolean", role: "Mute Status Zone 3"});
createState('javascript.0.Denon.Zone_3.Volume', 0,{type: "number", role: "Zone 3 Volume"});
createState('javascript.0.Denon.Zone_3.Volume_UP', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_3.Volume_DOWN', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_3.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
! // Variablen-------------------------------------------------------------------------
var AVR_Command =['PW','MVMAX','MV','CV','MU','SI','ZM','SD','DC','SV','SLP','STBY','ECO','MS','VS','PS','PV','Z2','Z2MU','Z2CS','Z2CV','Z2HPF',
'Z2PS','Z2HDS','Z2SLP','Z2STBY','Z3','Z3MU','Z3CS','Z3CV','Z3HPF','Z3PS','Z3SLP','Z3STBY','TFANNAME','NSET1','NSE','TR','DIM','NSFRN']; // räume den mist später auf
var t_request = 100; //beim ersten Start Funktion update aufrufen mit 100ms zwischen den Anfragen, maximal 50ms !
var client;
var PW_Request =0;
! setState('javascript.0.Denon.System.Verbunden',val=false,akt=false);
checkIP(getState('javascript.0.Denon.System.IP_Adresse').val);
! function checkIP(IP){ //IP Adresse prüfen
if(net.isIPv4(IP)){
setTimeout(function () {
client=Connect(IP);
},2000);
}
else{console.error('ungültige IP Adresse')}
}function Connect(IP){ // zu Server Verbinden
! var client = net.connect({host:IP, port:23});
client.setKeepAlive(true,5000);console.log('Connectig...'); client.on('error',function(error) { console.error(error); killClient(client); }); client.on('connect', function () { //Verbindung hergestellt console.log('Verbunden mit Denon AVR !'); {setState('javascript.0.Denon.System.Verbunden',val=true,akt=true)} update(t_request); });
! client.on('end', function () { //die Gegenseite hat die Verbindung geschlossen
{setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
console.warn('Denon AVR hat die Verbindung geschlossen !');
killClient(client);
});client.on('data', function (data) { console.log(data.toString()); response(data); });
return client;
}//end of Function Connect! function killClient(client){
{setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
client.destroy();
client.unref();
console.log('Connection closed !');
}
! // Funktion Nachricht Senden----------------------------------------------------------
function sendMessage(message) {
if(getState('javascript.0.Denon.System.Verbunden').val===true){client.write(message+'\r'); if (message=='PWON'||'ZMON'||'Z2ON'||'Z3ON'){PW_Request=1} console.log('Anfrage: '+ message ); }
}
//Daten anfordern--------------------------------------------------------------------
function update(Time){
console.log('Update Start');
var i_Pollen=0;
var Request =['NSET1 ?','NSFRN ?','ZM?','MU?','PW?','SI?','SV?','MS?','MV?','Z2?','Z2MU?','Z3?','Z3MU?','NSE','VSSC ?','VSASP ?','VSMONI ?','TR?','DIM ?'];
Intervall = setInterval(function () {sendMessage(Request[i_Pollen]); i_Pollen++; if (i_Pollen==Request.length){ i_Pollen=0; clearInterval(Intervall); } }, Time);
return true;
}! function StateText_toArray (StateNames){
var StateName = StateNames.split(';');
var StateArr=[];
for(var i = 0; i < StateName.length; i++) {
var ele = StateName[i].split(':');
StateArr[ele[0]] = ele[1];
}return StateArr;
}! // Daten empfangen------------------------------------------------------------------
! function response (data) {! var AVR_Response=data.toString().replace(/[\n\r]/g, ''); // Steuerzeichen "CR" entfernen
! for (i = 0; i < AVR_Command.length; i++) {var search_index=AVR_Response.search(AVR_Command[i]); if (search_index===0){ break; } } var id,val; switch(AVR_Command[i]){ case 'MU': // to Request MU? if (AVR_Response=='MUOFF'){setState("javascript.0.Denon.Zone_Main.Mute",false,akt=true)} if (AVR_Response=='MUON'){setState("javascript.0.Denon.Zone_Main.Mute",true,akt=true)} break; case 'PW': // to Request PW? if (AVR_Response=='PWSTANDBY'){ setState('javascript.0.Denon.System.Power_System',false,akt=true); setState('javascript.0.Denon.System.System_Ready',false,akt=true); } if (AVR_Response=='PWON'){ if(PW_Request==1){ setState('javascript.0.Denon.System.Power_System',true,akt=true); PW_Request++; } else if(PW_Request==2){ setState('javascript.0.Denon.System.System_Ready',true,akt=true); PW_Request=0; } } break; case'Z2': if (AVR_Response=='Z2OFF'){setState('javascript.0.Denon.Zone_2.Power_Zone2',false,akt=true)} else if (AVR_Response=='Z2ON'){setState('javascript.0.Denon.Zone_2.Power_Zone2',true,akt=true)} else if (AVR_Response=='Z2MUON'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)} else if (AVR_Response=='Z2MUOFF'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)} else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){ setState("javascript.0.Denon.Zone_2.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_2.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); if (val>=0){setState(id,val,akt=true);} } break; case'Z3': if (AVR_Response=='Z3OFF'){setState('javascript.0.Denon.Zone_3.Power_Zone3',false,akt=true)} else if (AVR_Response=='Z3ON'){setState('javascript.0.Denon.Zone_3.Power_Zone3',true,akt=true)} else if (AVR_Response=='Z3MUON'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)} else if (AVR_Response=='Z3MUOFF'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)} else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){ setState("javascript.0.Denon.Zone_3.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_3.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); if (val>=0){setState(id,val,akt=true);} } break; case 'MV': // to Request MV? AVR_Response=AVR_Response.slice(2,AVR_Response.length); if (AVR_Response.length<3){AVR_Response=AVR_Response+'0'} AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3); setState("javascript.0.Denon.Zone_Main.Master_Volume",parseFloat(AVR_Response),akt=true); break; case 'MVMAX': AVR_Response=AVR_Response.slice(6,AVR_Response.length); AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3); setState("javascript.0.Denon.Zone_Main.Master_Volume_Max",parseFloat(AVR_Response),akt=true); break; case 'SV': // to Request SV? if (AVR_Response=='SVOFF'){setState("javascript.0.Denon.Zone_Main.Video_State",false,akt=true)} else if (AVR_Response=='SVON'){setState("javascript.0.Denon.Zone_Main.Video_State",true,akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id = 'javascript.0.Denon.Zone_Main.Video_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); //suche in array nach element setState(id,val,akt=true); } break; case 'SI': // to Request SI? AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_Main.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); setState(id,val,akt=true); break; case 'ZM': // to Request ZM? if (AVR_Response=='ZMOFF'){setState('javascript.0.Denon.Zone_Main.Power',false,akt=true)} if (AVR_Response=='ZMON'){setState('javascript.0.Denon.Zone_Main.Power',true,akt=true)} break; case 'MS': // to Request MS? AVR_Response=AVR_Response.slice(2,AVR_Response.length); setState("javascript.0.Denon.Zone_Main.Surround_Mode",AVR_Response,akt=true); break; case 'VS': // to Request VSASP ? id = "javascript.0.Denon.Zone_Main.Ratio_Mode"; if (AVR_Response=='VSASPFUL'){setState(id,'16:9',akt=true)} else if (AVR_Response=='VSASPNRM'){setState(id,'4:3',akt=true)} // to Request VSSC ? id = "javascript.0.Denon.Zone_Main.Resolution"; if (AVR_Response=='VSSC48P'){setState(id,'480p/576p',akt=true)} else if (AVR_Response=='VSSC10I'){setState(id,'1080i',akt=true)} else if (AVR_Response=='VSSC72P'){setState(id,'720p',akt=true)} else if (AVR_Response=='VSSC10P'){setState(id,'1080p',akt=true)} else if (AVR_Response=='VSSC10P24'){setState(id,'1080p:24Hz',akt=true)} else if (AVR_Response=='VSSC4K'){setState(id,'4K',akt=true)} else if (AVR_Response=='VSSC4KF'){setState(id,'4K 60/50Hz',akt=true)} else if (AVR_Response=='VSSCAUTO'){setState(id,'AUTO',akt=true)} //to Request MONI ? id='javascript.0.Denon.Zone_Main.HDMI_Monitor'; if (AVR_Response=='VSMONIAUTO'){setState(id,0,akt=true)} else if (AVR_Response=='VSMONI1'){setState(id,1,akt=true)} else if (AVR_Response=='VSMONI2'){setState(id,2,akt=true)} break; case 'PS': // to Request PSMODE: ? setState("javascript.0.Denon.Zone_Main.Sound_Parameter",AVR_Response.slice(7,AVR_Response.length),akt=true); break; case 'NSE': // to Request NSE // Achtung ohne ? id='javascript.0.Denon.OSD.OSD_Info_List'+AVR_Response.slice(3, 4); if (getState(id)) { //prüfen ob State vorhanden ist setState (id,AVR_Response=AVR_Response.slice(4,AVR_Response.length),akt=true); } break; case 'TR': if (AVR_Response=='TR1 OFF'){setState('javascript.0.Denon.System.Trigger_1',false,akt=true)} else if (AVR_Response=='TR1 ON'){setState('javascript.0.Denon.System.Trigger_1',true,akt=true)} else if (AVR_Response=='TR2 OFF'){setState('javascript.0.Denon.System.Trigger_2',false,akt=true)} else if (AVR_Response=='TR2 ON'){setState('javascript.0.Denon.System.Trigger_2',true,akt=true)} break; case 'DIM': AVR_Response=AVR_Response.slice(4,AVR_Response.length); id='javascript.0.Denon.System.Display_Dimmer'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); setState(id,val,akt=true); break; case 'TFANNAME': setState('javascript.0.Denon.Tuner_Control.RDS_Station_Name',val=AVR_Response.slice(8,AVR_Response.length),akt=true); break; case 'NSET1': if (AVR_Response.slice(5,8)=='IPA'){ var IPstring=AVR_Response.slice(9,AVR_Response.length); if(IPstring[12]=='0'){ IPstring=IPstring.substr(0, 12) + '' + IPstring.substr(13,14); }
! setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);
} break; case 'NSFRN': setState('javascript.0.Denon.System.Name',val=AVR_Response.slice(5,AVR_Response.length),akt=true); break; default: //console.log('häääää????'); }
}
//--------------------------------------------------------------------------------------
on('javascript.0.Denon.System.IP_Adresse', function (obj){
if(getState('javascript.0.Denon.System.Verbunden').val===true){killClient(client); checkIP(obj.state.val); } else{checkIP(obj.state.val)}
});
! on({id:'javascript.0.Denon.System.UPDATE',val:true}, function (obj){
update(t_request);
});
! on({id:"javascript.0.Denon.System.Command",change:"any"}, function (obj){sendMessage(obj.state.val+'')});
! on("javascript.0.Denon.System.Power_System", function (obj){
if (!obj.state.ack) {
if (obj.state.val){
sendMessage('PWON');
}
else{sendMessage('PWOFF')}
}
});
! on('javascript.0.Denon.Zone_Main.Power', function (obj){
if (!obj.state.ack) {
if (obj.state.val){
sendMessage('ZMON');
}
else{sendMessage('ZMOFF')}
}
});
! on('javascript.0.Denon.Zone_2.Power_Zone2', function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z2ON')}
else{sendMessage('Z2OFF')}
}
});
! on('javascript.0.Denon.Zone_3.Power_Zone3', function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z3ON')}
else{sendMessage('Z3OFF')}
}
});
! on("javascript.0.Denon.Zone_Main.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('MUON')}
else{sendMessage('MUOFF')}
}
});
! on("javascript.0.Denon.Zone_2.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z2MUON')}
else{sendMessage('Z2MUOFF')}
}
});
! on("javascript.0.Denon.Zone_3.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z3MUON')}
else{sendMessage('Z3MUOFF')}
}
});
! on("javascript.0.Denon.Zone_Main.Master_Volume", function (obj){
if (!obj.state.ack) {
sendMessage('MV'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('MVUP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('MVDOWN'+'');
}
});
! on("javascript.0.Denon.Zone_2.Volume", function (obj){
if (!obj.state.ack) {
sendMessage('Z2'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_2.Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z2UP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_2.Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z2DOWN'+'');
}
});
! on("javascript.0.Denon.Zone_3.Volume", function (obj){
if (!obj.state.ack) {
sendMessage('Z3'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_3.Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z3UP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_3.Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z3DOWN'+'');
}
});
! on({id:"javascript.0.Denon.Control.Play",vla:true}, function (obj){
if (obj.state.val===true){sendMessage('NS9A')}
});
! on({id:"javascript.0.Denon.Control.Stop",val:true}, function (obj){
sendMessage('NS9C')
});
! on({id:"javascript.0.Denon.Control.Pause",val:true}, function (obj){
//if (obj.state.val===true){sendMessage('NS9B')}
sendMessage('NS9B');
});
! on({id:"javascript.0.Denon.Control.Skip_Plus",val:true}, function (obj){
sendMessage('NS9D')
});
! on({id:"javascript.0.Denon.Control.Skip_Minus",val:true}, function (obj){
sendMessage('NS9E')
});
! on({id:"javascript.0.Denon.Control.Page_Next",val:true}, function (obj){
sendMessage('NS9X')
});
! on({id:"javascript.0.Denon.Control.Page_Previous",val:true}, function (obj){
sendMessage('NS9Y')
});
! on('javascript.0.Denon.Zone_Main.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('SI'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_2.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('Z2'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_3.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('Z3'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_Main.Video_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('SV'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_Main.Video_State', function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('SVON')}
else{sendMessage('SVOFF')}
}
});
! on('javascript.0.Denon.Zone_Main.HDMI_Monitor', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('VS'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on("javascript.0.Denon.System.Trigger_1", function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('TR1 ON')}
else{sendMessage('TR1 OFF')}
}
});
! on("javascript.0.Denon.System.Trigger_2", function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('TR2 ON')}
else{sendMessage('TR2 OFF')}
}
});
! on('javascript.0.Denon.System.Display_Dimmer', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('DIM '+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on({id:'javascript.0.Denon.Tuner_Control.Frequency_UP',val:true}, function (obj){sendMessage('TFANUP')});
! on({id:'javascript.0.Denon.Tuner_Control.Frequency_DOWN',val:true}, function (obj){sendMessage('TFANDOWN')});
! on({id:'javascript.0.Denon.Tuner_Control.Preset_UP',val:true}, function (obj){sendMessage('TPANUP')});
! on({id:'javascript.0.Denon.Tuner_Control.Preset_DOWN',val:true}, function (obj){sendMessage('TPANDOWN')});
! //---------------------------------------------------------------------------------------
! // close connection if script stopped-------------------------------------------------
onStop(function () {
if(getState('javascript.0.Denon.System.Verbunden').val===true){killClient(client)};
}, 2000 /ms/);` [/i][/i][/i] -
Hi Lucky, danke dir für das Script. Werde es mit meinem Denon 1300 Mal testen. Kannst du hier vielleicht einen Screen Posten von deiner"Fernbedienung" und evtl auch die Codes zu den Widgets die du für den Denon nutzt?
Danke dir und Grüße, Thorsten
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
so, die vorerst letzte änderung:
Schönheitsfehler behoben
neue Funktionen: 1: Systemname wird jetzt vom Gerät abgerufen 2: es wird angezeit wann der AVR '' fertig gebootet'' hat, also wenn es "klick" gemacht hat (das ist wichtig wenn man z.b. mit Alexa steuern will, denn erst wenn der AVR vollständig hochgefahren ist, werden die kommandos richtig umgesetzt!)
! ```
`//Kontakt: s-nolte@htp-tel.de
//ioBroker Forum: Lucky
var net = require('net');
! // System
createState('javascript.0.Denon.System.UPDATE', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.System.Power_System', false,{type: "boolean", role: "Power System"});
createState('javascript.0.Denon.System.System_Ready', false,{type: "boolean", role: "System Ready",write:false});
createState('javascript.0.Denon.System.IP_Adresse', '000.000.000.000',{type: "string", role: "AVR IP Adresse"});
createState('javascript.0.Denon.System.Trigger_1', false,{type: "boolean", role: "Trigger 1"});
createState('javascript.0.Denon.System.Trigger_2', false,{type: "boolean", role: "Trigger 2"});
createState('javascript.0.Denon.System.Command', '',{type: "string", role: "Command to AVR"});
createState('javascript.0.Denon.System.Display_Dimmer',0,{type: "number", role: "FL Display Dimmer",states: "0:BRI;1:DIM;2:DAR;3:OFF"});
createState('javascript.0.Denon.System.Verbunden',false,{type: "boolean", role: "Verbindung hergestellt",write:false});
createState('javascript.0.Denon.System.Name',{type: "string", role: "Netzwerk-Name",write:false});
! //OSD
createState('javascript.0.Denon.OSD.OSD_Info_List0', 'init',{type: "string", role: "Onscreen Display Info List00",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List1', 'init',{type: "string", role: "Onscreen Display Info List01",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List2', 'init',{type: "string", role: "Onscreen Display Info List02",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List3', 'init',{type: "string", role: "Onscreen Display Info List03",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List4', 'init',{type: "string", role: "Onscreen Display Info List04",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List5', 'init',{type: "string", role: "Onscreen Display Info List05",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List6', 'init',{type: "string", role: "Onscreen Display Info List06",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List7', 'init',{type: "string", role: "Onscreen Display Info List07",write:false});
createState('javascript.0.Denon.OSD.OSD_Info_List8', 'init',{type: "string", role: "Onscreen Display Info List08",write:false});
! //Controls
createState('javascript.0.Denon.Control.Play', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Control.Stop', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Pause', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Skip_Plus', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Skip_Minus', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Page_Next', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Control.Page_Previous', false,{type: "boolean", role: "button"});
! //Tuner Control
createState('javascript.0.Denon.Tuner_Control.Frequency_UP', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Frequency_DOWN', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Preset_UP', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.Preset_DOWN', false,{type:"boolean", role: "button"});
createState('javascript.0.Denon.Tuner_Control.RDS_Station_Name', 'init',{type:"string", role: "RDS Station Name",write:false});
! //Zone_Main
createState('javascript.0.Denon.Zone_Main.Power', false,{type: "boolean", role: "Power Status Zone Main"});
createState('javascript.0.Denon.Zone_Main.Mute', false,{type: "boolean", role: "Mute Status"});
createState('javascript.0.Denon.Zone_Main.Master_Volume', 0,{type: "number", role: "Master Volume"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_UP', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_DOWN', false,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_Main.Master_Volume_Max', 0,{type: "number", role: "Master Volume Max",write:false});
createState('javascript.0.Denon.Zone_Main.Video_Input', 1,{type: "number", role: "Selected Video Input",
states:"0:DVD;1:BD;2:TV;3:SAT/CBL;4:MPLAY;5:GAME;6:AUX1;7:AUX2;8:AUX3;9:AUX4;10:AUX5;11:AUX6;12:AUX7;13:CD"});
createState('javascript.0.Denon.Zone_Main.Video_State', false,{type: "boolean", role: "Video ON/OFF"});
createState('javascript.0.Denon.Zone_Main.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
createState('javascript.0.Denon.Zone_Main.Surround_Mode', 'init',{type: "string", role: "Surround Modus",write:false});
createState('javascript.0.Denon.Zone_Main.Ratio_Mode', 'init',{type: "string", role: "Ratio Modus",write:false});
createState('javascript.0.Denon.Zone_Main.Resolution', 'init',{type: "string", role: "Video Resolution",write:false});
createState('javascript.0.Denon.Zone_Main.Sound_Parameter', 'init',{type: "string", role: "Sound_Parameter",write:false});
createState('javascript.0.Denon.Zone_Main.HDMI_Monitor',0,{type: "number", role: "HDMI Monitor Out",states: "0:MONIAUTO;1:MONI1;2:MONI2"});
! //Zone 2
createState('javascript.0.Denon.Zone_2.Power_Zone2', false,{type: "boolean", role: "Power Status Zone 2"});
createState('javascript.0.Denon.Zone_2.Mute', false,{type: "boolean", role: "Mute Status Zone 2"});
createState('javascript.0.Denon.Zone_2.Volume', 0,{type: "number", role: "Zone 2 Volume"});
createState('javascript.0.Denon.Zone_2.Volume_UP', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_2.Volume_DOWN', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_2.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
! //Zone 3
createState('javascript.0.Denon.Zone_3.Power_Zone3', false,{type: "boolean", role: "Power Status Zone 3"});
createState('javascript.0.Denon.Zone_3.Mute', false,{type: "boolean", role: "Mute Status Zone 3"});
createState('javascript.0.Denon.Zone_3.Volume', 0,{type: "number", role: "Zone 3 Volume"});
createState('javascript.0.Denon.Zone_3.Volume_UP', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_3.Volume_DOWN', 0,{type: "boolean", role: "button"});
createState('javascript.0.Denon.Zone_3.Select_Input',5,{type: "number", role: "Select Input",
states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
! // Variablen-------------------------------------------------------------------------
var AVR_Command =['PW','MVMAX','MV','CV','MU','SI','ZM','SD','DC','SV','SLP','STBY','ECO','MS','VS','PS','PV','Z2','Z2MU','Z2CS','Z2CV','Z2HPF',
'Z2PS','Z2HDS','Z2SLP','Z2STBY','Z3','Z3MU','Z3CS','Z3CV','Z3HPF','Z3PS','Z3SLP','Z3STBY','TFANNAME','NSET1','NSE','TR','DIM','NSFRN']; // räume den mist später auf
var t_request = 100; //beim ersten Start Funktion update aufrufen mit 100ms zwischen den Anfragen, maximal 50ms !
var client;
var PW_Request =0;
! setState('javascript.0.Denon.System.Verbunden',val=false,akt=false);
checkIP(getState('javascript.0.Denon.System.IP_Adresse').val);
! function checkIP(IP){ //IP Adresse prüfen
if(net.isIPv4(IP)){
setTimeout(function () {
client=Connect(IP);
},2000);
}
else{console.error('ungültige IP Adresse')}
}function Connect(IP){ // zu Server Verbinden
! var client = net.connect({host:IP, port:23});
client.setKeepAlive(true,5000);console.log('Connectig...'); client.on('error',function(error) { console.error(error); killClient(client); }); client.on('connect', function () { //Verbindung hergestellt console.log('Verbunden mit Denon AVR !'); {setState('javascript.0.Denon.System.Verbunden',val=true,akt=true)} update(t_request); });
! client.on('end', function () { //die Gegenseite hat die Verbindung geschlossen
{setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
console.warn('Denon AVR hat die Verbindung geschlossen !');
killClient(client);
});client.on('data', function (data) { console.log(data.toString()); response(data); });
return client;
}//end of Function Connect! function killClient(client){
{setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
client.destroy();
client.unref();
console.log('Connection closed !');
}
! // Funktion Nachricht Senden----------------------------------------------------------
function sendMessage(message) {
if(getState('javascript.0.Denon.System.Verbunden').val===true){client.write(message+'\r'); if (message=='PWON'||'ZMON'||'Z2ON'||'Z3ON'){PW_Request=1} console.log('Anfrage: '+ message ); }
}
//Daten anfordern--------------------------------------------------------------------
function update(Time){
console.log('Update Start');
var i_Pollen=0;
var Request =['NSET1 ?','NSFRN ?','ZM?','MU?','PW?','SI?','SV?','MS?','MV?','Z2?','Z2MU?','Z3?','Z3MU?','NSE','VSSC ?','VSASP ?','VSMONI ?','TR?','DIM ?'];
Intervall = setInterval(function () {sendMessage(Request[i_Pollen]); i_Pollen++; if (i_Pollen==Request.length){ i_Pollen=0; clearInterval(Intervall); } }, Time);
return true;
}! function StateText_toArray (StateNames){
var StateName = StateNames.split(';');
var StateArr=[];
for(var i = 0; i < StateName.length; i++) {
var ele = StateName[i].split(':');
StateArr[ele[0]] = ele[1];
}return StateArr;
}! // Daten empfangen------------------------------------------------------------------
! function response (data) {! var AVR_Response=data.toString().replace(/[\n\r]/g, ''); // Steuerzeichen "CR" entfernen
! for (i = 0; i < AVR_Command.length; i++) {var search_index=AVR_Response.search(AVR_Command[i]); if (search_index===0){ break; } } var id,val; switch(AVR_Command[i]){ case 'MU': // to Request MU? if (AVR_Response=='MUOFF'){setState("javascript.0.Denon.Zone_Main.Mute",false,akt=true)} if (AVR_Response=='MUON'){setState("javascript.0.Denon.Zone_Main.Mute",true,akt=true)} break; case 'PW': // to Request PW? if (AVR_Response=='PWSTANDBY'){ setState('javascript.0.Denon.System.Power_System',false,akt=true); setState('javascript.0.Denon.System.System_Ready',false,akt=true); } if (AVR_Response=='PWON'){ if(PW_Request==1){ setState('javascript.0.Denon.System.Power_System',true,akt=true); PW_Request++; } else if(PW_Request==2){ setState('javascript.0.Denon.System.System_Ready',true,akt=true); PW_Request=0; } } break; case'Z2': if (AVR_Response=='Z2OFF'){setState('javascript.0.Denon.Zone_2.Power_Zone2',false,akt=true)} else if (AVR_Response=='Z2ON'){setState('javascript.0.Denon.Zone_2.Power_Zone2',true,akt=true)} else if (AVR_Response=='Z2MUON'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)} else if (AVR_Response=='Z2MUOFF'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)} else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){ setState("javascript.0.Denon.Zone_2.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_2.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); if (val>=0){setState(id,val,akt=true);} } break; case'Z3': if (AVR_Response=='Z3OFF'){setState('javascript.0.Denon.Zone_3.Power_Zone3',false,akt=true)} else if (AVR_Response=='Z3ON'){setState('javascript.0.Denon.Zone_3.Power_Zone3',true,akt=true)} else if (AVR_Response=='Z3MUON'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)} else if (AVR_Response=='Z3MUOFF'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)} else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){ setState("javascript.0.Denon.Zone_3.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_3.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); if (val>=0){setState(id,val,akt=true);} } break; case 'MV': // to Request MV? AVR_Response=AVR_Response.slice(2,AVR_Response.length); if (AVR_Response.length<3){AVR_Response=AVR_Response+'0'} AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3); setState("javascript.0.Denon.Zone_Main.Master_Volume",parseFloat(AVR_Response),akt=true); break; case 'MVMAX': AVR_Response=AVR_Response.slice(6,AVR_Response.length); AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3); setState("javascript.0.Denon.Zone_Main.Master_Volume_Max",parseFloat(AVR_Response),akt=true); break; case 'SV': // to Request SV? if (AVR_Response=='SVOFF'){setState("javascript.0.Denon.Zone_Main.Video_State",false,akt=true)} else if (AVR_Response=='SVON'){setState("javascript.0.Denon.Zone_Main.Video_State",true,akt=true)} else { AVR_Response=AVR_Response.slice(2,AVR_Response.length); id = 'javascript.0.Denon.Zone_Main.Video_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); //suche in array nach element setState(id,val,akt=true); } break; case 'SI': // to Request SI? AVR_Response=AVR_Response.slice(2,AVR_Response.length); id='javascript.0.Denon.Zone_Main.Select_Input'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); setState(id,val,akt=true); break; case 'ZM': // to Request ZM? if (AVR_Response=='ZMOFF'){setState('javascript.0.Denon.Zone_Main.Power',false,akt=true)} if (AVR_Response=='ZMON'){setState('javascript.0.Denon.Zone_Main.Power',true,akt=true)} break; case 'MS': // to Request MS? AVR_Response=AVR_Response.slice(2,AVR_Response.length); setState("javascript.0.Denon.Zone_Main.Surround_Mode",AVR_Response,akt=true); break; case 'VS': // to Request VSASP ? id = "javascript.0.Denon.Zone_Main.Ratio_Mode"; if (AVR_Response=='VSASPFUL'){setState(id,'16:9',akt=true)} else if (AVR_Response=='VSASPNRM'){setState(id,'4:3',akt=true)} // to Request VSSC ? id = "javascript.0.Denon.Zone_Main.Resolution"; if (AVR_Response=='VSSC48P'){setState(id,'480p/576p',akt=true)} else if (AVR_Response=='VSSC10I'){setState(id,'1080i',akt=true)} else if (AVR_Response=='VSSC72P'){setState(id,'720p',akt=true)} else if (AVR_Response=='VSSC10P'){setState(id,'1080p',akt=true)} else if (AVR_Response=='VSSC10P24'){setState(id,'1080p:24Hz',akt=true)} else if (AVR_Response=='VSSC4K'){setState(id,'4K',akt=true)} else if (AVR_Response=='VSSC4KF'){setState(id,'4K 60/50Hz',akt=true)} else if (AVR_Response=='VSSCAUTO'){setState(id,'AUTO',akt=true)} //to Request MONI ? id='javascript.0.Denon.Zone_Main.HDMI_Monitor'; if (AVR_Response=='VSMONIAUTO'){setState(id,0,akt=true)} else if (AVR_Response=='VSMONI1'){setState(id,1,akt=true)} else if (AVR_Response=='VSMONI2'){setState(id,2,akt=true)} break; case 'PS': // to Request PSMODE: ? setState("javascript.0.Denon.Zone_Main.Sound_Parameter",AVR_Response.slice(7,AVR_Response.length),akt=true); break; case 'NSE': // to Request NSE // Achtung ohne ? id='javascript.0.Denon.OSD.OSD_Info_List'+AVR_Response.slice(3, 4); if (getState(id)) { //prüfen ob State vorhanden ist setState (id,AVR_Response=AVR_Response.slice(4,AVR_Response.length),akt=true); } break; case 'TR': if (AVR_Response=='TR1 OFF'){setState('javascript.0.Denon.System.Trigger_1',false,akt=true)} else if (AVR_Response=='TR1 ON'){setState('javascript.0.Denon.System.Trigger_1',true,akt=true)} else if (AVR_Response=='TR2 OFF'){setState('javascript.0.Denon.System.Trigger_2',false,akt=true)} else if (AVR_Response=='TR2 ON'){setState('javascript.0.Denon.System.Trigger_2',true,akt=true)} break; case 'DIM': AVR_Response=AVR_Response.slice(4,AVR_Response.length); id='javascript.0.Denon.System.Display_Dimmer'; val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); setState(id,val,akt=true); break; case 'TFANNAME': setState('javascript.0.Denon.Tuner_Control.RDS_Station_Name',val=AVR_Response.slice(8,AVR_Response.length),akt=true); break; case 'NSET1': if (AVR_Response.slice(5,8)=='IPA'){ var IPstring=AVR_Response.slice(9,AVR_Response.length); if(IPstring[12]=='0'){ IPstring=IPstring.substr(0, 12) + '' + IPstring.substr(13,14); }
! setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);
} break; case 'NSFRN': setState('javascript.0.Denon.System.Name',val=AVR_Response.slice(5,AVR_Response.length),akt=true); break; default: //console.log('häääää????'); }
}
//--------------------------------------------------------------------------------------
on('javascript.0.Denon.System.IP_Adresse', function (obj){
if(getState('javascript.0.Denon.System.Verbunden').val===true){killClient(client); checkIP(obj.state.val); } else{checkIP(obj.state.val)}
});
! on({id:'javascript.0.Denon.System.UPDATE',val:true}, function (obj){
update(t_request);
});
! on({id:"javascript.0.Denon.System.Command",change:"any"}, function (obj){sendMessage(obj.state.val+'')});
! on("javascript.0.Denon.System.Power_System", function (obj){
if (!obj.state.ack) {
if (obj.state.val){
sendMessage('PWON');
}
else{sendMessage('PWOFF')}
}
});
! on('javascript.0.Denon.Zone_Main.Power', function (obj){
if (!obj.state.ack) {
if (obj.state.val){
sendMessage('ZMON');
}
else{sendMessage('ZMOFF')}
}
});
! on('javascript.0.Denon.Zone_2.Power_Zone2', function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z2ON')}
else{sendMessage('Z2OFF')}
}
});
! on('javascript.0.Denon.Zone_3.Power_Zone3', function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z3ON')}
else{sendMessage('Z3OFF')}
}
});
! on("javascript.0.Denon.Zone_Main.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('MUON')}
else{sendMessage('MUOFF')}
}
});
! on("javascript.0.Denon.Zone_2.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z2MUON')}
else{sendMessage('Z2MUOFF')}
}
});
! on("javascript.0.Denon.Zone_3.Mute", function (obj){
if (!obj.state.ack) {
if (obj.state.val){sendMessage('Z3MUON')}
else{sendMessage('Z3MUOFF')}
}
});
! on("javascript.0.Denon.Zone_Main.Master_Volume", function (obj){
if (!obj.state.ack) {
sendMessage('MV'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('MVUP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('MVDOWN'+'');
}
});
! on("javascript.0.Denon.Zone_2.Volume", function (obj){
if (!obj.state.ack) {
sendMessage('Z2'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_2.Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z2UP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_2.Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z2DOWN'+'');
}
});
! on("javascript.0.Denon.Zone_3.Volume", function (obj){
if (!obj.state.ack) {
sendMessage('Z3'+obj.state.val+'');
}
});
! on({id:"javascript.0.Denon.Zone_3.Volume_UP",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z3UP'+'');
}
});
! on({id:"javascript.0.Denon.Zone_3.Volume_DOWN",val:true}, function (obj){
if (!obj.state.ack) {
sendMessage('Z3DOWN'+'');
}
});
! on({id:"javascript.0.Denon.Control.Play",vla:true}, function (obj){
if (obj.state.val===true){sendMessage('NS9A')}
});
! on({id:"javascript.0.Denon.Control.Stop",val:true}, function (obj){
sendMessage('NS9C')
});
! on({id:"javascript.0.Denon.Control.Pause",val:true}, function (obj){
//if (obj.state.val===true){sendMessage('NS9B')}
sendMessage('NS9B');
});
! on({id:"javascript.0.Denon.Control.Skip_Plus",val:true}, function (obj){
sendMessage('NS9D')
});
! on({id:"javascript.0.Denon.Control.Skip_Minus",val:true}, function (obj){
sendMessage('NS9E')
});
! on({id:"javascript.0.Denon.Control.Page_Next",val:true}, function (obj){
sendMessage('NS9X')
});
! on({id:"javascript.0.Denon.Control.Page_Previous",val:true}, function (obj){
sendMessage('NS9Y')
});
! on('javascript.0.Denon.Zone_Main.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('SI'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_2.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('Z2'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_3.Select_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('Z3'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_Main.Video_Input', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('SV'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on('javascript.0.Denon.Zone_Main.Video_State', function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('SVON')}
else{sendMessage('SVOFF')}
}
});
! on('javascript.0.Denon.Zone_Main.HDMI_Monitor', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('VS'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on("javascript.0.Denon.System.Trigger_1", function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('TR1 ON')}
else{sendMessage('TR1 OFF')}
}
});
! on("javascript.0.Denon.System.Trigger_2", function (obj){
if (!obj.state.ack) {
if (obj.state.val===true){sendMessage('TR2 ON')}
else{sendMessage('TR2 OFF')}
}
});
! on('javascript.0.Denon.System.Display_Dimmer', function (obj){
if (!obj.state.ack) {
if(obj.state.val>=0){
sendMessage('DIM '+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
}
}
});
! on({id:'javascript.0.Denon.Tuner_Control.Frequency_UP',val:true}, function (obj){sendMessage('TFANUP')});
! on({id:'javascript.0.Denon.Tuner_Control.Frequency_DOWN',val:true}, function (obj){sendMessage('TFANDOWN')});
! on({id:'javascript.0.Denon.Tuner_Control.Preset_UP',val:true}, function (obj){sendMessage('TPANUP')});
! on({id:'javascript.0.Denon.Tuner_Control.Preset_DOWN',val:true}, function (obj){sendMessage('TPANDOWN')});
! //---------------------------------------------------------------------------------------
! // close connection if script stopped-------------------------------------------------
onStop(function () {
if(getState('javascript.0.Denon.System.Verbunden').val===true){killClient(client)};
}, 2000 /ms/);Muss das Thema noch einmal hoch holen. Lucky, magst du vielleicht einen Screen hochladen und ggf die Codes deiner Widgets? Wurde bestimmt auch anderen weiterhelfen... Danke dir schon einmal. ! VG kueppert ! Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk[/i][/i][/i] ```
-
!!!!!!!!Aktuelle Version im Post vom 21.06.2017, 22:28 !!!!!! `
Hallo Zuzsammen. Wo finde ich diesen Post?
Wie geht es dann weiter?
Bin gerade total hilflos.
-
Wirklich? 3 Beiträge über deinem.
Gesendet von Unterwegs
-
Hab das Script jetzt Mal bei mir in die Scripte über einen neuen Ordner Denon importiert und gestartet. Sieht gut aus. Musste nur die IP im Script eintragen und die Objekte sind da jetzt noch die entstehenden Widgets in vis suchen und die Fernbedienung für den Denon wird gebaut. Top
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Hi,
bin dabei meine Fernbedienung zu bauen. Kann mir jemand sagen, mit welchem Objekt ich den Receiver einschalte?? Aktuell versuche ich es mit dem Wiget "basic bulb" und der Objekt-ID "javascript.0.Denon.System.Power_System". Wert für ID = false ist dann false und Wert für ID = true habe ich true eingetragen. Aber das funktioniert nicht
Danke euch und Grüße, Thorsten
-
Ich möchte das Script auch mal testen. In welcher Zeile trage ich die IP des Denon ein?
-
In die Zeile wo die 12 nuller stehen 000.000.000.000
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Hi,
ich habe einen Denon-AVR-X1100-W.
Die IP Adresse habe ich angepasst, ist auch statisch. Script ist unter common.
createState('javascript.0.Denon.System.IP_Adresse', '192.168.001.051',{type: "string", role: "AVR IP Adresse"});
Netzwerksteuerung ist EIN uns steht auf "immer"
Beim Starten des Scriptes bekomme ich immer:
17:44:54.405 [error] javascript.0 script.js.common.DenonAVR: ungültige IP Adresse
IP Adresse passt, ds ich über die IP auf die Weboberfläche komme.
Hast Du eine Idee was da nicht stimmen könnte?
1526_unbenannt.png
1526_unbenannt1.png -
Hm, hat bei mir zumindest die Verbindung auf Anhieb funktioniert. Du musst meine ich die IP wird in deinem 2. Bild im Script eintragen, also nicht 192.168.1.1 sondern 192.168.001.001 (ist nur eine Beispiel IP)
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Kleiner Tip für alle, die einen Denon 1200W nutzen:
Im Script ist ein Fehler, daher kann man den Receiver nicht an oder ausschalten.
Einfach folgenden Code:
else{sendMessage('PWOFF')} ````in Zeile 422 (gemäß Notepad) in
else{sendMessage('PWSTANDBY')}
Die Codes habe ich von folgender URL (verweist auf Denon_USA): [https://www.google.de/url?sa=t&rct=j&q= … SOoo6RRrWA](https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0ahUKEwisntPRxvrVAhWCVBQKHdfgDMIQFgg7MAI&url=https%3A%2F%2Fusa.denon.com%2Fus%2Fproduct%2Fhometheater%2Freceivers%2Favr3808ci%3Fdocname%3DAVR-3808CISerialProtocol_Ver520a.pdf&usg=AFQjCNHfUGmjlbRyMffC3GsaSOoo6RRrWA) Umgesetzt habe ich den Power-Button mit "Basic Bulp on/off" Habe mal mein Widget exportiert: >! [{"tpl":"tplBulbOnOffCtrl","data":{"oid":"javascript.0.Denon.System.Power_System","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","icon_off":"/vis.0/main/img/on.png","icon_on":"/vis.0/main/img/off.png","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"g_ccontrol":true,"oidTrueValue":"false","oidFalseValue":"true","min":"0"},"style":{"left":"1072px","top":"387px","z-index":"2","width":"90px","height":"90px","border-width":"4px","border-style":"solid"},"widgetSet":"basic"}] Denke, das könnte dem einen oder anderen weiterhelfen :o) VG Thorsten
-
Hi,
ich habe einen Denon-AVR-X1100-W.
Die IP Adresse habe ich angepasst, ist auch statisch. Script ist unter common.
createState('javascript.0.Denon.System.IP_Adresse', '192.168.001.051',{type: "string", role: "AVR IP Adresse"});
Netzwerksteuerung ist EIN uns steht auf "immer"
Beim Starten des Scriptes bekomme ich immer:
17:44:54.405 [error] javascript.0 script.js.common.DenonAVR: ungültige IP Adresse
IP Adresse passt, ds ich über die IP auf die Weboberfläche komme.
Hast Du eine Idee was da nicht stimmen könnte? `
Bei mir genau das gleiche. Ich habe einen Denon AVR-X1000.Probiert habe 192.168.178.54 und 192.168.178.054.
Eventuell ist das Gerät nicht kompatibel? Laufen tut die Android app "Denon Remote App".
Edit: was bei mir funktioniert… aus dem ersten thread:
http://192.168.178.54/goform/formiPhoneAppDirect.xml?SIFAVORITES
-
@lomobau
wo hastv Du die Zeile eingefügt? Läuft das Script jetzt bei Dir?
Kannst Du dein Script hier zeigen?
-
@lomobau
wo hastv Du die Zeile eingefügt? Läuft das Script jetzt bei Dir?
Kannst Du dein Script hier zeigen? `
Nein, läuft nicht. Habe einfach die http-Zeile in Browser eingefügt, um zu prüfen ob es generell funktioniert.Wenn ich es eingebe, springt die App auf Favourites, der Denon wohl auch (der steht im Keller… ich hatte da grad keine Zeit zu schauen)