NEWS
[Vorlage] Denon Skript
-
kann ich jetzt aus dem Kopf leider nicht sagen (bin arbeiten) Leider komme ich auch heute Abend und morgen nicht dazu (unterwegs…)
-
Versuch doch mal mit Blockly.
Main Zone http://<av ip-adresse="">/goform/formiPhoneAppPower.xml?
1+PowerOn http://<av ip-adresse="">/goform/formiPhoneAppPower.xml?1+PowerStandby
Zone 2 http://<av ip-adresse="">/goform/formiPhoneAppPower.xml?
2+PowerOn http://<av ip-adresse="">/goform/formiPhoneAppPower.xml?2+PowerStandby
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201801 ... ff494f.jpg">https://uploads.tapatalk-cdn.com/20180111/4bb1b6aea9e7f3cd0fddba685eff494f.jpg</link_text>" /></av></av></av></av> -
No Problem …
Nochmals 1000 Dank vorab
-
No Problem …
Nochmals 1000 Dank vorab `
Blockly Exporteinschalten Mainzone
! ````
<block xmlns="http://www.w3.org/1999/xhtml" type="request" id="w8WF/@tE%Efnc4`8#{=V" x="-687" y="88"><mutation with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field><value name="URL"><shadow type="text" id="!P`R0]P%}]#3dInn=]?4"><field name="TEXT">http://192.168.180.6/goform/formiPhoneAppPower.xml?1+PowerOn</field></shadow></value></block>
-
Blockly Export Main Zone Standby
! ````
<block xmlns="http://www.w3.org/1999/xhtml" type="request" id="w8WF/@tE%Efnc4`8#{=V" x="-687" y="88"><mutation with_statement="false"></mutation>
<field name="WITH_STATEMENT">FALSE</field><value name="URL"><shadow type="text" id="!P`R0]P%}]#3dInn=]?4"><field name="TEXT">http://192.168.180.6/goform/formiPhoneAppPower.xml?1+PowerStandby</field></shadow></value></block>
hier der "normale Code" brauchst Du nur die Befehle von hier abändern >! ```` try { require("request")('http://192.168.180.6/goform/formiPhoneAppPower.xml?1+PowerStandby').on("error", function (e) {console.error(e);}); } catch (e) { console.error(e); }
Die Befehle findest Du hier
http://blue-pc.net/2013/12/28/denon-av- … p-steuern/
Unten noch ein Beispiel für Alexa mit A.V.R. an (die Punkte im Namen sind wichtig)
3822_denon.jpg
3822_avr.jpg -
Habe es hinbekommen. Mein Skript sieht jetzt wie folgt aus (geht wahrscheinlich eleganter, aber es funktioniert):
createState('Denon.Denon_Power', {
type: 'boolean',
name:'Denon-Power',
read: true,
write: true,
role: 'switch.active'
});
var http = "http://192.1XX.XXX.XX/goform/formiPhoneAppPower.xml?";
on({id: "javascript.0.Denon.Denon_Power", change: "ne"},
function (obj) {
var oldValue = obj.oldState.val;
if (getState("javascript.0.Denon.Denon_Power").val === true) {
require("request")(http + '1+PowerOn');
} else {
require("request")(http + '1+PowerStandby');
}});
Nochmals Danke für die Unterstützung … wahrscheinlich komme ich demnächst wieder angedackelt, weil ich weitere Funktionen hinzufügen möchte :lol: :lol:
-
Habe es hinbekommen. Mein Skript sieht jetzt wie folgt aus (geht wahrscheinlich eleganter, aber es funktioniert):
createState('Denon.Denon_Power', {
type: 'boolean',
name:'Denon-Power',
read: true,
write: true,
role: 'switch.active'
});
var http = "http://192.1XX.XXX.XX/goform/formiPhoneAppPower.xml?";
on({id: "javascript.0.Denon.Denon_Power", change: "ne"},
function (obj) {
var oldValue = obj.oldState.val;
if (getState("javascript.0.Denon.Denon_Power").val === true) {
require("request")(http + '1+PowerOn');
} else {
require("request")(http + '1+PowerStandby');
}});
Nochmals Danke für die Unterstützung … wahrscheinlich komme ich demnächst wieder angedackelt, weil ich weitere Funktionen hinzufügen möchte :lol: :lol: `
Ja, habe es in meiner Mittagspause mal schnell eingebaut, funktioniert..
3822_avr.jpg -
Auch hier sieht man mal wieder was für eine tolle Arbeit durch die Communitiy entsteht - danke an alle beteiligten!
Ich habe gerade zwei neue Vorstufen hier zum Testen. Yamaha CX-A5100 und Maratz AV-7704
Habe im Rahmen des Tests natürlich bei beiden auch gleich die Verbindungsmöglichkeiten zu io.broker getestet
Bei Yamaha lief das über den entsprechenden Adapter hervorragend. Aber der hat einfach den schlechteren Klang
Bei dem Maratz war mein Gedanke das Denon Script zu nutzen, da Denon und Marantz ja bekanntermaßen unter eine Decke stecken und dieselbe Software verwenden.
Ich habe das Script ausgeführt und anschließend die IP Adresse unter "Objekte" eingetragen.
Leider kann ich den Marantz nicht steuern.
Ich dachte erst dass es dann wohl doch nicht funktioniert, jedoch eine Sache ist interessant: Ich bekomme den Namen des Maratz in io.broker angezeigt, ohne dass ich diesen selber eingegeben habe:
Das sagt mir dass die Verbindung eigentlich doch funktionieren sollte?
Hat jemand eine Idee was eventuell noch geändert werden sollte damit die Steuerung klappt?
Hier kommt einmal der Log dazu:
Vielen Dank für eure Hilfe!!
-
Ich habe bei weiteren Recherchen noch folgendes gefunden:
Eine Excel Tabelle mit Marantz IP Commandos.
Vom ersten drüberschauen sind die Befehle wie erwartet analog zu Denon (z.B. "PWON" oder "PWOFF" für Power oder "MVUP" und "MVDOWN" für Master Volume up/down)
Es gibt wohl ein paar unterschiedliche Befehle, klar zum Teil gibts ja auch verschiedene Funktionen, aber das grundlegende sollte doch funktionieren?
Im IP Symcon Forum habe ich noch ein Script gefunden welches Maratz-spezifisch sein soll. Das kann man sicher nicht so einfach 1:1 verwenden, aber lässt sich eventuell daraus ableiten was vielleicht der Knackpunkt sein könnte?
https://www.symcon.de/forum/threads/295 … et-steuern
Laut Fhem Forum ist das Modul für Denon ja ebenfalls für Maratz gebräuchlich.
Wäre ja ziemlich cool wenn das Denon Script auch für alle Marantz User lauffähig wird
3472_marantz_av_sr_nr_protocol_v02.xls -
<size size="150">Vergesst was ich geschrieben habe - es läuft!!!!</size>
Das Script ist Marantz kompatibel. So super.
Ich hab ein bisschen an der IP Adresse hin und her gestellt und den Marantz mal aus und wieder angeschaltet und irgendwann gings dann
Einzig die "Master_Volume" funktioniert nur wenn man die Lautstärke nicht im negativen Bereich ( - 70 bis + 10 ) regelt, sondern im positiven Bereich ( 0 bis + 80 ). Schade, die negative Regelung ist ja eigentlich die Studiotechnisch korrekte
Aber ansonsten: ich bin mega begeistert. Danke für die Arbeit!
-
Leider bleibt bei mir wohl das Script alle paar Tage einfach stehen. AVR3311
Ich kann dann nichts bedienen und bekomme auch keine Rückmeldung wie z.B. OSD Info.
Keine Fehlermeldung im Log. Script sieht aus als würde es laufen.
Wenn ich das Script dann einfach neu starte geht wieder alles.
Ist das was bekannt?
-
Hallo hg6806,
@hg6806:Wenn ich das Script dann einfach neu starte geht wieder alles. `
Den Neustart kann das Script ja auch selbst erledigenIch habe bei mir folgendes am Ende hinzugefügt:
// Nachts um 4:40 neu verbinden... schedule("40 4 * * *", function() { if(getState('javascript.0.Denon.System.Verbunden').val===true) killClient(client); checkIP(getState('javascript.0.Denon.System.IP_Adresse').val); });
Tschau
Uwe
-
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