Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Denon Skript

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

      Hallo hg6806,@hg6806:

      Wenn ich das Script dann einfach neu starte geht wieder alles. `
      Den Neustart kann das Script ja auch selbst erledigen 😉

      Ich 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

      1 Reply Last reply Reply Quote 0
      • A
        Ati last edited by

        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

        1 Reply Last reply Reply Quote 0
        • H
          Hauke last edited by

          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!

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

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

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

              @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

              1 Reply Last reply Reply Quote 0
              • A
                Ati last edited by

                @hauke

                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.

                1 Reply Last reply Reply Quote 0
                • D
                  dering last edited by

                  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?

                  1 Reply Last reply Reply Quote 0
                  • B
                    Brati last edited by

                    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

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

                      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

                      1 Reply Last reply Reply Quote 0
                      • B
                        Brati last edited by

                        @RK62

                        Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…

                        Dann sollte die Steuerung laufen.

                        Grüße Brati

                        Von unterwegs gesendet...

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

                          @Brati:

                          Auch bei manueller Eintragung und Deaktivierung setState keine Veränderung, immer noch ungültige "IP-Adresse".

                          Habe allerdings bei Zeile 417 ein kleines gelbes Warnschild mit "Too many errors. (62% scanned)."

                          Gruß, Ralf

                          1 Reply Last reply Reply Quote 0
                          • J
                            jf62 last edited by

                            Habe genau das gleiche Problem 😞

                            1 Reply Last reply Reply Quote 0
                            • B
                              Brati last edited by

                              Mahlzeit,

                              also rausgenommen habe ich Zeile 415

                              // setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);
                              

                              Das Ausrufezeichen Zeile 417 habe ich auch. Die IP wurde dann im "javascript.0.Denon.System.IP_Adresse" korrekt eingetragen und das Script gestartet.

                              Vielleicht solltet ihr auch mal das Netzwerkteil des AVR zurück setzen und dann versuchen. Die Netzwerksteuerung steht immer auf "eingeschaltet".

                              http://manuals.denon.com/AVRX4300H/EU/D … otxfgr.php

                              Bei mir war es nach dem ganzen rumtesten auch nötig.

                              Grüße

                              Brati

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

                                @Brati:

                                @RK62

                                Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…

                                Dann sollte die Steuerung laufen.

                                Grüße Brati

                                Von unterwegs gesendet... `

                                Hab's jetzt hinbekommen: Ich hatte die Adresse 10.000.000.103 vorgegeben, mit 10.0.0.103 funktioniert es 🙂

                                Gruß, Ralf

                                1 Reply Last reply Reply Quote 0
                                • B
                                  Brati last edited by

                                  Funktioniert auch das OSD auslesen?

                                  Von unterwegs gesendet…

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

                                    Sieht so aus:

                                    ~~![](</s><URL url=)https://i.imgur.com/joThAl9.png" />

                                    Jetzt muss ich da nur noch die Subwoofer-Pegel-Einstellung reinbasteln.

                                    Gruß, Ralf~~

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Brati last edited by

                                      @RK62

                                      So soll es aussehen, sieht es aber bei mir nicht :shock: . Welches Script hattest du verwendet? Und dann vermutlich auch die eine Zeile auskommentiert?

                                      Grüße

                                      Brati

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

                                        @RK62:

                                        @Brati:

                                        @RK62

                                        Du kannst deine IP selber eintragen und Zeile 414 mit // auskommentieren. Bzw die Zeile in der Nähe mit setState…

                                        Dann sollte die Steuerung laufen.

                                        Grüße Brati

                                        Von unterwegs gesendet... `

                                        Hab's jetzt hinbekommen: Ich hatte die Adresse 10.000.000.103 vorgegeben, mit 10.0.0.103 funktioniert es 🙂

                                        Gruß, Ralf `

                                        So isses! checkIP() mag nur IP Adressen. Habe im Script bei mir ab ca. Zeile 409 zwei Zeilen eingefügt, da mein Denon mir auch die Bytes mit führenden Nullen zurückgibt. Der markante Abschnitt sieht nun so aus:

                                        ! ````
                                        case 'NSET1':
                                        if (AVR_Response.slice(5,8)=='IPA'){
                                        var IPstring=AVR_Response.slice(9,AVR_Response.length);
                                        if(IPstring[12]=='0'){
                                        IPstring=IPstring.substr(0, 12) + '' + IPstring.substr(13,14);
                                        }
                                        ! IPstring=IPstring.replace(/^0{1,}/g, '');
                                        IPstring=IPstring.replace(/.0{1,}/g, '.');
                                        setState('javascript.0.Denon.System.IP_Adresse',val=IPstring,akt=true);

                                                }
                                                break;    
                                        

                                        ! ````

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

                                          @Brati:

                                          @RK62

                                          So soll es aussehen, sieht es aber bei mir nicht :shock: . Welches Script hattest du verwendet? Und dann vermutlich auch die eine Zeile auskommentiert?

                                          Grüße

                                          Brati `

                                          Ja genau: Script von dieser Seite und auskommentiert.

                                          Gruß, Ralf

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Brati last edited by

                                            Nabend,

                                            das Script läuft ja wie bekannt, hier wurde jedoch ein Adapter entwickelt.

                                            viewtopic.php?f=36&t=14628

                                            Läuft bisher ganz gut.

                                            Grüße

                                            Brati

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            602
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            35
                                            141
                                            28580
                                            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