NEWS
Pioneer AVR Skript
-
Der receiver akzeptiert m.e. nur eine zeitgleiche Verbindung. Hattest du parallel vielleicht eine zweite Verbindung offen?
Gesendet von meinem MI 5s mit Tapatalk `
Ja, das konnte sein.. hatte noch Terminal offen. Jetzt gehts, Danke!
-
Hallo zusammen,
weiß jemand, ob das Script auch mit dem VSX-922 funktioniert? Ich krieg das irgendwie nicht hin. Habe das Script in den javascript adapter kopiert und die AVR-IP-Adresse angepasst. Die verschiedenen Punkte erscheinen auch (On, Off etc…) aber wie schalte ich die jetzt?
Sorry bin der absolute Noob und heut ist mein erster Tag mit IObroker...
Danke für eure Hilfe
Frank
-
Sorry, für die Frage, aber wie kann ich Christofs Script auf ioBroker installieren?
-
Hallo zusammen,
weiß jemand, ob das Script auch mit dem VSX-922 funktioniert? Ich krieg das irgendwie nicht hin. Habe das Script in den javascript adapter kopiert und die AVR-IP-Adresse angepasst. Die verschiedenen Punkte erscheinen auch (On, Off etc…) aber wie schalte ich die jetzt?
Sorry bin der absolute Noob und heut ist mein erster Tag mit IObroker...
Danke für eure Hilfe
Frank `
Die Frage ist ja schon älter aber es läuft auch auf meinem VSX-923 wichtig im Script die IP Anpassen !!!
-
Ich fürchte, dass meine bisherige Installation fehlerhaft ist. Ich habe in iobroker unter "Objekte" nun einen Systemadapter "system.adapter./stormboy/node-pioneer-avr.upload" mit dem Namen /stormboy/node-pioneer-avr.upload, dem Typ state und der Rolle "indicator.state". Es ist keine Instanz erstellt worden. Das Skript liegt auf meinem Server unter /opt/iobroker/node_modules/pioneer-avr.
Ist das so weit korrekt, und ich habe nur noch was vergessen, oder bin ich vollkommen auf dem Holzpfad?
Edit: Hab es hinbekommen! Mir werden jetzt sieben states wie z.B. inputState usw angezeigt. Vielen Dank schon mal an den Skriptersteller!
-
Hi zusammen,
ich habe sowohl das Skript als auch die pioneer_avr.js library etwas erweitert. Hintergrund ist folgender: Ich möchte über Alexa meinen Pioneer starten und automatisch eine Internet Radio Sender, den ich als Favorit hinterlegt habe, starten. Das ganze funktioniert ja über den Input H.M.G. bei Pioneer. Habe das Skript daher erweitert, dass die HMG Buttons der Fernbedienung gesendet werden können. Aktuell habe ich folgende Buttons eingebaut: Enter, Return, Up, Down, Num1
Für die Buttons werden entsprechende true/false states im ordner pioneer unter javascript.0 angelegt.
Funktioniert bei mir prima. Ich habe lediglich festgestellt, dass das Skript hin und wieder beim Connect zum receiver auf einen Fehler läuft (uncaught exception: read ECONNRESET).
Die aktualisierte pioneer_avr.js lib gibts hier: https://github.com/EbSe/node-pioneer-avr
Mein aktualisiertes Skript:
/* script needs stormboy/node-pioneer-avr package. see https://github.com/stormboy/node-pioneer-avr To install, excecute the following command in /opt/iobroker/node_modules: npm install https://github.com/stormboy/node-pioneer-avr.git */ //path to node-pioneer-avr package var avr = require("../../pioneer-avr"); //new iobroker states createState('pioneer.volumeUp'); //set to true to increase Volume createState('pioneer.volumeDown'); //set to true to decrease Volume createState('pioneer.setVolume'); //set Volume as numeric value. [0 .. 185] 1 = -80dB , 161 = 0dB, 185 = +12dB createState('pioneer.turnOn'); //set to true to turn receiver on createState('pioneer.turnOff'); //set to true to turn receiver off createState('pioneer.setInput'); //set new input as numeric value (see below) createState('pioneer.onState'); //Status On/Off createState('pioneer.inputState'); //Current Input State createState('pioneer.buttonHMGEnter'); //Enter Button in HMG createState('pioneer.buttonHMGReturn'); //Return Button in HMG createState('pioneer.buttonHMGUp'); //Up Button in HMG createState('pioneer.buttonHMGDown'); //Down Button in HMG createState('pioneer.buttonHMGPlay'); //Play Button in HMG createState('pioneer.buttonHMGStop'); //Stop Button in HMG createState('pioneer.buttonHMG1'); //'1' Button in HMG //Options var options = { port: 23, host: "192.168.0.99", log: true }; var receiver = new avr.VSX(options); //trigger on connection receiver.on("connect", function() { console.log("receiver connected"); }); //trigger on Input change receiver.on("input", function(id, name) { console.log("current input: " + id + " : " + name); setState('javascript.0.pioneer.inputState', id + " : " + name); }); //trigger on power change receiver.on("power", function(pwrstate) { console.log("Power: " + pwrstate); setState('javascript.0.pioneer.onState', pwrstate); }); //inc Vol on({ id: 'javascript.0.pioneer.volumeUp', change: "any" }, function(obj) { var value = obj.state.val; console.log("VolUp: " + value); for (var i = 0; i < value; i++) { receiver.volumeUp(); } }); //dec Vol on({ id: 'javascript.0.pioneer.volumeDown', change: "any" }, function(obj) { var value = obj.state.val; console.log("VolDown: " + value); for (var i = 0; i < value; i++) { receiver.volumeDown(); } }); //Set Volume //[0 .. 185] 1 = -80dB , 161 = 0dB, 185 = +12dB on({ id: 'javascript.0.pioneer.setVolume', change: "any" }, function(obj) { var value = obj.state.val; console.log("Volume: " + value); receiver.volume(value); }); //Turn On on({ id: 'javascript.0.pioneer.turnOn', val: true }, function(obj) { receiver.power(true); }); //Turn Off on({ id: 'javascript.0.pioneer.turnOff', val: true }, function(obj) { receiver.power(false); }); /* Input Codes dvd: "04", bd: "25", tv_sat: "05", dvr_bdr: "15", video_1: "10", video_2: "14", hdmi_1: "19", hdmi_2: "20", hdmi_3: "21", hdmi_4: "22", hdmi_5: "23", media: "26", ipod_usb: "17", xm_radio: "18", cd: "01", cdr_tape: "03", tuner: "02", phono: "00", multi_ch: "12", adapter_port: "33", sirius: "27", */ //Set Input on({ id: 'javascript.0.pioneer.setInput', change: "ne" }, function(obj) { var value = obj.state.val; console.log(value); console.log(receiver.queryInputName()); receiver.selectInput(value); }); //Press Button Enter HMG on({ id: 'javascript.0.pioneer.buttonHMGEnter', val: true }, function(obj) { console.log("Press Button HMG Enter"); receiver.buttonHMGEnter(); }); //Press Button Return HMG on({ id: 'javascript.0.pioneer.buttonHMGReturn', val: true }, function(obj) { console.log("Press Button HMG Return"); receiver.buttonHMGReturn(); }); //Press Button Play HMG on({ id: 'javascript.0.pioneer.buttonHMGPlay', val: true }, function(obj) { console.log("Press Button HMG Play"); receiver.buttonHMGPlay(); }); //Press Button Stop HMG on({ id: 'javascript.0.pioneer.buttonHMGStop', val: true }, function(obj) { console.log("Press Button HMG Stop"); receiver.buttonHMGStop(); }); //Press Button Up HMG on({ id: 'javascript.0.pioneer.buttonHMGUp', val: true }, function(obj) { console.log("Press Button HMG Up"); receiver.buttonHMGUp(); }); //Press Button Down HMG on({ id: 'javascript.0.pioneer.buttonHMGDown', val: true }, function(obj) { console.log("Press Button HMG Down"); receiver.buttonHMGDown(); }); //Press Button 1 HMG on({ id: 'javascript.0.pioneer.buttonHMG1', val: true }, function(obj) { console.log("Press Button HMG '1'"); receiver.buttonHMG1(); });
-
Hi, das ist genau das, was ich suche.
Im moment steuere ich meine VSX921 noch über kleine scripts mit Telnet befehlen, die ich über IOBroker ausführen lassen. Aber ich habe es nicht geschafft auf diese weise effizient über Alexa lauter und leiser zu machen. Das hier sollte das Problem doch lösen, oder?
Ich bin aber noch ganz neu in der Materie und hab es bis jetzt nur geschafft das alte Script über
npm install https://github.com/stormboy/node-pioneer-avr.git
in den node_modules ordner vom IO zu installieren. :oops:
Was muss ich jetzt tun, um die neuen Scripts aus diesem Thread und deren outcomes in IOBroker zu sehen und zu nutzen?
Danke und sorry für meine Unwissenheit :mrgreen:
-
Wenn dus ganz einfach machen willst lad dir das aktualisierte js file von meinem GitHub runter und kopiere es nach /opt/iobroker/npm_modules/pioneer_avr. Dann musst du den JavaScript Adapter neustarten. Das andere Skript einfach in ioBroker anlegen und starten, es werden dann die states unter javascript.0.pioneer angelegt.
Gesendet von iPhone mit Tapatalk
-
Vielleicht hilfreich für all diejenigen, die wir ich erst jetzt (nach 1 Jahr oder länger) auf diesen Thread gestoßen sind und das Zeugs installieren wollen.
Bei mir ging das so (Debian Linux):
erst einmal auf ner Konsole git installieren:
sudo apt-get install git-all
Jetzt von stormboy:
cd /opt/iobroker/node_modules npm install https://github.com/stormboy/node-pioneer-avr.git
jetzt das Update hinterher - weiß nicht ob mans braucht:
npm install https://github.com/EbSe/node-pioneer-avr
Jetzt den Javascript Adapter im ioBroker.admin einmal neu starten.
Dann unter Skripte ein neues Javascript mit dem Namen "pioneer" anlegen und die letzte Version vom 23.11.2017 (siehe oben) dort reinkopieren.
Dort in Zeile 31 die IP-Adresse Eures Pioneer AV Receivers reinhämmern.
Und dann das Script aktivieren.
-
schade, bei meinem vsx510 (slim) scheint es nicht zu funktionieren
host.debian 2018-01-23 23:20:06.004 error instance system.adapter.javascript.0 terminated with code 0 (OK) Caught 2018-01-23 23:20:06.004 error by controller[0]: port: 23 } Caught 2018-01-23 23:20:06.004 error by controller[0]: address: '192.168.188.25', Caught 2018-01-23 23:20:06.004 error by controller[0]: syscall: 'connect', Caught 2018-01-23 23:20:06.004 error by controller[0]: errno: 'ECONNREFUSED', Caught 2018-01-23 23:20:06.004 error by controller[0]: code: 'ECONNREFUSED', Caught 2018-01-23 23:20:06.004 error by controller[0]: at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14) Caught 2018-01-23 23:20:06.004 error by controller[0]: at exports._exceptionWithHostPort (util.js:1043:20) Caught 2018-01-23 23:20:06.004 error by controller[0]: at Object.exports._errnoException (util.js:1020:11) Caught 2018-01-23 23:20:06.003 error by controller[0]: { Error: connect ECONNREFUSED 192.168.188.25:23 javascript.0 2018-01-23 23:20:05.964 info terminating javascript.0 2018-01-23 23:20:05.909 error at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14) javascript.0 2018-01-23 23:20:05.909 error at exports._exceptionWithHostPort (util.js:1043:20) javascript.0 2018-01-23 23:20:05.909 error at Object.exports._errnoException (util.js:1020:11) javascript.0 2018-01-23 23:20:05.909 error Error: connect ECONNREFUSED 192.168.188.25:23 javascript.0 2018-01-23 23:20:05.909 error uncaught exception: connect ECONNREFUSED 192.168.188.25:23
-
Vielleicht hilfreich für all diejenigen, die wir ich erst jetzt (nach 1 Jahr oder länger) auf diesen Thread gestoßen sind und das Zeugs installieren wollen.
Bei mir ging das so (Debian Linux):
erst einmal auf ner Konsole git installieren:
sudo apt-get install git-all
Jetzt von stormboy:
cd /opt/iobroker/node_modules npm install https://github.com/stormboy/node-pioneer-avr.git
jetzt das Update hinterher - weiß nicht ob mans braucht:
npm install https://github.com/EbSe/node-pioneer-avr
Jetzt den Javascript Adapter im ioBroker.admin einmal neu starten.
Dann unter Skripte ein neues Javascript mit dem Namen "pioneer" anlegen und die letzte Version vom 23.11.2017 (siehe oben) dort reinkopieren.
Dort in Zeile 31 die IP-Adresse Eures Pioneer AV Receivers reinhämmern.
Und dann das Script aktivieren. `
ich greife diesen Thread mal auf weil ich mit dem Thema ein Problem habe und nicht weiter weiß.
das script habe ich runter geladen und es ist soweit auch installiert unter
/opt/iobroker/node_modules/pioneer-avr/
die installation an sich lief durch aber folgende warnung habe ich erst mal ignoriert
[usr1@iobroker01 node_modules]$ sudo npm install https://github.com/stormboy/ node-pioneer-avr.git [sudo] Passwort für usr1: iobroker@1.0.0 /opt/iobroker └─┬ pioneer-avr@0.0.1 invalid (git+https://github.com/stormboy/node-pioneer-avr.git#746dfaa1b6646aee803e5cadedebe92b3348a81a) └── upnp-controlpoint@0.0.2 (git://github.com/stormboy/node-upnp-controlpoint.git#446dd1bfda5e40db90f692d0f041f83dcbf47e29) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/jszip/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/tar.gz/package.json'
im iobroker habe ich das script angelegt und die ip adresse angepasst
var options = { port: 23, host: "192.168.0.216", log: true };
Im log sehe ich dann auch:
javascript.0 2018-04-12 22:51:47.296 info script.js.Eigene-Scripte.Kino.pioneer: current input: 05 : TV/SAT javascript.0 2018-04-12 22:51:33.480 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 27 : SIRIUS javascript.0 2018-04-12 22:51:33.394 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 33 : ADAPTER PORT javascript.0 2018-04-12 22:51:33.281 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 12 : MULTI CH IN javascript.0 2018-04-12 22:51:33.187 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 00 : PHONO javascript.0 2018-04-12 22:51:33.080 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 02 : TUNER javascript.0 2018-04-12 22:51:32.980 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 03 : CD-R/TAPE javascript.0 2018-04-12 22:51:32.883 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 01 : CD javascript.0 2018-04-12 22:51:32.780 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 18 : XM RADIO javascript.0 2018-04-12 22:51:32.688 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 17 : iPod/USB javascript.0 2018-04-12 22:51:32.581 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 26 : H.M.G. javascript.0 2018-04-12 22:51:32.481 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 23 : HDMI 5 javascript.0 2018-04-12 22:51:32.393 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 22 : HDMI 4 javascript.0 2018-04-12 22:51:32.287 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 21 : HDMI 3 javascript.0 2018-04-12 22:51:32.180 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 20 : HDMI 2 javascript.0 2018-04-12 22:51:32.080 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 19 : HDMI 1 javascript.0 2018-04-12 22:51:31.980 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 14 : VIDEO 2 javascript.0 2018-04-12 22:51:31.882 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 10 : VIDEO 1 javascript.0 2018-04-12 22:51:31.787 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 15 : DVR/BDR javascript.0 2018-04-12 22:51:31.687 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 05 : TV/SAT javascript.0 2018-04-12 22:51:31.579 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 25 : BD javascript.0 2018-04-12 22:51:31.480 info script.js.Eigene-Scripte.Kino.pioneer: got input name: 04 : DVD javascript.0 2018-04-12 22:51:31.402 info script.js.Eigene-Scripte.Kino.pioneer: current input: 05 : undefined javascript.0 2018-04-12 22:51:31.360 info script.js.Eigene-Scripte.Kino.pioneer: receiver connected javascript.0 2018-04-12 22:51:31.205 info script.js.Eigene-Scripte.Kino.pioneer: registered 0 subscriptions and 0 schedules javascript.0 2018-04-12 22:51:31.203 info Start javascript script.js.Eigene-Scripte.Kino.pioneer
Ich weiß aber nun nicht wie ich weiter machen soll
wie kann ich jetzt damit weiter arbeiten. also im endeffekt befehle absetzen oder wie auch immer?
-
noch eine Anmerkung:
Starte ich ein testscript
[usr1@iobroker01 examples]$ node test.js got connection. got data: R receiver connected got power: false got input name: 04 : DVD got input name: 25 : BD got input name: 05 : TV/SAT got input name: 15 : DVR/BDR got input name: 10 : VIDEO 1 got input name: 14 : VIDEO 2 got input name: 19 : HDMI 1 got input name: 20 : HDMI 2 got input name: 21 : HDMI 3 turning power: true got input name: 22 : HDMI 4 got input name: 00 : PHONO got power: true got listening mode: 0e01 LM0e01 FL022020202020445644202020202020 FN04 VTA011111111111111111000000000000 got input name: 12 : MULTI CH IN setting volume db: 0 setting volume level: 161 got input name: 33 : ADAPTER PORT got input name: 27 : SIRIUS setting volume db: -35 setting volume level: 091 got listening mode: 0701 got volume: -35dB (091) got listening mode: 0701 got input: 05 : TV/SAT current input: 05 : TV/SAT got data: VTA011111111111111111000000000000 got listening mode: 0401 turning power: false got power: false got power: false turning power: true got power: true got listening mode: 0401 got listening mode: 0401 got input: 05 : TV/SAT current input: 05 : TV/SAT got data: VTA011111111111111111000000000000
macht er auf jeden fall was
:oops:
-
Bei meinem VSX 922 ist der Port 8102 .
Aber mal eine Frage : wie setzte ich die Listenings Befehle in IOB und gibt es eine Möglichkeit die Display Infos in IOB sichtbar zu machen ?
Und da ich auch gern mal den Tuner bzw. Radio höre - kann ich ihrgendwie die Tasten 0 - 9 belegen ?
Mfg. schroeder1
-
Danke, das script funktioniert bei mir - vielen, vielen Dank!
Die Lautstärke stelle ich aber mit dem wirklichen Wert ein, oder? Wenn ich -30 angebe, bekomme ich auch -30dB am Verstärker!?
Wie fix sind die input-codes? kann man das ändern?
Grüße!
So, ich habe das Script nun nochmal etwas erweitert.
VolumeUp und VolumeDown sind nun numerisch. Sprich es kann ein beliebiger Wert übergeben werden. Das entspricht dann der Anzahl an Schritten um die die Lautstärke erhöht, bzw. reduziert wird.
Weiterhin gibt es nun den State "setVolume". Hier kann (indirekt) der db Wert angepasst werden. Allerdings muss man ein bissl rechnen, da negative Zahlen nicht funktionieren. Das hängt leider an der Pioneer Schnittstelle.
Die Range beginnt bei 1 und endet bei 185. Sprich, es gilt: 1 = -80dB , 161 = 0dB und 185 = +12dB. `
-
Es gibt einen Mute-Befehl! Damit kann man mute ein oder ausschalten.
Wie kann ich aber den Zustand sehen ob Mute ein oder aus ist um es entsprechend aus oder ein zu schalten?
-
Hi zusammen,
ich habe mich mal an einem Adapter getestet und aus dem vorgegebenen Code einen Pioneer Adapter bebaut.
Falls jemand Interesse hat, der kann ihn gerne mal testen. Ich habe ihn unter https://github.com/hash99/ioBroker.pioneer.git eingestellt.
Aber ich bin definitiv noch nicht so erfahren, Adapter zu bauen. Also erwartet nicht zu viel.
-
Hallo,
danke für deine Arbeit!
kannst du den Adapter anpassen, dass man den Port auch wählen kann? Manche reagieren nicht auf 23, sondern auf 8102?
Oder hab ich was übersehen?
Gruß
-
schade, bei meinem vsx510 (slim) scheint es nicht zu funktionieren `
Beim VSX510 ist der Port auch 8102, als Script läuft das ganze auch bei mir, man kann nur keinen festen Lautstärke wert übergeben. Glaube das geht aber bei einigen Modellen nicht.
Gruß
-
Hi, ich schau mal, dass ich den Port die nächsten Tage einbaue.
-
Hi,
vielen Dank Beb0e für Deine Unterstützung, merge ist erfolgt.
–->
Also nun funktioniert auch die Port-Zuweisung!