Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Denon Skript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorlage] Denon Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
141 Beiträge 35 Kommentatoren 32.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • uweklattU Offline
    uweklattU Offline
    uweklatt
    schrieb am zuletzt editiert von
    #68

    Hallo Rainer,@Homoran:

    Hallo Uwe und Willkommen im Forum!

    @uweklatt:

    1. Alle "FAVOTITES" durch "VAVORITES" ersetzt `
      nicht wirklich, oder? :lol:

    Viel Spaß im Forum `
    MIST!

    Da habe ich gleich wieder einen Schreibfehler eingebaut…

    Muss natürlich "FAVORITES" heißen 8-)

    Tschau

    Uwe

    Proxmox/LXC/Docker

    1 Antwort Letzte Antwort
    0
    • uweklattU Offline
      uweklattU Offline
      uweklatt
      schrieb am zuletzt editiert von
      #69

      Hallo Thorsten,@Kueppert:

      Hi Uweklatt, kannst du noch einen Screen von deinem View beilegen?

      Danke und Grüße, Thorsten `
      Haben oben noch einen Screenshot eingefügt.

      Das ist nur zum Test, noch nicht optisch aufbereitet 😉

      Tschau

      Uwe

      Proxmox/LXC/Docker

      1 Antwort Letzte Antwort
      0
      • dietlmanD Offline
        dietlmanD Offline
        dietlman
        schrieb am zuletzt editiert von
        #70

        Die Vorlage funktioniert super, danke!

        Hab nur ein Problem mit dem OSD Werten, da wird bei mir nur "init" angezeigt. Kommt auch in den Objects nichts an:
        3139_screen_shot_2017-08-31_at_21.48.32.png

        1 Antwort Letzte Antwort
        0
        • uweklattU Offline
          uweklattU Offline
          uweklatt
          schrieb am zuletzt editiert von
          #71

          Hallo,
          @dietlman:

          Die Vorlage funktioniert super, danke!

          Hab nur ein Problem mit dem OSD Werten, da wird bei mir nur "init" angezeigt. Kommt auch in den Objects nichts an: `
          Die Buttons funktionieren auch ohne das Script.

          Die Statusanzeige aber nicht. Du hat schon das JavaScript am laufen?

          Die IP-Adresse des Receivers ist auch in der zuständigen Variablen eingetragen?

          Tschau

          Uwe

          Proxmox/LXC/Docker

          1 Antwort Letzte Antwort
          0
          • dietlmanD Offline
            dietlmanD Offline
            dietlman
            schrieb am zuletzt editiert von
            #72

            @uweklatt:

            Hallo,
            @dietlman:

            Die Vorlage funktioniert super, danke!

            Hab nur ein Problem mit dem OSD Werten, da wird bei mir nur "init" angezeigt. Kommt auch in den Objects nichts an: `
            Die Buttons funktionieren auch ohne das Script.

            Die Statusanzeige aber nicht. Du hat schon das JavaScript am laufen?

            Die IP-Adresse des Receivers ist auch in der zuständigen Variablen eingetragen?

            Tschau

            Uwe `
            Hi Uwe,

            ja das Script läuft, sehe auch keine Fehler und die IP ist auch eingetragen so wie oben bescrieben.

            LG

            Manfred

            1 Antwort Letzte Antwort
            0
            • uweklattU Offline
              uweklattU Offline
              uweklatt
              schrieb am zuletzt editiert von
              #73

              Hallo Manfred, > ja das Script läuft, sehe auch keine Fehler und die IP ist auch eingetragen so wie oben bescrieben.
              Läuft die Anzeige inzwischen?

              Was für ein Modell (AVR) hast Du?

              Was zeigt die Logausgabe des Scriptes an?

              Tschau

              Uwe

              Proxmox/LXC/Docker

              1 Antwort Letzte Antwort
              0
              • dietlmanD Offline
                dietlmanD Offline
                dietlman
                schrieb am zuletzt editiert von
                #74

                @uweklatt:

                Hallo Manfred, > ja das Script läuft, sehe auch keine Fehler und die IP ist auch eingetragen so wie oben bescrieben.
                Läuft die Anzeige inzwischen?

                Was für ein Modell (AVR) hast Du?

                Was zeigt die Logausgabe des Scriptes an?

                Tschau

                Uwe `

                Leider funktioniert die Anzeige noch nicht, Modell AVR-X4100W

                Die Ausgabe wenn ich das Script auf debug schalte sieht so aus:

                21:03:54.012	[info]	javascript.0 Stop script script.js.Denon
                21:03:56.076	[info]	javascript.0 Start javascript script.js.Denon
                21:03:56.077	[warn]	javascript.0 script.js.Denon: setForeignState(id=javascript.0.Denon.System.Verbunden, state={"val":false,"ack":false}) - was not executed, while debug mode is active
                21:03:56.077	[error]	javascript.0 script.js.Denon: ungültige IP Adresse
                21:03:56.077	[info]	javascript.0 script.js.Denon: registered 40 subscriptions and 0 schedules
                
                

                mehr sehe ich leider nicht , vielleicht mache ich auch nur irgend etwas falsch beim script

                geändert: Code in Code-Tags; Homoran (Mod)

                1 Antwort Letzte Antwort
                0
                • uweklattU Offline
                  uweklattU Offline
                  uweklatt
                  schrieb am zuletzt editiert von
                  #75

                  Hallo Manfred,

                  Das Script läuft noch nicht sauber!

                  Es gibt eine Fehlermeldung zur IP-ADRESSE.

                  Trag diese noch einmal neu im entsprechenden Objekt ein:

                  javascript.0/Denon/System/IP_Adresse

                  stimmt vermutlich nicht!

                  Tschau

                  Uwe

                  Proxmox/LXC/Docker

                  1 Antwort Letzte Antwort
                  0
                  • dietlmanD Offline
                    dietlmanD Offline
                    dietlman
                    schrieb am zuletzt editiert von
                    #76

                    Die IP Adresse stimmt, auf das Webinterface des Denon komm ich mit 192.168.1.121

                    wenn ich aber versuche per Telnet drauf zu kommen dann kommt dieser Fehler:

                    MacBook-Pro-3:~$ telnet 192.168.1.121

                    Trying 192.168.1.121…

                    telnet: connect to address 192.168.1.121: Connection refused

                    keine Ahnung warum das so ist, bilde mir ein ich hab schon mal eine Telnet Verbindung zum receiver erfolgreich hergestellt.

                    1 Antwort Letzte Antwort
                    0
                    • dietlmanD Offline
                      dietlmanD Offline
                      dietlman
                      schrieb am zuletzt editiert von
                      #77

                      so jetzt hab ich meinen Denon mal neu gestartet und jetzt funktioniert das Script, scheinbar ist die Telnet Session irgendwie abgeschmiert.

                      Danke auf jeden Fall für die Hilfe:

                      1 Antwort Letzte Antwort
                      0
                      • K Offline
                        K Offline
                        Kueppert
                        schrieb am zuletzt editiert von
                        #78

                        Hallo zusammen,

                        ich habe eine Frage zu dem Punkt: "system_ready". Bei mir bleibt der Punkt immer auf false stehen. Power_on steht auf true, das funktioniert (habe einen Denon1200w)

                        In dem Zusammenhang, was genau bedeutet folgender Code im Script ab "else if" ? Kommt bei dem Request nicht nur PWON oder PWSTANDBY zurück?? Warum steht hinter dem "==" eine "1" oder "2"?

                                   if (AVR_Response=='PWON'){
                                       if(PW_Request==1){
                                       setState('javascript.0.Denon.System.Power_System',true,akt=true);
                                       PW_Request++;
                                       }
                                       else if(PW_Request==2){
                                           setState('javascript.0.Denon.System.System_Ready',true,akt=true);
                                           PW_Request=0;
                        

                        Danke euch schon mal und Grüße, Thorsten

                        PS: Wenn ich in den Objekten auf "update" drücke ballert das Script mir im Millisekunden-Takt das log voll und hört nicht mehr auf, Updates abzurufen. Musste es beenden, um die Abfragen zu stoppen.
                        2700_2017-09-08_16_22_07-iobroker.admin.png

                        UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                        1 Antwort Letzte Antwort
                        0
                        • uweklattU Offline
                          uweklattU Offline
                          uweklatt
                          schrieb am zuletzt editiert von
                          #79

                          Hallo Kueppert,
                          @Kueppert:

                          Warum steht hinter dem "==" eine "1" oder "2"? ` Ich interpretiere es so:

                          Nach dem Einschalten kommt zweimal "PWON", erst als "Power_System" (PW_Request=1) und dann als "System_Ready" (PW_Request=2).

                          Tschau

                          Uwe

                          Proxmox/LXC/Docker

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            Der_Paul
                            schrieb am zuletzt editiert von
                            #80

                            Guten Abend,

                            gibt es eine aktuelle Installationsanleitung? Ich habe den Thread jetzt zwei mal gelesen, aber verstanden, wie es einzurichten ist, habe ich leider noch nicht. Könnte das Skript dann mit einem Denon X1300w testen.

                            Viele Grüße

                            Paul

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              Kueppert
                              schrieb am zuletzt editiert von
                              #81

                              Hi Paul, du must Java script installieren, dann unter den neuen Reiter "Scripte" unter Common den ganzen Code in einen neuen Ordner (ich habe ihn Denon genannt) reinkopieren, dann auf den Play-Button klicken. Es werden dann heute Objekte erstellt, auf die du zugreifen kannst mit Widgets.

                              Viele Grüße, Thorsten

                              Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                              UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                Der_Paul
                                schrieb am zuletzt editiert von
                                #82

                                Danke für deine Hilfe Kueppert, aber es klappt noch nicht ganz. Ist das bisher richtig so, oder habe ich deine Anleitung falsch verstanden?
                                1855_denon_install_v2.png

                                1 Antwort Letzte Antwort
                                0
                                • HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #83

                                  Der Fehler bezieht sich augenscheinlich auf die IP-Adresse deines Denon.

                                  Im Skript ist da noch 000.000.000.000 eingetragen.

                                  Ich glaube nicht, dass dein Denon diese IP-Adresse hat 😉

                                  Gruß

                                  Rainer

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    Kueppert
                                    schrieb am zuletzt editiert von
                                    #84

                                    @Der_Paul:

                                    Danke für deine Hilfe Kueppert, aber es klappt noch nicht ganz. Ist das bisher richtig so, oder habe ich deine Anleitung falsch verstanden? ` Hi Paul, in den neuen Objekten ist die IP deine Denon einzutragen, dann bist du auch schon fertig [emoji6] geht aber auch da, so Hormoran gesagt hat…

                                    VG Thorsten

                                    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                                    UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      Der_Paul
                                      schrieb am zuletzt editiert von
                                      #85

                                      Ich hatte irgendwo im Thread gelesen, das man das nicht machen soll.

                                      Aber auch mit korrekt eingetragener IP Adresse ändert sich die Fehlermeldung nicht. Egal ob ich die IP Adresse 192.168.1.186 oder so eintrage 192.168.001.186. :?:

                                      Der Zugriff via Web und App auf den Denon funktioniert tadellos.

                                      EDIT.

                                      Muss ich die '' bei der IP Adresse entfernen?

                                      createState('javascript.0.Denon.System.IP_Adresse', 192.168.001.186,{type: "string", role: "AVR IP Adresse"});

                                      hm… scheinbar auch nicht.

                                      Grüße

                                      Paul

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        ACE76
                                        schrieb am zuletzt editiert von
                                        #86

                                        Erst einmal vielen Dank für das Script! Funktioniert bei mir mit dem Denon AVR-X1200W grundsätzlich einwandfrei.

                                        Ich würde jetzt gerne über Blockly ein Script erstellen, das den Receiver bei "wahr" einer bereits angelegten Variablen "KINO" einschaltet und automatisch z.B. in den TV Audio Modus bringt. Hat das vielleicht jemand schon realisiert? Meine Kenntnisse in Blockly sind leider überschaubar und ich scheitere aktuell daran den Wert für "Select_Input" über Blockly zu ändern.

                                        1 Antwort Letzte Antwort
                                        0
                                        • dslraserD Offline
                                          dslraserD Offline
                                          dslraser
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #87

                                          @Lucky:

                                          alles wird gut 😄

                                          wenn du States manuell löscht und dann das Skript neu Startest, ist es normal das erstmal Fehler auflaufen, da die State dann neu beschrieben werden 😉 beim nächsten Start sollte auch das weg sein.

                                          Hier nochmal eine überarbeitete Version mit folgenden Änderungen:

                                          1. Fehler bei System Power OFF behoben (Danke für den Hinweis von Kueppert)

                                          2. Fehler beim Manuellen umschalten der Tunerfrequenz behoben

                                          3. Nach dem letzten Firmware Update des AVR ist es bei mir so, das wenn als Quelle NET z.b. Spotify gewählt ist, der AVR nicht mehr seine OSD Informationen selbständig updatet, für diesen Fall habe ich einen Updateintervall eingeführt.

                                          4. mit dem State "Log" unter System kann der das Loggen des Regulären Datenstroms ausgeschaltet werden, was den Log sehr aufräumt 😉

                                          <size size="150">hier die Aktuelle Version !!!</size>

                                          ! ```
                                          `//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', '000.000.000.000',{type: "string", role: "AVR IP Adresse"});
                                          createState('javascript.0.Denon.System.Trigger_1', false,{type: "boolean", role: "Trigger 1"});
                                          createState('javascript.0.Denon.System.Trigger_2', false,{type: "boolean", role: "Trigger 2"});
                                          createState('javascript.0.Denon.System.Command', '',{type: "string", role: "Command to AVR"});
                                          createState('javascript.0.Denon.System.Display_Dimmer',0,{type: "number", role: "FL Display Dimmer",states: "0:BRI;1:DIM;2:DAR;3:OFF"});
                                          createState('javascript.0.Denon.System.Verbunden',false,{type: "boolean", role: "Verbindung hergestellt",write:false});
                                          createState('javascript.0.Denon.System.Name',{type: "string", role: "Netzwerk-Name",write:false});
                                          createState('javascript.0.Denon.System.Log', true,{type: "boolean", role: "Log für Tx/Rx Daten"});
                                          ! //OSD
                                          createState('javascript.0.Denon.OSD.OSD_Info_List0', 'init',{type: "string", role: "Onscreen Display Info List00",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List1', 'init',{type: "string", role: "Onscreen Display Info List01",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List2', 'init',{type: "string", role: "Onscreen Display Info List02",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List3', 'init',{type: "string", role: "Onscreen Display Info List03",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List4', 'init',{type: "string", role: "Onscreen Display Info List04",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List5', 'init',{type: "string", role: "Onscreen Display Info List05",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List6', 'init',{type: "string", role: "Onscreen Display Info List06",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List7', 'init',{type: "string", role: "Onscreen Display Info List07",write:false});
                                          createState('javascript.0.Denon.OSD.OSD_Info_List8', 'init',{type: "string", role: "Onscreen Display Info List08",write:false});
                                          ! //Controls
                                          createState('javascript.0.Denon.Control.Play', false,{type:"boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Stop', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Pause', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Skip_Plus', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Skip_Minus', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Page_Next', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Control.Page_Previous', false,{type: "boolean", role: "button"});
                                          ! //Tuner Control
                                          createState('javascript.0.Denon.Tuner_Control.Frequency_UP', false,{type:"boolean", role: "button"});
                                          createState('javascript.0.Denon.Tuner_Control.Frequency_DOWN', false,{type:"boolean", role: "button"});
                                          createState('javascript.0.Denon.Tuner_Control.Preset_UP', false,{type:"boolean", role: "button"});
                                          createState('javascript.0.Denon.Tuner_Control.Preset_DOWN', false,{type:"boolean", role: "button"});
                                          createState('javascript.0.Denon.Tuner_Control.RDS_Station_Name', 'init',{type:"string", role: "RDS Station Name",write:false});
                                          createState('javascript.0.Denon.Tuner_Control.Preset_Number',0,{type:"number", role: "Preset No."});
                                          ! //Zone_Main
                                          createState('javascript.0.Denon.Zone_Main.Power', false,{type: "boolean", role: "Power Status Zone Main"});
                                          createState('javascript.0.Denon.Zone_Main.Mute', false,{type: "boolean", role: "Mute Status"});
                                          createState('javascript.0.Denon.Zone_Main.Master_Volume', 0,{type: "number", role: "Master Volume"});
                                          createState('javascript.0.Denon.Zone_Main.Master_Volume_UP', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_Main.Master_Volume_DOWN', false,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_Main.Master_Volume_Max', 0,{type: "number", role: "Master Volume Max",write:false});
                                          createState('javascript.0.Denon.Zone_Main.Video_Input', 1,{type: "number", role: "Selected Video Input",
                                          states:"0:DVD;1:BD;2:TV;3:SAT/CBL;4:MPLAY;5:GAME;6:AUX1;7:AUX2;8:AUX3;9:AUX4;10:AUX5;11:AUX6;12:AUX7;13:CD"});
                                          createState('javascript.0.Denon.Zone_Main.Video_State', false,{type: "boolean", role: "Video ON/OFF"});
                                          createState('javascript.0.Denon.Zone_Main.Input_Text',5,{type: "string", role: "Input Text",write:false});
                                          createState('javascript.0.Denon.Zone_Main.Select_Input',5,{type: "number", role: "Select Input",
                                          states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
                                          createState('javascript.0.Denon.Zone_Main.Surround_Mode', 'init',{type: "string", role: "Surround Modus",write:false});
                                          createState('javascript.0.Denon.Zone_Main.Ratio_Mode', 'init',{type: "string", role: "Ratio Modus",write:false});
                                          createState('javascript.0.Denon.Zone_Main.Resolution', 'init',{type: "string", role: "Video Resolution",write:false});
                                          createState('javascript.0.Denon.Zone_Main.Sound_Parameter', 'init',{type: "string", role: "Sound_Parameter",write:false});
                                          createState('javascript.0.Denon.Zone_Main.HDMI_Monitor',0,{type: "number", role: "HDMI Monitor Out",states: "0:MONIAUTO;1:MONI1;2:MONI2"});
                                          ! //Zone 2
                                          createState('javascript.0.Denon.Zone_2.Power_Zone2', false,{type: "boolean", role: "Power Status Zone 2"});
                                          createState('javascript.0.Denon.Zone_2.Mute', false,{type: "boolean", role: "Mute Status Zone 2"});
                                          createState('javascript.0.Denon.Zone_2.Volume', 0,{type: "number", role: "Zone 2 Volume"});
                                          createState('javascript.0.Denon.Zone_2.Volume_UP', 0,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_2.Volume_DOWN', 0,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_2.Select_Input',5,{type: "number", role: "Select Input",
                                          states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
                                          ! //Zone 3
                                          createState('javascript.0.Denon.Zone_3.Power_Zone3', false,{type: "boolean", role: "Power Status Zone 3"});
                                          createState('javascript.0.Denon.Zone_3.Mute', false,{type: "boolean", role: "Mute Status Zone 3"});
                                          createState('javascript.0.Denon.Zone_3.Volume', 0,{type: "number", role: "Zone 3 Volume"});
                                          createState('javascript.0.Denon.Zone_3.Volume_UP', 0,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_3.Volume_DOWN', 0,{type: "boolean", role: "button"});
                                          createState('javascript.0.Denon.Zone_3.Select_Input',5,{type: "number", role: "Select Input",
                                          states: "0:PHONO;1:CD;2:TUNER;3:DVD;4:BD;5:TV;6:SAT/CBL;7:MPLAY;8:GAME;9:NET;10:SPATIFY;11:LASTFM;12:IRADIO;13:SERVER;14:FAVOTITES;15:AUX1;16:AUX2;17:AUX3;18:AUX4;19:AUX5;20:AUX6;21:AUX7"});
                                          ! // Variablen-------------------------------------------------------------------------
                                          var AVR_Command =['PW','MVMAX','MV','CV','MU','SI','ZM','SD','DC','SV','SLP','STBY','ECO','MS','VS','PS','PV','Z2','Z2MU','Z2CS','Z2CV','Z2HPF',
                                          'Z2PS','Z2HDS','Z2SLP','Z2STBY','Z3','Z3MU','Z3CS','Z3CV','Z3HPF','Z3PS','Z3SLP','Z3STBY','TFANNAME','TPANMEM','NSET1','NSE','TR','DIM','NSFRN']; // räume den mist später auf 😉
                                          var t_request = 100; //beim ersten Start Funktion update aufrufen mit 100ms zwischen den Anfragen, maximal 50ms !
                                          var client;
                                          var PW_Request =0;
                                          ! setState('javascript.0.Denon.System.Verbunden',val=false,akt=false);
                                          checkIP(getState('javascript.0.Denon.System.IP_Adresse').val);
                                          ! function checkIP(IP){ //IP Adresse prüfen
                                          if(net.isIPv4(IP)){
                                          setTimeout(function () {
                                          client=Connect(IP);
                                          },2000);
                                          }
                                          else{console.error('ungültige IP Adresse')}
                                          }

                                          function Connect(IP){ // zu Server Verbinden

                                          ! var client = net.connect({host:IP, port:23});
                                          client.setKeepAlive(true,5000);

                                             console.log('Connectig...');
                                             
                                          client.on('error',function(error) {
                                              console.error(error);
                                              killClient(client);
                                          }); 
                                          
                                          client.on('connect', function () {          //Verbindung hergestellt
                                          console.log('Verbunden mit Denon AVR !');
                                           {setState('javascript.0.Denon.System.Verbunden',val=true,akt=true)}
                                            update(t_request); 
                                          });
                                          

                                          ! client.on('end', function () { //die Gegenseite hat die Verbindung geschlossen
                                          {setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
                                          console.warn('Denon AVR hat die Verbindung geschlossen !');
                                          killClient(client);
                                          });

                                           client.on('data', function (data) {
                                               
                                                if (getState('javascript.0.Denon.System.Log').val===true){
                                                 console.log(data.toString());         //log für kommende Daten ################################################################################################
                                                }
                                               response(data);
                                               
                                           });
                                          

                                          return client;
                                          }//end of Function Connect

                                          ! function killClient(client){
                                          {setState('javascript.0.Denon.System.Verbunden',val=false,akt=true)}
                                          client.destroy();
                                          client.unref();
                                          console.log('Connection closed !');
                                          }
                                          ! // Funktion Nachricht Senden----------------------------------------------------------
                                          function sendMessage(message) {
                                          if(getState('javascript.0.Denon.System.Verbunden').val===true){

                                          client.write(message+'\r');
                                          if (message=='PWON'||'ZMON'||'Z2ON'||'Z3ON'){PW_Request=1}
                                          
                                              if (getState('javascript.0.Denon.System.Log').val===true){
                                              console.log('Anfrage: '+ message );   // log für gesendete Daten  ################################################################################################
                                              }
                                          }
                                          

                                          }
                                          //Daten anfordern--------------------------------------------------------------------
                                          function update(Time){
                                          console.log('Update Start');
                                          var i_Pollen=0;
                                          var Request =['NSET1 ?','NSFRN ?','ZM?','MU?','PW?','SI?','SV?','MS?','MV?','Z2?','Z2MU?','Z3?','Z3MU?','NSE','VSSC ?','VSASP ?','VSMONI ?','TR?','DIM ?'];
                                          Intervall = setInterval(function () {

                                              sendMessage(Request[i_Pollen]);
                                              
                                              i_Pollen++;
                                                  
                                                  if (i_Pollen==Request.length){
                                                      i_Pollen=0;
                                                      clearInterval(Intervall);
                                                  }
                                              
                                          }, Time);
                                          

                                          return true;
                                          }

                                          ! function StateText_toArray (StateNames){
                                          var StateName = StateNames.split(';');
                                          var StateArr=[];
                                          for(var i = 0; i < StateName.length; i++) {
                                          var ele = StateName[i].split(':');
                                          StateArr[ele[0]] = ele[1];
                                          }

                                          return StateArr;
                                          }

                                          ! // Daten empfangen------------------------------------------------------------------
                                          ! function response (data) {

                                          ! var AVR_Response=data.toString().replace(/[\n\r]/g, ''); // Steuerzeichen "CR" entfernen
                                          ! for (i = 0; i < AVR_Command.length; i++) {

                                              var search_index=AVR_Response.search(AVR_Command[i]);
                                              
                                              if (search_index===0){
                                                  break;
                                              }
                                              
                                          }
                                          
                                          var id,val;
                                          
                                          switch(AVR_Command[i]){  
                                              case 'MU':
                                                  // to Request MU?
                                                  if (AVR_Response=='MUOFF'){setState("javascript.0.Denon.Zone_Main.Mute",false,akt=true)}
                                                  if (AVR_Response=='MUON'){setState("javascript.0.Denon.Zone_Main.Mute",true,akt=true)}
                                                 break;
                                                 
                                              case 'PW':  
                                                  // to Request PW?
                                                 if (AVR_Response=='PWSTANDBY'){
                                                     setState('javascript.0.Denon.System.Power_System',false,akt=true);
                                                     setState('javascript.0.Denon.System.System_Ready',false,akt=true);
                                                     if ("undefined" !== typeof StaticPollen){clearInterval(StaticPollen)}
                                                 }
                                                 if (AVR_Response=='PWON'){
                                                     if(PW_Request==1){
                                                     setState('javascript.0.Denon.System.Power_System',true,akt=true);
                                                     PW_Request++;
                                                     }
                                                     else if(PW_Request==2){
                                                         setState('javascript.0.Denon.System.System_Ready',true,akt=true);
                                                         PW_Request=0;
                                                     }
                                                     
                                                 }
                                                
                                                 break;
                                                 
                                                 
                                              case'Z2':
                                                 if (AVR_Response=='Z2OFF'){setState('javascript.0.Denon.Zone_2.Power_Zone2',false,akt=true)}
                                                 else if (AVR_Response=='Z2ON'){setState('javascript.0.Denon.Zone_2.Power_Zone2',true,akt=true)}
                                                 else if (AVR_Response=='Z2MUON'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)}
                                                 else if (AVR_Response=='Z2MUOFF'){setState('javascript.0.Denon.Zone_2.Mute',true,akt=true)}
                                                  else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){
                                                      
                                                      setState("javascript.0.Denon.Zone_2.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)}
                                                   else {
                                                  
                                                    AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  id='javascript.0.Denon.Zone_2.Select_Input';
                                                  val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response);
                                                  if (val>=0){setState(id,val,akt=true);}
                                                   }
                                                  break;
                                                  
                                              case'Z3':
                                                 if (AVR_Response=='Z3OFF'){setState('javascript.0.Denon.Zone_3.Power_Zone3',false,akt=true)}
                                                 else if (AVR_Response=='Z3ON'){setState('javascript.0.Denon.Zone_3.Power_Zone3',true,akt=true)}
                                                 else if (AVR_Response=='Z3MUON'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)}
                                                 else if (AVR_Response=='Z3MUOFF'){setState('javascript.0.Denon.Zone_3.Mute',true,akt=true)}
                                                  else if (true !==isNaN(parseInt(AVR_Response.slice(2,4)))){
                                                     
                                                      setState("javascript.0.Denon.Zone_3.Volume",parseFloat(AVR_Response.slice(2,4)),akt=true)}
                                                   else {
                                                  
                                                    AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  id='javascript.0.Denon.Zone_3.Select_Input';
                                                  val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response);
                                                  if (val>=0){setState(id,val,akt=true);}
                                                   }
                                                  break;    
                                              
                                              case 'MV':
                                                  // to Request MV?
                                                  AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  if (AVR_Response.length<3){AVR_Response=AVR_Response+'0'}
                                                  AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3);
                                                 setState("javascript.0.Denon.Zone_Main.Master_Volume",parseFloat(AVR_Response),akt=true);
                                                  
                                                 break;
                                                 
                                               case 'MVMAX':
                                                  AVR_Response=AVR_Response.slice(6,AVR_Response.length);
                                                  AVR_Response=AVR_Response.slice(0, 2)+'.'+AVR_Response.slice(2, 3);
                                                 setState("javascript.0.Denon.Zone_Main.Master_Volume_Max",parseFloat(AVR_Response),akt=true);
                                                 break;  
                                                 
                                              case 'SV': 
                                                  // to Request SV?
                                                  if (AVR_Response=='SVOFF'){setState("javascript.0.Denon.Zone_Main.Video_State",false,akt=true)}
                                                  else if (AVR_Response=='SVON'){setState("javascript.0.Denon.Zone_Main.Video_State",true,akt=true)}
                                                  else {
                                                  
                                                  AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  id = 'javascript.0.Denon.Zone_Main.Video_Input';
                                                  val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response); //suche in array nach element
                                                  
                                                  setState(id,val,akt=true);
                                                  }
                                                 break;
                                                 
                                              case 'SI':
                                                  // to Request SI?
                                                  AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  id='javascript.0.Denon.Zone_Main.Select_Input';
                                                  val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response);
                                                  
                                                  setState(id,val,akt=true);
                                                  setState('javascript.0.Denon.Zone_Main.Input_Text',AVR_Response,akt=true);
                                                  
                                                 if (AVR_Response=='NET'){
                                                  StaticPollen=setInterval(sendMessage,2000,'NSE');  //wenn Quelle = NET ist (z.b. Spotify) OSD Informationen Pollen mit 2s
                                                  }
                                                 
                                                 else {if ("undefined" !== typeof StaticPollen){clearInterval(StaticPollen)}
                                                 }
                                                 break;  
                                                 
                                              case 'ZM':
                                                  // to Request ZM?
                                                  if (AVR_Response=='ZMOFF'){setState('javascript.0.Denon.Zone_Main.Power',false,akt=true)}
                                                  if (AVR_Response=='ZMON'){setState('javascript.0.Denon.Zone_Main.Power',true,akt=true)}
                                                 break;
                                                 
                                              case 'MS':
                                                  // to Request MS? 
                                                  AVR_Response=AVR_Response.slice(2,AVR_Response.length);
                                                  setState("javascript.0.Denon.Zone_Main.Surround_Mode",AVR_Response,akt=true);
                                                 break;
                                                 
                                              case 'VS':
                                                  
                                                  // to Request VSASP ?
                                                  id = "javascript.0.Denon.Zone_Main.Ratio_Mode";
                                                  if (AVR_Response=='VSASPFUL'){setState(id,'16:9',akt=true)}
                                                  else if (AVR_Response=='VSASPNRM'){setState(id,'4:3',akt=true)}
                                                  
                                                  // to Request VSSC ?
                                                  id = "javascript.0.Denon.Zone_Main.Resolution";
                                                  if (AVR_Response=='VSSC48P'){setState(id,'480p/576p',akt=true)}
                                                  else if (AVR_Response=='VSSC10I'){setState(id,'1080i',akt=true)}
                                                  else if (AVR_Response=='VSSC72P'){setState(id,'720p',akt=true)}
                                                  else if (AVR_Response=='VSSC10P'){setState(id,'1080p',akt=true)}
                                                  else if (AVR_Response=='VSSC10P24'){setState(id,'1080p:24Hz',akt=true)}
                                                  else if (AVR_Response=='VSSC4K'){setState(id,'4K',akt=true)}
                                                  else if (AVR_Response=='VSSC4KF'){setState(id,'4K 60/50Hz',akt=true)}
                                                  else if (AVR_Response=='VSSCAUTO'){setState(id,'AUTO',akt=true)}
                                                  
                                                  //to Request MONI ? 
                                                  id='javascript.0.Denon.Zone_Main.HDMI_Monitor';
                                                   if (AVR_Response=='VSMONIAUTO'){setState(id,0,akt=true)}
                                                   else if (AVR_Response=='VSMONI1'){setState(id,1,akt=true)}
                                                   else if (AVR_Response=='VSMONI2'){setState(id,2,akt=true)}
                                                 break; 
                                           
                                              case 'PS':
                                                  
                                                  // to Request PSMODE: ?
                                                  setState("javascript.0.Denon.Zone_Main.Sound_Parameter",AVR_Response.slice(7,AVR_Response.length),akt=true);
                                                  break;
                                                  
                                              
                                              case 'NSE':
                                                  
                                                    // to Request NSE  // Achtung ohne ? 
                                                  id='javascript.0.Denon.OSD.OSD_Info_List'+AVR_Response.slice(3, 4);
                                                  
                                                  if (getState(id)) {             //prüfen ob State vorhanden ist
                                                  setState (id,AVR_Response=AVR_Response.slice(4,AVR_Response.length),akt=true);
                                                  }
                                                
                                                  break;
                                                  
                                              case 'TR':
                                                  
                                                  if (AVR_Response=='TR1 OFF'){setState('javascript.0.Denon.System.Trigger_1',false,akt=true)}
                                                  else if (AVR_Response=='TR1 ON'){setState('javascript.0.Denon.System.Trigger_1',true,akt=true)}
                                                  else if (AVR_Response=='TR2 OFF'){setState('javascript.0.Denon.System.Trigger_2',false,akt=true)}
                                                  else if (AVR_Response=='TR2 ON'){setState('javascript.0.Denon.System.Trigger_2',true,akt=true)}
                                                  break;
                                                  
                                              case 'DIM':
                                                   AVR_Response=AVR_Response.slice(4,AVR_Response.length);
                                                  id='javascript.0.Denon.System.Display_Dimmer';
                                                  val=StateText_toArray(getObject(id).common.states).indexOf(AVR_Response);
                                                  
                                                  setState(id,val,akt=true);
                                                  
                                                  break;
                                              
                                              case 'TFANNAME':
                                                   setState('javascript.0.Denon.Tuner_Control.RDS_Station_Name',val=AVR_Response.slice(8,AVR_Response.length),akt=true);    
                                                  break;
                                                  
                                              case 'TPANMEM':
                                                  AVR_Response=AVR_Response.slice(7,AVR_Response.length);
                                                  if (AVR_Response.length==2){         //29.08.2017 angepasst
                                                  setState('javascript.0.Denon.Tuner_Control.Preset_Number',parseInt(AVR_Response),akt=true);
                                                  }
                                                  
                                                  break;
                                                  
                                              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);
                                                      }
                                          

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

                                                  }
                                                  break;    
                                              
                                              case 'NSFRN': 
                                                  setState('javascript.0.Denon.System.Name',val=AVR_Response.slice(5,AVR_Response.length),akt=true);
                                                  break;
                                                  
                                              default:
                                                  //console.log('häääää????');
                                          }
                                          

                                          }

                                          //--------------------------------------------------------------------------------------
                                          on('javascript.0.Denon.System.IP_Adresse', function (obj){
                                          if(getState('javascript.0.Denon.System.Verbunden').val===true){

                                          killClient(client);
                                             checkIP(obj.state.val);
                                          }
                                          else{checkIP(obj.state.val)}
                                          

                                          });

                                          ! on({id:'javascript.0.Denon.System.UPDATE',val:true}, function (obj){

                                             update(t_request);
                                          

                                          });

                                          ! on({id:"javascript.0.Denon.System.Command",change:"any"}, function (obj){sendMessage(obj.state.val+'')});
                                          ! on("javascript.0.Denon.System.Power_System", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){
                                          sendMessage('PWON');
                                          }
                                          else{sendMessage('PWSTANDBY')}
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_Main.Power', function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){
                                          sendMessage('ZMON');
                                          }
                                          else{sendMessage('ZMOFF')}
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_2.Power_Zone2', function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){sendMessage('Z2ON')}
                                          else{sendMessage('Z2OFF')}
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_3.Power_Zone3', function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){sendMessage('Z3ON')}
                                          else{sendMessage('Z3OFF')}
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_Main.Mute", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){sendMessage('MUON')}
                                          else{sendMessage('MUOFF')}
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_2.Mute", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){sendMessage('Z2MUON')}
                                          else{sendMessage('Z2MUOFF')}
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_3.Mute", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val){sendMessage('Z3MUON')}
                                          else{sendMessage('Z3MUOFF')}
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_Main.Master_Volume", function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('MV'+obj.state.val+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_UP",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('MVUP'+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_Main.Master_Volume_DOWN",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('MVDOWN'+'');
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_2.Volume", function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z2'+obj.state.val+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_2.Volume_UP",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z2UP'+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_2.Volume_DOWN",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z2DOWN'+'');
                                          }
                                          });
                                          ! on("javascript.0.Denon.Zone_3.Volume", function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z3'+obj.state.val+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_3.Volume_UP",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z3UP'+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Zone_3.Volume_DOWN",val:true}, function (obj){
                                          if (!obj.state.ack) {
                                          sendMessage('Z3DOWN'+'');
                                          }
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Play",vla:true}, function (obj){
                                          sendMessage('NS9A')
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Stop",val:true}, function (obj){
                                          sendMessage('NS9C')
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Pause",val:true}, function (obj){
                                          //if (obj.state.val===true){sendMessage('NS9B')}
                                          sendMessage('NS9B');
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Skip_Plus",val:true}, function (obj){
                                          sendMessage('NS9D')
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Skip_Minus",val:true}, function (obj){
                                          sendMessage('NS9E')
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Page_Next",val:true}, function (obj){
                                          sendMessage('NS9X')
                                          });
                                          ! on({id:"javascript.0.Denon.Control.Page_Previous",val:true}, function (obj){
                                          sendMessage('NS9Y')
                                          });
                                          ! on('javascript.0.Denon.Zone_Main.Select_Input', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('SI'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_2.Select_Input', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('Z2'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_3.Select_Input', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('Z3'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_Main.Video_Input', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('SV'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_Main.Video_State', function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val===true){sendMessage('SVON')}
                                          else{sendMessage('SVOFF')}
                                          }
                                          });
                                          ! on('javascript.0.Denon.Zone_Main.HDMI_Monitor', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('VS'+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on("javascript.0.Denon.System.Trigger_1", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val===true){sendMessage('TR1 ON')}
                                          else{sendMessage('TR1 OFF')}
                                          }
                                          });
                                          ! on("javascript.0.Denon.System.Trigger_2", function (obj){
                                          if (!obj.state.ack) {
                                          if (obj.state.val===true){sendMessage('TR2 ON')}
                                          else{sendMessage('TR2 OFF')}
                                          }
                                          });
                                          ! on('javascript.0.Denon.System.Display_Dimmer', function (obj){
                                          if (!obj.state.ack) {
                                          if(obj.state.val>=0){
                                          sendMessage('DIM '+ StateText_toArray(obj.common.states)[obj.state.val].toUpperCase() );
                                          }
                                          }
                                          });
                                          ! on({id:'javascript.0.Denon.Tuner_Control.Frequency_UP',val:true}, function (obj){sendMessage('TFANUP')});
                                          ! on({id:'javascript.0.Denon.Tuner_Control.Frequency_DOWN',val:true}, function (obj){sendMessage('TFANDOWN')});
                                          ! on({id:'javascript.0.Denon.Tuner_Control.Preset_UP',val:true}, function (obj){sendMessage('TPANUP')});
                                          ! on({id:'javascript.0.Denon.Tuner_Control.Preset_DOWN',val:true}, function (obj){sendMessage('TPANDOWN')});
                                          ! on('javascript.0.Denon.Tuner_Control.Preset_Number', function (obj){
                                          if (obj.state.val.toString().length<2){
                                          sendMessage('TPAN'+'0'+obj.state.val.toString())
                                          }
                                          else{sendMessage('TPAN'+obj.state.val.toString())}

                                          });

                                          ! //---------------------------------------------------------------------------------------
                                          ! // close connection if script stopped-------------------------------------------------
                                          onStop(function () {
                                          if(getState('javascript.0.Denon.System.Verbunden').val===true){killClient(client)};
                                          }, 2000 /ms/); ! Hallo Lucky, ! erstmal danke für dieses Script. Ich habe einen AVR4520 und wollte es damit nutzen. Angelegt wird von dem Script erstmal alles, ! aber es läuft nicht sauber durch. Ich kann es immer einen Moment nutzen, beim Start hängt es eine Weile bei [info] javascript.0 script.js.Denon.AVR4520: Anfrage: DIM ? ! Dann dauert es nicht lange und es kommt eine Fehlermeldung [error] javascript.0 script.js.Denon.AVR4520: Error: read ECONNRESET danach wird dann die Verbindung geschlossen und ich kann quasi das Script nicht mehr nutzen [info] javascript.0 script.js.Denon.AVR4520: Connection closed ! ! >! ~~[spoiler]~~19:53:26.551 [info] javascript.0 Stop script script.js.Denon.AVR4520 ! 19:53:26.551 [info] javascript.0 script.js.Denon.AVR4520: Connection closed ! ! 19:53:28.573 [info] javascript.0 Start javascript script.js.Denon.AVR4520 ! 19:53:28.573 [info] javascript.0 script.js.Denon.AVR4520: registered 40 subscriptions and 0 schedules ! 19:53:30.564 [info] javascript.0 script.js.Denon.AVR4520: Connectig... ! 19:53:30.566 [info] javascript.0 script.js.Denon.AVR4520: Verbunden mit Denon AVR ! ! 19:53:30.566 [info] javascript.0 script.js.Denon.AVR4520: Update Start ! 19:53:30.667 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: NSET1 ? ! 19:53:30.768 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: NSFRN ? ! 19:53:30.784 [info] javascript.0 script.js.Denon.AVR4520: NSFRN DENON AVR-4520 ! 19:53:30.868 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: ZM? ! 19:53:30.877 [info] javascript.0 script.js.Denon.AVR4520: ZMON ! 19:53:30.969 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: MU? ! 19:53:30.982 [info] javascript.0 script.js.Denon.AVR4520: MUOFF ! 19:53:31.070 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: PW? ! 19:53:31.077 [info] javascript.0 script.js.Denon.AVR4520: PWON ! 19:53:31.171 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: SI? ! 19:53:31.208 [info] javascript.0 script.js.Denon.AVR4520: SISAT/CBL ! 19:53:31.237 [info] javascript.0 script.js.Denon.AVR4520: SVSOURCE ! 19:53:31.271 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: SV? ! 19:53:31.287 [info] javascript.0 script.js.Denon.AVR4520: SVSOURCE ! 19:53:31.371 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: MS? ! 19:53:31.387 [info] javascript.0 script.js.Denon.AVR4520: MSDOLBY PL2 M ! 19:53:31.412 [info] javascript.0 script.js.Denon.AVR4520: PSDCO OFF ! 19:53:31.422 [info] javascript.0 script.js.Denon.AVR4520: PSDRC AUTO ! 19:53:31.443 [info] javascript.0 script.js.Denon.AVR4520: PSLFE 00 ! 19:53:31.462 [info] javascript.0 script.js.Denon.AVR4520: PSBAS 50 ! 19:53:31.471 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: MV? ! 19:53:31.482 [info] javascript.0 script.js.Denon.AVR4520: MV56 ! 19:53:31.523 [info] javascript.0 script.js.Denon.AVR4520: PSTRE 50 ! 19:53:31.523 [info] javascript.0 script.js.Denon.AVR4520: MVMAX 82 ! 19:53:31.542 [info] javascript.0 script.js.Denon.AVR4520: PSTONE CTRL OFF ! 19:53:31.572 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: Z2? ! 19:53:31.592 [info] javascript.0 script.js.Denon.AVR4520: Z2OFF ! 19:53:31.632 [info] javascript.0 script.js.Denon.AVR4520: Z2NET ! 19:53:31.659 [info] javascript.0 script.js.Denon.AVR4520: Z240 ! 19:53:31.672 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: Z2MU? ! 19:53:31.687 [info] javascript.0 script.js.Denon.AVR4520: Z2MUOFF ! 19:53:31.737 [info] javascript.0 script.js.Denon.AVR4520: SVSOURCE ! 19:53:31.773 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: Z3? ! 19:53:31.787 [info] javascript.0 script.js.Denon.AVR4520: Z3OFF Z3S ! 19:53:31.827 [info] javascript.0 script.js.Denon.AVR4520: OURCE ! 19:53:31.859 [info] javascript.0 script.js.Denon.AVR4520: Z340 ! 19:53:31.873 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: Z3MU? ! 19:53:31.887 [info] javascript.0 script.js.Denon.AVR4520: Z3MUOFF ! 19:53:31.938 [info] javascript.0 script.js.Denon.AVR4520: SVSOURCE ! 19:53:31.974 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: NSE ! 19:53:31.995 [info] javascript.0 script.js.Denon.AVR4520: NSE0Network ! 19:53:32.037 [info] javascript.0 script.js.Denon.AVR4520: NSE1 Favorites ! 19:53:32.037 [info] javascript.0 script.js.Denon.AVR4520: NSE2Internet Radio ! 19:53:32.050 [info] javascript.0 script.js.Denon.AVR4520: NSE3Last.Fm ! 19:53:32.070 [info] javascript.0 script.js.Denon.AVR4520: NSE4Spotify ! 19:53:32.074 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: VSSC ? ! 19:53:32.090 [info] javascript.0 script.js.Denon.AVR4520: NSE5Media Server ! 19:53:32.131 [info] javascript.0 script.js.Denon.AVR4520: NSE6Flickr ! 19:53:32.132 [info] javascript.0 script.js.Denon.AVR4520: NSE7 ! 19:53:32.142 [info] javascript.0 script.js.Denon.AVR4520: VSSCAUTO ! 19:53:32.170 [info] javascript.0 script.js.Denon.AVR4520: NSE8 [ 0/6 ] ! 19:53:32.174 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: VSASP ? ! 19:53:32.257 [info] javascript.0 script.js.Denon.AVR4520: VSASPFUL ! 19:53:32.274 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: VSMONI ? ! 19:53:32.332 [info] javascript.0 script.js.Denon.AVR4520: VSMONIAUTO ! 19:53:32.375 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: TR? ! 19:53:32.406 [info] javascript.0 script.js.Denon.AVR4520: TR1 ON ! 19:53:32.421 [info] javascript.0 script.js.Denon.AVR4520: TR2 ON ! 19:53:32.474 [info] javascript.0 script.js.Denon.AVR4520: Anfrage: DIM ? ! 19:55:47.702 [error] javascript.0 script.js.Denon.AVR4520: Error: read ECONNRESET ! 19:55:47.702 [info] javascript.0 script.js.Denon.AVR4520: Connection closed ![/spoiler] Was kann ich tun bzw. kannst Du helfen ? ! Im Script ist mir noch was aufgefallen, siehe Anhang. [3822_denon.png](/assets/uploads/files/3822_denon.png) [/i][/i][/i] ```

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          438

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe