Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Pioneer AVR Skript

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Pioneer AVR Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      czahn last edited by

      Hallo in die Runde,

      falls es da draußen noch ein paar Pioneer Receiver Besitzer gibt.

      Basierend auf diesem node.js Package https://github.com/stormboy/node-pioneer-avr,

      habe ich mir folgendes Skript in iobroker gebaut, womit ich meinen VSX-921 Receiver von Pioneer steuern kann.

      Das Skript legt in iobroker versch. States an, worüber der Receiver gesteuert und Status ausgelesen werden können.

      Für Feedback bin ich offen 😉

      Grüße,

      Christof

      ` > /*

      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.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

      //Options

      var options = {

      port: 23,

      host: "192.168.0.19",

      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', val: true}, function (obj) {

      receiver.volumeUp();

      });

      //dec Vol

      on({id: 'javascript.0.pioneer.volumeDown', val: true}, function (obj) {

      receiver.volumeDown();

      });

      //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);

      }); `

      S 1 Reply Last reply Reply Quote 0
      • Alex1808
        Alex1808 last edited by

        @czahn:

        Hallo in die Runde,

        falls es da draußen noch ein paar Pioneer Receiver Besitzer gibt.

        Basierend auf diesem node.js Package https://github.com/stormboy/node-pioneer-avr,

        habe ich mir folgendes Skript in iobroker gebaut, womit ich meinen VSX-921 Receiver von Pioneer steuern kann.

        Das Skript legt in iobroker versch. States an, worüber der Receiver gesteuert und Status ausgelesen werden können.

        Für Feedback bin ich offen 😉

        Grüße,

        Christof

        ! ` > /*

        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.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

        //Options

        var options = {

        port: 23,

        host: "192.168.0.19",

        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', val: true}, function (obj) {

        receiver.volumeUp();

        });

        //dec Vol

        on({id: 'javascript.0.pioneer.volumeDown', val: true}, function (obj) {

        receiver.volumeDown();

        });

        //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);

        });

        Funktioniert einwandfrei! 🙂 (habe auch ein VSX-921)

        Einziges, wie hast du mit der Lautstärke gelöst? Die ändert sich nur mit 0,5 und das dauert….

        1 Reply Last reply Reply Quote 0
        • C
          czahn last edited by

          Ja, stimmt. Bis Mann da auf einer ordentlichen Lautstärke ist, dauert es ne Weile. Mann könnte bei VolumeUP einen db Wert übergeben, um den die Lautstärke dann erhöht wird. Zusätzlich gibt es die Möglichkeit direkt einen db Wert (bsp. -35) an den Receiver zu senden.

          Werde das die Tage mal implementieren.

          Gesendet von meinem MI 5s mit Tapatalk

          1 Reply Last reply Reply Quote 0
          • M
            MeisterHoppel last edited by

            Hallo Leute,

            irgendwie scheitere ich schon bei der Installation:

            ` > admin@diskstation:/volume1/iobroker/node_modules$ npm install https://github.com/stormboy/node-pioneer-avr.git

            npm WARN addRemoteGit Error: not found: git

            npm WARN addRemoteGit at F (/usr/local/lib/node_modules/npm/node_modules/which/which.js:63:19)

            npm WARN addRemoteGit at E (/usr/local/lib/node_modules/npm/node_modules/which/which.js:72:29)

            npm WARN addRemoteGit at /usr/local/lib/node_modules/npm/node_modules/which/which.js:81:16

            npm WARN addRemoteGit at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/index.js:44:5

            npm WARN addRemoteGit at /usr/local/lib/node_modules/npm/node_modules/which/node_modules/isexe/access.js:8:5

            npm WARN addRemoteGit at FSReqWrap.oncomplete (fs.js:82:15)

            npm WARN addRemoteGit git+https://github.com/stormboy/node-pioneer-avr.git resetting remote /var/services/homes/admin/.npm/_git-remotes/https-github-com-stormboy-node-pioneer-avr-git-8e6aac3b because of error: { [Error: not found: git] code: 'ENOGIT' }

            npm ERR! git clone –template=/var/services/homes/admin/.npm/_git-remotes/_templates --mirror https://github.com/stormboy/node-pioneer-avr.git /var/services/homes/admin/.npm/_git-remotes/https-github-com-stormboy-node-pioneer-avr-git-8e6aac3b: undefined

            npm ERR! git clone --template=/var/services/homes/admin/.npm/_git-remotes/_templates --mirror https://github.com/stormboy/node-pioneer-avr.git /var/services/homes/admin/.npm/_git-remotes/https-github-com-stormboy-node-pioneer-avr-git-8e6aac3b: undefined

            npm ERR! Linux 3.10.77

            npm ERR! argv "/volume1/@appstore/Node.js_v4/usr/local/bin/node" "/usr/local/bin/npm" "install" "https://github.com/stormboy/node-pioneer-avr.git"

            npm ERR! node v4.4.2

            npm ERR! npm v2.15.0

            npm ERR! code ENOGIT

            npm ERR! not found: git

            npm ERR!

            npm ERR! Failed using git.

            npm ERR! This is most likely not a problem with npm itself.

            npm ERR! Please check if you have git installed and in your PATH.

            npm ERR! Please include the following file with any support request:

            npm ERR! /volume1/iobroker/node_modules/npm-debug.log `

            Sieht so aus, als wenn er der die Seite nicht findet??? 😞

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators last edited by

              @MeisterHoppel:

              npm ERR! code ENOGIT

              npm ERR! not found: git `

              bitte git installieren

              Gruß

              Rainer

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo,

                wenn die Lautstärke irgendwo auslesbar ist, kannst du sie ja um einen Prozenwert erhöhen. Ich mache das so bei Sonos:

                // leiser 20%
                    var volume_ist = parseInt(getState("sonos.0.root.192_168_178_51.volume"/*volume*/).val);
                    setState("sonos.0.root.192_168_178_51.volume"/*volume*/, parseInt(volume_ist - Math.ceil(volume_ist/5),10) );
                    log('6fach Wandtaster Küche unten links kurz gedrückt - leiser Sonos - jetzt ' + getState("sonos.0.root.192_168_178_51.volume"/*volume*/).val);
                

                Das Skript solltest du zu einem Adapter ausbauen!

                Gruß

                Pix

                1 Reply Last reply Reply Quote 0
                • M
                  MeisterHoppel last edited by

                  Danke Homorun,

                  ist anscheinend nicht ganz einfach, da ich Iobroker auf der DiskStation habe laufen. Werde die Woche mal mich weiterbilden….

                  Danke euch

                  1 Reply Last reply Reply Quote 0
                  • C
                    czahn last edited by

                    ich denke Git ist nicht zwingend nötig. Vielleicht kannst Du Dir das Projekt auch aus github auf die Diskstation runterladen und lokal installieren. (siehe https://docs.npmjs.com/cli/install)

                    1 Reply Last reply Reply Quote 0
                    • C
                      czahn last edited by

                      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.

                      Funktioniert bei mir soweit ganz gut. Testfeedback nehme ich wieder gerne entgegen!

                      @pix: Ja, ich sollte das mal in einen Adapter umfunktionieren. Dazu muss ich mir aber vermutlich etwas Zeit nehmen. Hab ich noch nie gemacht :? 😉

                      /* 
                       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
                      
                      //Options
                      var options = {
                          port: 23,
                          host: "192.168.0.19",
                          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);
                      });
                      
                      1 Reply Last reply Reply Quote 0
                      • Alex1808
                        Alex1808 last edited by

                        Heute wollte ich neue Version ausprobieren, bekomme aber Fehler beim starten

                        host.iobroker	2016-12-19 16:59:01.536	error	instance system.adapter.javascript.0 terminated with code 0 (OK)
                        javascript.0	2016-12-19 16:59:01.472	error	at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1076:14)
                        javascript.0	2016-12-19 16:59:01.472	error	at exports._exceptionWithHostPort (util.js:934:20)
                        javascript.0	2016-12-19 16:59:01.472	error	at Object.exports._errnoException (util.js:911:11)
                        javascript.0	2016-12-19 16:59:01.472	error	Error: connect ECONNREFUSED 192.168.2.112:23
                        javascript.0	2016-12-19 16:59:01.467	error	uncaught exception: connect ECONNREFUSED 192.168.2.112:23
                        javascript.0	2016-12-19 16:59:01.413	info	script.js.Sonstige.PioneerAVR: registered 6 subscriptions and 0 schedules
                        javascript.0	2016-12-19 16:59:01.389	info	Start javascript script.js.Sonstige.PioneerAVR
                        

                        Verbindung zum Receiver über Konsole aber funktioniert. :?

                        1 Reply Last reply Reply Quote 0
                        • C
                          czahn last edited by

                          Der receiver akzeptiert m.e. nur eine zeitgleiche Verbindung. Hattest du parallel vielleicht eine zweite Verbindung offen?

                          Gesendet von meinem MI 5s mit Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • Alex1808
                            Alex1808 last edited by

                            @czahn:

                            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! 🙂

                            1 Reply Last reply Reply Quote 0
                            • F
                              FrankC last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • M
                                mertensm.72 last edited by

                                Sorry, für die Frage, aber wie kann ich Christofs Script auf ioBroker installieren?

                                1 Reply Last reply Reply Quote 0
                                • S
                                  speedy78 last edited by

                                  @FrankC:

                                  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 !!!

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    schmimla last edited by

                                    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!

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      sebastian.eberle last edited by

                                      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();
                                      });
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        NyanCat last edited by

                                        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:

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          sebastian.eberle last edited by

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Harry-IO-HM last edited by

                                            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.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            853
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            45
                                            12454
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo