NEWS
[Vorlage] Denon Skript
-
Habe im Skript in der letzten Zeile folgende Änderungen vorgenommen:
Original: schedule("*/15 * * * * *", function() { update2(1000);});
Geändert in : schedule("*/15 * * * * *", function() { update2(100);});
Es bezieht sich auf die folgende Funktion:
//Daten anfordern–------------------------------------------------------------------
function update2(Time){
console.log('Update2 Start');
Dadurch sind die Einträge im Log reduziert.
-
Hallo zusammen,
bin ganz neu hier und möchte mich erst einmal bei allen bedanken, die sich hier so viel Mühe machen und auch Newbies es möglich machen, mit iobroker zu arbeiten.
Habe das Denon-Skript zum laufen gebracht und selbst über Alexa ging die Steuerung (An/Aus; Lautstärke etc.) meines Denon 4520.
Ich nutze die DeRemote-App auf dem Iphone und da mehrere Telnet-Verbindungen nicht funktionieren, ich aber auf die App nicht verzichten möchte (u.a. wegen Audyssey-Einstellungen) möchte ich Fragen, ob ihr eine Lösung habt, wie ich den AVR über iobroker an- und ausschalten kann (ggf. noch Lautstärke regeln), aber weiterhin mit der App alles weitere steuern kann. Ginge das, über einen http-Befehl, so dass iobroker nicht über Telnet die Verbindung aufbaut?
Die Denon-App funzt ja auch zusammen mit iobroker, aber hat nicht die komfortablen Steuerungsmöglichkeiten wie die DeRemote-App. Deshalb mein gedanke, das alles umzudrehen, d.h. iobroker steuert über http und DeRemote über Telnet.
Viele Grüße
Marco
-
Widget jqui - icon http get
Status Abfragen http://192.168.1.12/goform/formMainZone_MainZoneXml.xml http://192.168.1.12/goform/formMainZone_MainZoneXmlStatus.xml http://192.168.1.12/goform/formMainZone_MainZoneXmlStatusLite.xml http://192.168.1.12/goform/formNetAudio_StatusXml.xml http://192.168.1.12/goform/formNetAudio_StatusXml.xml?ZoneName=MAIN+ZONE http://192.168.1.12/goform/formZone2_Zone2XmlStatus.xml http://192.168.1.12/goform/formZone2_Zone2XmlStatusLite.xml !!! geht nicht !!! http://192.168.1.12/goform/formZone2_Zone2Xml.xml http://192.168.1.12/goform/Deviceinfo.xml Lautstärke Main Zone http://192.168.1.12/goform/formiPhoneAppMute.xml?1+MuteOn http://192.168.1.12/goform/formiPhoneAppMute.xml?1+MuteOff http://192.168.1.12/goform/formiPhoneAppVolume.xml?1+ <db wert/meist/negativ/z.b./-30="">Zone 2 http://192.168.1.12/goform/formiPhoneAppMute.xml?2+MuteOn http://192.168.1.12/goform/formiPhoneAppMute.xml?2+MuteOff http://192.168.1.12/goform/formiPhoneAppVolume.xml?2+- <db wert/meist/negativ/z.b./-30="">http://192.168.1.12/goform/formiPhoneAppVolume.xml?2+-10 Power zustand Main Zone http://192.168.1.12/goform/formiPhoneAppPower.xml?1+PowerOn http://192.168.1.12/goform/formiPhoneAppPower.xml?1+PowerStandby Zone 2 http://192.168.1.12/goform/formiPhoneAppPower.xml?2+PowerOn http://192.168.1.12/goform/formiPhoneAppPower.xml?2+PowerStandby Netzwerk http://192.168.1.12/goform/formiPhoneAppNetAudioCommand.xml?CurLeft http://192.168.1.12/goform/formiPhoneAppNetAudioCommand.xml?CurRight http://192.168.1.12/goform/formiPhoneAppNetAudioCommand.xml?CurDown http://192.168.1.12/goform/formiPhoneAppNetAudioCommand.xml?CurUp http://openremote.org/display/docs/OpenRemote+2.0+How+To+-+Denon+AV+Receivers Cover Bilder beim Abspielen http://192.168.1.12/NetAudio/art.asp-jpg http://192.168.1.12/img/album%20art_S.png Allgemein Befehle laut Telnet Dokumentation http://assets.denoneu.com/DocumentMaster/DE/AVRX4000_PROTOCOL(10.3.0)_V01.pdf http://192.168.1.12/goform/formiPhoneAppDirect.xml?MVUP http://192.168.1.12/goform/formiPhoneAppDirect.xml?MVDOWN http://192.168.1.12/goform/formiPhoneAppDirect.xml?SITV http://192.168.1.12/goform/formiPhoneAppDirect.xml?SIGAME http://192.168.1.12/goform/formiPhoneAppDirect.xml?SIIRADIO http://192.168.1.12/goform/formiPhoneAppDirect.xml?SIFAVORITES http://192.168.1.12/goform/formiPhoneAppDirect.xml?ZMFAVORITE1</db></db>
-
Wenn du nur aus vis steuern willst, ist das Widget von akamia am einfachsten. Willst du den Denon aber vielleicht automatisch bedienen klappt es nur über ein JavaScript oder in der CCU.
In der CCU mit CuxD geht es über den Befehl:
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl http://192.168.178.25/goform/formiPhoneAppDirect.xml?{Z2FAVORITES}");
Als JS würde ich dir das hier empfehlen (meins :lol:) http://forum.iobroker.net/viewtopic.php … 327#p17186 die Volume Werte werden direkt aus dem State übernommen. Die Kommandos werden per Widget gesetzt. Wenn Alexa also Lautstärke auf 45 setzen kann, würde die 45 an den AVR gesendet werden. Ich denke mal die Kommandos als Text String wird nicht klappen, da müsste man etwas umschreiben.
Grüße
Brati
-
Moin!
Leider hatte ich auch nach dem Aufpsielen eines Backups wieder das Problem, dass die IP Adresse ungültig ist.
Also habe ich
CreateState('javascript.0.Denon.System.IP_Adresse', '192.168.178.20',{type: "string", role: "AVR IP Adresse"});
auskommentiert und die IP Adresse im Datenpunkt eingetragen.
Jetzt gibt es die Fehlermeldung "Error: connect ECONNREFUSED 192.168.178.20:23"
Kann jemand helfen?
Danke und Grüße
-
Hallo zusammen,
bin ganz neu hier und möchte mich erst einmal bei allen bedanken, die sich hier so viel Mühe machen und auch Newbies es möglich machen, mit iobroker zu arbeiten.
Habe das Denon-Skript zum laufen gebracht und selbst über Alexa ging die Steuerung (An/Aus; Lautstärke etc.) meines Denon 4520.
Ich nutze die DeRemote-App auf dem Iphone und da mehrere Telnet-Verbindungen nicht funktionieren, ich aber auf die App nicht verzichten möchte (u.a. wegen Audyssey-Einstellungen) möchte ich Fragen, ob ihr eine Lösung habt, wie ich den AVR über iobroker an- und ausschalten kann (ggf. noch Lautstärke regeln), aber weiterhin mit der App alles weitere steuern kann. Ginge das, über einen http-Befehl, so dass iobroker nicht über Telnet die Verbindung aufbaut?
Die Denon-App funzt ja auch zusammen mit iobroker, aber hat nicht die komfortablen Steuerungsmöglichkeiten wie die DeRemote-App. Deshalb mein gedanke, das alles umzudrehen, d.h. iobroker steuert über http und DeRemote über Telnet.
Viele Grüße
Marco `
also Lautstärke regeln habe ich bei meinem 4520 so. (über Alexa)
Ich stelle hier mal noch einen Link mit rein (ich hoffe das ist okay, sonst bitte löschen), da gibt es einiges an http Befehlen.
http://blue-pc.net/2013/12/28/denon-av- … p-steuern/
![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201801 ... 9e77ec.jpg">https://uploads.tapatalk-cdn.com/20180111/090351703fe16faf29b8072a9c9e77ec.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201801 ... 98816b.jpg">https://uploads.tapatalk-cdn.com/20180111/c30da281d675040dfc2812789698816b.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201801 ... 32ef32.jpg">https://uploads.tapatalk-cdn.com/20180111/ae36d464d48d3452ea83fc9e8732ef32.jpg</link_text>" />~~~~ -
Hallo dslraser und brati,
erst einmal vielen Dank für die schnellen Antworten.
Ich bin in Java absoluter Newbie und völlig blank (bin gerade einmal auf "Hallo Welt"-Niveau :roll: )
Schaffe es nicht mit Euren Vorgaben ein einfaches Power-on/Power-off-Script, das über http den befehl sendet, zu erstellen.
Könnt ihr das für Dummies so erklären, dass ich damit erst einmal anfangen kann? Denn bei den Lautstärke-Skripten wird es mit den Werten ja schon wieder komplizierter, als bei schlichtem An/Aus.
Mein Versuch ein solches Skript zu erstellen endete damit, dass das Skript in einer Endlosschleife durchlief und ich den raspy rebooten musste ….
Über vis klappt es, wenn ich die Schalter betätige, aber ich will ja das ganze nicht über vis steuern, sondern lediglich über Alexa mit dem Kommando "Verstärker an" und "Verstärker aus" den AVR steuern, um dann mit DeRemote die weitere Bedienung vorzunehmen. Die Befehle sollen dann in meinen Szenen" Kino an" (Beamer springt an, Leinwand fährt hinunter, Licht wird gedimmt bzw. ausgeschaltet, etc.) integriert werden, so dass auch der AVR anspringt.
Die Kür ist danach sicherlich noch weitere Sprachbefehle (wie z. B. Lautstärke) hinzuzufügen. Aber so weit bin ich noch lange nicht, zumal ich mit iobroker erst angefangen habe. Java ist zur Zeit noch zu weit weg, zumal ich kein Techniker bin.
Die für Euch wohl sehr einfachen Skripte für die Lautstärke überfordern mich bereits, da ich bisher nur mit an/aus hantiert habe.
Mein Vorgehen war bisher:
1. Skript erstellen.
2. Dann in über icloud das Objekt mit "Smart-Name" versehen.
3. Dann mit Kommando "An" oder "Aus" steuern
@ dslraiser: Das Bild mit dem Script lässt sich leider nicht vergrößern, so dass ich es nicht lesen kann. Sonst hätte och es einmal abgetippt und selbst versucht bzw. nochmal versucht anhand dieses Beispiels ein An/Aus-Skript zu erstellen. Bitte stell es doch noch mals so ins Forum, dass man es vergrößert betrachten kann. Danke vorab.
Sorry, dass ich als absoluter Anfänger mit Eurer Hilfe versuche die ersten Erfolge zu erzielen. Aber viele Foren-Diskussionen verstehe ich schon vom Grunde her nicht, da viele Fachbegriffe fallen, die als Newbie noch unverständlich sind.
Viele Grüße
-
ich war heute morgen nur am Handy, hier das Script für die Lautstärke
! ` > createState('Denon.Denon_Lautstärke', {
type: 'number',
name:'Denon-Lautstärke',
min: 0,
max: 100,
def: 50,
read: true,
write: true,
role: 'level.volume'});
var http = "http://192.168.180.6/goform/formiPhoneAppDirect.xml?";
on({id: "javascript.0.Denon.Denon_Lautstärke", change: "any"},
function (obj) {
var x = obj.state.val;
if (x === 0) {
require("request")(http + 'MUON'); // Bei Befehl "aus" wird Vol. auf Mute gesetzt.
console.log("Lautstärke AVR-4520 auf -MUTE- gesetzt.");
} else {
require("request")(http + 'MV' + x);
console.log("Lautstärke AVR-4520 auf " + x + " gesetzt.");
}}); `
-
@dslraiser: DANKE !!!!
Es klappt mit der Lautstärke!! und ich kann noch weiter über DeRemote steuern!
Wie muss ich das Skript verändern um jetzt noch ein- und ausschalten zu können?
Viele Grüße
-
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?