NEWS
[Vorlage] Denon Skript
-
Hallo, ich oute mich mal gleich vorweg, damit keine Missverständnisse entstehen und schließ mich dem Autor divepython oben an. (hallo Welt und so)
io.Broker ist neu für mich. Habe ja auch noch nicht all zulange piVCCU im Einsatz. Aber immerhin, io.Broker läuft und ich habe auch ein paar Testversuche bereits absolviert.
Interessanterweise bin ich mehr durch Zufall auf die Denon Steuerung gestoßen, was mich sofort magisch in den Bann gezogen hat. Natürlich gibt es für den AVR (in meinem Fall ein 4300) auch eine Remotesoftware von Denon für das iPad bzw. Android. Aber die Steuerung auch in eine Visualisierung zu bringen erscheint reizvoll.
Also ich habe kurzerhand mal das Scrip nach io.Broker kopiert. Unter Objekte/Javascript.0 erscheint auch das Denon-Script. Aber, das Script hat keinen Connect.
Log 15:37:29.793 [info] javascript.0 Stop script script.js.Denon 15:37:33.601 [info] javascript.0 Start javascript script.js.Denon 15:37:33.602 [error] javascript.0 script.js.Denon: ungültige IP Adresse 15:37:33.603 [info] javascript.0 script.js.Denon: registered 40 subscriptions and 0 schedules
im Script steht dazu folgendes, was mir richtig erscheint.
//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', '192.168.0.10',{type: "string", role: "AVR IP Adresse"});
Der Denon hat die IP 192.168.0.10. Netzwerksteuerung ist eingeschaltet im Denon. Ein Aufruf der Webseite des Denon ergibt
Error 403: Forbidden Access Forbidden
Aber dazu habe ich folgende Info:
` > Folgende Antwort habe ich vom Denon Support zu meiner Frage erhalten:Sehr geehrter Herr xxx,
vielen Dank für Ihre Anfrage.
Unsere neuen AV-Receiver mit der Bezeichnung AVR-X..00H unterstützen kein Web-Interface mehr.
Eine Steuerung des Receivers ist via IR, App (Android/IOS) und IP-Steuerung bzw. RS232-Steuerung möglich.
Also ein Test ob die Webseite des AVR erreichbar ist, kann nur fehlschlagen. `
Es wäre also Super, wenn mir hier mal auf die Sprünge geholfen werden könnte.Dank im Voraus
Andreas
-
Moinsen.
Mein erster Beitrag hier im Forum. Vielleicht hilft es jemandem.
Ich habe gerade einige Zeit damit verbracht das Script erfolglos mit meinem Denon AVR X2000 zu testen.
-> Die IP meines Receivers habe ich auf 192.168.0.140 eingestellt.
-> Webinterface funktioniert
-> Telnet Funtioniert
-> Skript unter javascript Common/Denon eingepflegt nund gestartet: Die Objekte werden angelegt, dabei werden Fehler zur IP geschmissen, die ignoriert werden dürfen
Soweit alles OK
Nun trage ich ins Objekt meine korrekte IP im Format 192.168.000.140 ein und es kommt:
10:12:06.918 [error] javascript.0 script.js.common.Denon.DenonControl: ungültige IP Adresse
Trage ich ins Objekt die IP im Format 192.168.0.140 ein kommt folgendes:
10:13:02.203 [info] javascript.0 script.js.common.Denon.DenonControl: Connectig…
10:13:02.215 [info] javascript.0 script.js.common.Denon.DenonControl: Verbunden mit Denon AVR !
10:13:02.216 [info] javascript.0 script.js.common.Denon.DenonControl: Update Start
10:13:02.314 [info] javascript.0 script.js.common.Denon.DenonControl: Anfrage: NSET1 ?
10:13:02.377 [info] javascript.0 script.js.common.Denon.DenonControl: NSET1DHC OFF
10:13:02.412 [info] javascript.0 script.js.common.Denon.DenonControl: NSET1IPA 192.168.000.140
10:13:02.418 [info] javascript.0 script.js.common.Denon.DenonControl: Anfrage: NSFRN ?
10:13:02.429 [info] javascript.0 script.js.common.Denon.DenonControl: Connection closed !
10:13:02.430 [error] javascript.0 script.js.common.Denon.DenonControl: ungültige IP Adresse
Die Verbindung klappt also zu 192.168.0.140.
Die IP wird dann im Objekt auf 192.168.000.140 geändert, was zum Fehler "ungültige IP Adresse" führt.
Ich habe dann Zeile 414 auskommentiert
//setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);
und die IP Adresse im Objekt manuell wieder auf 192.168.0.140 geändert.
Siehe da: schon läuft alles wie es soll!
Aus reiner Neugier wüsste ich gerne folgendes:
Gibt es einen Grund, weshalb die IP aus dem Denon wieder zurück ins Objekt geschrieben wird? Immerhin klappt ja die Verbindung zu dem Zeitpunkt bereits mit der vorher bekannten IP.
Vielleicht übersehe ich ja irgendwas wichtiges, aber da es bei mir aktuell läuft bin ich sehr zufrieden und danke allen, die an diesem Skript mitgearbeitet haben!
-
@Hauke: Dein erster Beitrag, und er hat mir sofort geholfen selbiges Problem mit meinem Marantz Reciever zu lösen.
Hatte ja weiter oben schon geschrieben dass ich die Verbindung zwar hinbekommen habe, aber nicht stabil.
Nach der Änderung des Scripts wie du hier geschrieben hast bekomme ich die Verbindung sehr stabil und sofort hergestllt - Danke!
-
@Hauke: Du hast mir meine Woche gerettet! Das war es!
Habe das ganze letzte Wochenende versucht den Skript zum laufen zu bringen und du bringst mit deinem ersten Post die Lösung
-
es wäre so schön gewesen.
Leider funktioniert das bei meinem AVR-X4300 nicht.
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', '192.168.000.031',{type: "string", role: "AVR IP Adresse"});
ergibt im Log
13:33:58.018 [info] javascript.0 Stop script script.js.common.Denon 13:33:59.836 [info] javascript.0 Start javascript script.js.common.Denon 13:33:59.837 [error] javascript.0 script.js.common.Denon: ungültige IP Adresse 13:33:59.837 [info] javascript.0 script.js.common.Denon: registered 40 subscriptions and 0 schedules
Auch wenn ich in der IP-Adresse die führenden Nullen entferne, das Ergebnis ist gleich.
Ebenso bei Auskommentierung von Zeile 414
Hat jemand eine Idee dazu? Wäre echt super, wenn das endlich funktionieren täte.
-
Hallo zusammen,
gibt es das aktuelle Skript auch in einem github Repo oder an anderer Stelle oder müsste ich mir das aus den Beiträgen zusammenkopieren?
-
Hallo,
hab meinen 2113 gegen einen X 4300 getauscht und das Script von "Lucky" läuft für die Steuerung super.
Das auslesen des Status klappt aber nicht. Mein Log wird alle 2 Sekunden mit
javascript.0 2018-04-11 14:31:44.301 info script.js.DENON.AVR_4300: Anfrage: NSE javascript.0 2018-04-11 14:31:42.298 info script.js.DENON.AVR_4300: Anfrage: NSE
zugemüllt und im OSD State steht überall "init". Das setzen der IP in Zeile 415 musste ich ausblenden, weil sonst immer aus "xx.xx.xxx.xx" die neue IP "0xx.0xx.xx.0xx" mit führender Null erstellt wird und die Verbindung dann nicht funktioniert.
Kennt jemand eine Lösung?
Grüße
Brati
-
Bekomme das Script leider auch nicht an's laufen.
Alles wie vor beschrieben ausprobiert, es gibt trotzdem nur die Meldung "ungültige IP Adresse".
Web-Aufruf ist kein Problem.
Allerdings ist mir aufgefallen, dass der Aufruf mit http://10.0.0.103/SETUP/f_home.asp funktioniert, jedoch weder mit IE noch mit Chrome mit einer 0 am Anfang verarbeitet werden kann: http://010.000.000.103/SETUP/f_home.asp.
Kann es sein, dass es hier ein Problem mit führenden Nullen beim ersten Block der IP gibt?
Gruß, Ralf
-
Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…
Dann sollte die Steuerung laufen.
Grüße Brati
Von unterwegs gesendet...
-
Auch bei manueller Eintragung und Deaktivierung setState keine Veränderung, immer noch ungültige "IP-Adresse".
Habe allerdings bei Zeile 417 ein kleines gelbes Warnschild mit "Too many errors. (62% scanned)."
Gruß, Ralf
-
Habe genau das gleiche Problem
-
Mahlzeit,
also rausgenommen habe ich Zeile 415
// setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);
Das Ausrufezeichen Zeile 417 habe ich auch. Die IP wurde dann im "javascript.0.Denon.System.IP_Adresse" korrekt eingetragen und das Script gestartet.
Vielleicht solltet ihr auch mal das Netzwerkteil des AVR zurück setzen und dann versuchen. Die Netzwerksteuerung steht immer auf "eingeschaltet".
http://manuals.denon.com/AVRX4300H/EU/D … otxfgr.php
Bei mir war es nach dem ganzen rumtesten auch nötig.
Grüße
Brati
-
Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…
Dann sollte die Steuerung laufen.
Grüße Brati
Von unterwegs gesendet... `
Hab's jetzt hinbekommen: Ich hatte die Adresse 10.000.000.103 vorgegeben, mit 10.0.0.103 funktioniert es
Gruß, Ralf
-
Funktioniert auch das OSD auslesen?
Von unterwegs gesendet…
-
Sieht so aus:
~~![](</s><URL url=)https://i.imgur.com/joThAl9.png" />
Jetzt muss ich da nur noch die Subwoofer-Pegel-Einstellung reinbasteln.
Gruß, Ralf~~
-
So soll es aussehen, sieht es aber bei mir nicht :shock: . Welches Script hattest du verwendet? Und dann vermutlich auch die eine Zeile auskommentiert?
Grüße
Brati
-
Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…
Dann sollte die Steuerung laufen.
Grüße Brati
Von unterwegs gesendet... `
Hab's jetzt hinbekommen: Ich hatte die Adresse 10.000.000.103 vorgegeben, mit 10.0.0.103 funktioniert es
Gruß, Ralf `
So isses! checkIP() mag nur IP Adressen. Habe im Script bei mir ab ca. Zeile 409 zwei Zeilen eingefügt, da mein Denon mir auch die Bytes mit führenden Nullen zurückgibt. Der markante Abschnitt sieht nun so aus:
! ````
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);
}
! IPstring=IPstring.replace(/^0{1,}/g, '');
IPstring=IPstring.replace(/.0{1,}/g, '.');
setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);} break;
! ````
-
-
Nabend,
das Script läuft ja wie bekannt, hier wurde jedoch ein Adapter entwickelt.
Läuft bisher ganz gut.
Grüße
Brati
-
Ich hatte keine Rückmeldung mehr von iobroker. Das ganze Script wär gelöscht. Ich habe also den kompletten ioBroker auf meiner Diskstation neu installiert. Das scipt läuft, verbindet sich aber nicht mit dem reciever obwohl unter Denon/System/IP_Adresse korrekt eingetragen. Was kann der Fehler sein? :shock: