NEWS
Denon Adapter
-
Hallo Robert,
bei Marantz habe ich das Widget "JQUI-Icon HTTP Get" genommen,
Hier folgende Url eingetragen:
http://IP/MainZone/index.put.asp?cmd0=P … VolumeBtn/
Bei der IP trägst du die IP des Receivers ein.
Weitere Befehle kannst du dir mit dem oben angegebenen Link ansehen.
Funktioniert einwandfrei.
Gruß
Holger
Sorry nicht komplett gelesen. Ist natürlich mit VIS realisiert.
-
Hab meinen Beitrag von Mittags gelöscht, falls ihn jemand gelesen hat.
Hab jetzt die Lösung um die Lautstärke über einen Slider zu steuern:
createState('DenonMainV', 25); // Main Volume createState('DenonZoneV', 35); // Zone 2 Volume createState('DenonCommand', 0); // Sontige Commandos var DenonLink = 'http://19x.16x.178.xx/goform/formiPhoneAppDirect.xml?'; // IP des AVR on({id: "javascript.0.DenonMainV", valNe: true}, function(obj) { var Volume = getState("javascript.0.DenonMainV").val; // Wert aus Slider var url = DenonLink +"MV" + Volume; exec('wget -q -O /dev/null ' + url); // log("URL Aufruf: " + url); // dient nur zur Kontrolle im Log bei Bedarf }); on({id: "javascript.0.DenonZoneV", valNe: true}, function(obj) { var Volume = getState("javascript.0.DenonZoneV").val; // Wert aus Slider var url = DenonLink +"Z2" + Volume; exec('wget -q -O /dev/null ' + url); // log("URL Aufruf: " + url); // dient nur zur Kontrolle im Log bei Bedarf }); on({id: "javascript.0.DenonCommand", valNe: true}, function(obj) { var Command = getState("javascript.0.DenonCommand").val; // Commando übernehmen var url = DenonLink + Command; exec('wget -q -O /dev/null ' + url); log("URL Aufruf: " + url); // dient nur zur Kontrolle im Log bei Bedarf });
Und dann einfach den State "javascript.0.DenonMainV" über den Slider steuern. So kann man sich den aktuell gewählten Wert auch gleich anzeigen lassen. Welcher Wert beim Einschalten gesetzt ist, kann ich noch nicht auslesen…
Update vom 05.01.15. 21:00 Uhr
-
Main und Zone2 funktionieren
-
beliebige Commandos lassen sich über String übertragen
-
Screenshots
Die beliebigen Commandos einfach durch setzen des States übertragen, z.B.
Mainzone Zone2
Power an PWON Z2ON
Power off PWSTANDBY Z2OFF
Volume Set MV25 (0-80) Z225
Sleep Main SLP10 (1-120) Z2SLP10
Grüße
Brati
-
-
Hi Brati,
vielleicht ist das eine blöde Frage, aber wie ist denn der Inhalt deines Skriptes "javascript.0.DenonMainV"?
Bzw. hast du eventuell eine Antwort auf meine Frage mit der Lautstärkesteuerung per Wandtaster? :roll:
Gruß, Rob
-
Gibt keine blöden Fragen ;). Ich würde das direkt in der CCU per Script und MVUP lösen. Kurzer Druck einmal und langer Druck z. B 3x oder fester Wert.
Mein State steht immer auf dem zuletzt gewählten. Eingeschaltet wird der Avr immer mit 25,von daher habe ich mir den Wert noch so abgelegt und muss ihn händisch setzen. Ist mein erstes Script.
Grüße Brati
Gesendet via Tapatalk.
-
Oh je, du scheinst nicht zu ahnen, wie ahnungslos ich bin :lol:
aber trotzdem schonmal Danke für die Antwort.
Ich habe überhaupt keine Ahnung, wie ein solches Script auszusehen hätte, geschweige denn wie ich die Verknüpfung zum Denon hinbekomme.
Hätte gedacht ein Script in iobroker zu erstellen, dort als ID die IP des Denons einzugeben und entsprechende Befehle zur Lautstärkeregelung zu geben… aber auch da fehlt mir noch das nötige Knowhow.
Wäre nett, wenn du mich da auf die richtige Spur bringen könntest.
Gruß und Danke, Rob
-
Hast du CuxD für System Exec auf der CCU, dann poste ich den Rest abends.
Gesendet von meinem SM-T530 mit Tapatalk
9054_lupus-scharf.jpg
9054_lupus-unscharf.jpg -
Ja, CuXD habe ich drauf. Super, Danke!
-
Ja, CuXD habe ich drauf. Super, Danke! `
So, ist eh zu kalt zum joggen :). Ist zwar eigentlich ein Thema fürs Homematic Forum, aber ich erkläre es mal am Befehl Volume + (Main Zone).
Das könntest du im Browser über:
http://19x.16x.178.xx/goform/formiPhoneAppDirect.xml?MVUP
auslösen (xx natürlich durch deine IP ersetzen).
Das Programm in der CCU sieht dann so aus:
Wenn -> Taster X kurz
Dann -> Script
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl http://19x.16x.178.xx/goform/formiPhoneAppDirect.xml?{MVUP}");
Für andere Befehle einfach den String in {} ändern.
Willst du 3x lauter machen, kannst du auch {MVUP,MVUP,MVUP} senden. Wenn es gut läuft kommen so bis zu 5 Befehle an. Will man aber z.B. in den Favoriten navigieren, schalte ich erst die Favoriten und dann 6s später das Script zum hoch/ runter scrollen und Enter drücken.
Ich habe mir diese Befehle mal aus der Doku gesucht:
Mainzone Zone2 Power an PWON Z2ON Power off PWSTANDBY Z2OFF Volume UP MVUP Z2UP Volume Down MVDOWN Z2DOWN Volume Set MV25 (0-80) Z225 Sleep Main SLP10 (1-120) Z2SLP10 Sleep Z2 WII Konsole SIDVD ZMDVD T-Home SISAT/CBL BD SIBD MediaPlayer SIMPLAY Favoriten SIFAVORITES Z2FAVORITES InternetR SIIRP USB SIUSB/IPOD Favorite1-3 ZMFAVORITE1 Z2FAVORITE1 Cursor UP NS90 DOWN NS91 Left NS92 Right NS93 Enter NS94
Die Doku hängt als PDF dran, kann aber auch bei Denon geladen werden.
Viel Erfolg und hier noch der Link zum HM Forum. Auf jeden Fall sollte das über die Taster funzen.
http://homematic-forum.de/forum/viewtop … 50#p169770
Grüße
Brati
-
Vielen Dank Brati, klappt wunderbar!
Hatte CuxD anfangs nur installiert ohne es überhaupt zu benutzen und dann links liegen gelassen, weil ich iobroker entdeckt hatte…
Nochmals vielen Dank für deinen kleinen Exkurs!
Gruß, Rob
-
Hallo, ich habe Dein Skript auf die Bedürfnisse meines Denon X4000 zur Regelung der Lautstärke umgeschrieben. Mehr brauche ich derzeit zur Steuerung des Gerätes nicht. Der URL-Befehl wird richtig in die Variable geschrieben, allerdings kommt der Http-Befehl nicht am Receiver an. Was mache ich falsch?
Gruß Michael
-
Dann müsstest du mal dein Script posten. Der Link wird aus dem Wert und Befehl zusammengefasst. Du kannst ihn ja im Log mal ausgeben lassen. Ich kann mir das aber erst Montag anschauen…
Hab sowieso in letzter Zeit viel rumprobiert und kann jetzt den Power Status, Volume, Quelle und Quellinfos (Artist, Song, Sender) auslesen.
Grüße Brati
von unterwegs gesendet.
-
-
Der Link wird falsch zusammengestellt. Nimm mal 1+ weg und der Wert ist bei mir positiv.
von unterwegs gesendet.
-
Wenn ich aber diesen link in den Browser kopiere dann funktioniert es. M.E. kann dann der Link nicht falsch sein, oder?
-
Wenn ich aber diesen link in den Browser kopiere dann funktioniert es. M.E. kann dann der Link nicht falsch sein, oder? `
Hmm, muss ich mir zu Hause mal anschauen, was im Browser klappt, sollte auch im Script klappen.von unterwegs gesendet.
-
Ich hänge mich mal hier in den Thread rein, weil ich bisher mit den Anleitungen nicht wirklich weiter komme. Wenn ich mir die jeweiligen Anleitungen zum vis-Adapter durchlese bekomme ich irgendwie lauter "nützliche" CSS-Anleitungen, funktional sieht es aber eher mau aus. Was bringt mir ein formschöner Button, bei dem ich die Funktion nicht zum Laufen kriege?
Deshalb hier die Frage. Auch ich versuche einen Denon AVR 2000x in meine Smarthomesteuerung via IObroker zu integrieren. Eigentlich ist für mich der vis-Adapter sekundär, da ich nur über Alexa steuern will, aber das Lesen einiger Threads hier im Forum hat mir suggeriert, dass es eine "einfachere" Herangehensweise wäre die Funktionalitäten in einem Widget im Vis-Adapter zu "bauen" und dann dieses Smarthomegerät über den Cloud-Adapter für Alexa zugänglich zu machen. Ist das so korrekt?
Hier beginnen aber meine Probleme, ich habe derzeit keinerlei ahnung wo ich die hier in diesem Thread beschriebenen Scripte einfügen könnte und diese schlussendlich ausführen lassen kann. Die Protokollliste von Denon habe ich, und ich verstehe auch mehr oder weniger die hier gecodeten Befehle, aber wo ich diese im IoBroker einsetzen und Alexa zugänglich machen kann, da hapert es.
Kann mir irgendwer hier ggf. einen Tipp in die richtige Richtung geben?
-
Von Alexa hab ich keine Ahnung und verweigere mich dem Teil auch :).
Die Scripte werden im Javascript Adapter eingefügt und müssen dort laufen. Sie reagieren meist auf die Änderung eines State. Also im VIS wird per Druck auf das Widget ein State geändert und daraufhin führt das JavaScript eine Funktion aus.
Drücke ich z.B. auf Lautstärke Plus wird der State "javascript.0.Denon.MainV" um eins erhöht. Daraufhin läuft im Script dieser Teil:
on({id: "javascript.0.DenonMainV", valNe: true}, function(obj) { var Volume = getState("javascript.0.DenonMainV").val; // Wert aus Slider var url = DenonLink +"MV" + Volume; exec('wget -q -O /dev/null ' + url); // log("URL Aufruf: " + url); // dient nur zur Kontrolle im Log bei Bedarf });
Wenn du über Alexa auch einen State ändern kannst, dann reagiert das Script auch darauf. Wie das geht weiss ich aber nicht.
Ansonsten gibt es noch ein neueres DENON Script von Lucky hier im Forum.
http://forum.iobroker.net/viewtopic.php … =40#p82336
Das liest auch den Status aus. Ich habe das etwas anders gebastelt.
Grüße
Brati
-
Hallo Brati,
vielen Dank erstmal.
Ja, das Skript von Lucky habe ich zwischenzeitlich auch entdeckt. Leider wirft das Ding bei mir immer einen IP-Fehler, den auch Der_Paul im selben Thread hatte und darauf bisher keine Lösung gefunden wurde.
Wenn ich also einen Button "on" im Vis habe, dann muss ich einfach den Javascriptstate in den Eigenschaften hinterlegen und dann sollte das auf Klick reagieren, hab ich das richtig verstanden?
-
Die IP muss wohl im State geändert werden (unter Objekte) oder du machst es gleich im Script, dann musst du den erstellten State aber noch mal in den Objekten löschen und danach das Script neustarten.
Für vis kommt es drauf an, was das Script benötigt. Volume+ ist bei mir das "increase Widget" und erhöht den State, Mute dagegen schreibt den String "MUON" in den "command State". Es gibt auch irgendwo eine Beispielview. Importiere diese auf eine Testview bei dir und zieh dir raus was du brauchst. Musst ja das Rad nicht neu erfinden. Wenn ich es richtig sehe, musst du Lucky´s Script den State einfach auf "true" schalten.
Grüße
Brati
-
Hm, hab jetzt sowohl Lucky's als auch Dein Skript im javascript-Adapter eingefügt.
Beides kreiert State-Objekte, allerdings bei Lucky wie gehabt mit dem IP-Fehler. Habe nun auch das Objekt angepasst (IP) ohne Erfolg. Bei Deinem Skript hab ich's direkt gemacht - keine Fehlermeldung. Allerdings habe ich auch keinerlei Reaktion vom Denon wenn ich den Slider analog zu Deinen Screenshots implementiert habe. Vielleicht ist das auch meinem mangeldem Verständnis der vis-Views. Wenn ich nämlich diese Punkte eingepflegt habe, dann führt ein Klick auf einen Button oder in diesem Fall Slider nämlich meist erstmal in den Eigenschafts-Bearbeitungsmodus, d.h. es kann sein, dass der Button nicht "scharf" ist.
Auf der anderen Seite erfolgt auch im Bereich der Objekte keinerlei Reaktion beim Denon, wenn ich bspw. den Power-State von false auf True setze… da passiert gar nix.
Bin relativ ratlos.