Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Hilfe bei Scripterstellung!

NEWS

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

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

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

Hilfe bei Scripterstellung!

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
37 Beiträge 7 Kommentatoren 5.1k 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #15

    @djtale2003:

    Der Wert der Lautstärke hat sich zwar in io.broker geändert, aber nicht am Gerät selbst. `
    Dann hast Du sicherlich die falsche Datenpunkt-ID verwendet. Ob es mit dem Datenpunkt funktioniert, kannst Du im Reiter "Objekte" testen, indem Du dort den Wert veränderst. Beim richtigen Datenpunkt sollte sich dann auch die Lautstärke am Gerät ändern.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      djtale2003
      schrieb am zuletzt editiert von
      #16

      Ich habe den Datenpunkt Master Volume gewählt. Welchen soll ich sonst wählen? Einen anderen finde ich nicht.

      Ich habe mal den Wert von dem Input in iobroker geändert. Auch darauf reagiert der Denon nicht.

      Gibt es hier vielleicht ein grundlegendes Problem?

      In der Zeile Command to AVR steht kein Wert, muß ich hier erst die Fernsteuerung via iobroker "aktivieren"?

      Offensichtlich nicht. Ich kann nur den Tuner fernsteuern. Alle anderen ID von Denon reagieren nicht auf eine Änderung des Wertes…
      3384_iobroker.admin1.png

      1 Antwort Letzte Antwort
      0
      • BBTownB Offline
        BBTownB Offline
        BBTown
        schrieb am zuletzt editiert von
        #17

        @djtale2003:

        Alle anderen ID von Denon reagieren nicht auf eine Änderung des Wertes… ` hast du denn in diesem Feld (siehe Pfreil) einmal einen anderen Wert eingetragen und reagiert dein Denon hierauf?

        Wenn nicht, dann stimmt ja etwas mit der Verbindung nicht. Und zudem wird es dann erst recht nicht über ein Script funktionieren.

        Zeige doch mal einen Screenshot der Eigenschaften von "Master_Volume" (allgemein, native, raw)

        Was mir auch auffällt ist eine Unstimmigkeit in der Darstellung vom Datenpunkt "Master_Volume_DOWN".

        Als Rolle steht dor "button" aber in den Werten ist ein "false" zu sehen … das dürfte gar nicth sein.

        Am besten Du zeigst ebenfalls einmal einen Screenshot der Eigenschaften von "Master_Volume_DOWN" (allgemein, native, raw)
        1917_denon_mastervolume.png

        ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #18

          Ich vermute mal, dass Du das Skript von @Lucky verwendest. Dann wird nur an den Denon gesendet, wenn ack=false ist (Werte werden im Reiter "Objekte" rot dargestellt). Wenn getestet werden soll, ob Änderungen in ioBroker beim Denon ankommen, muss bei Änderung des Wertes ack auf false gesetzt werden. Das geht einfacher im Reiter "Zustände": Filtern der ID "Denon.Zone_Main.", den Wert ändern und den Haken bei "Bestätigt" entfernen.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            djtale2003
            schrieb am zuletzt editiert von
            #19

            @BBTown:

            hast du denn in diesem Feld (siehe Pfreil) einmal einen anderen Wert eingetragen und reagiert dein Denon hierauf? ` Genau dort habe ich die Werte geändert und mit dem Haken bestätigt. Auf Änderungen im Reiter Tuner_Control hat der Denon reagiert, auf Änderungen im Ordner Zone_Main nicht

            @BBTown:

            Was mir auch auffällt ist eine Unstimmigkeit in der Darstellung vom Datenpunkt "Master_Volume_DOWN".

            Als Rolle steht dor "button" aber in den Werten ist ein "false" zu sehen … das dürfte gar nicth sein.

            Am besten Du zeigst ebenfalls einmal einen Screenshot der Eigenschaften von "Master_Volume_DOWN" (allgemein, native, raw) ` Master_Volume_UP ist auch button….

            @BBTown:

            Ich vermute mal, dass Du das Skript von @Lucky verwendest. Dann wird nur an den Denon gesendet, wenn ack=false ist (Werte werden im Reiter "Objekte" rot dargestellt). Wenn getestet werden soll, ob Änderungen in ioBroker beim Denon ankommen, muss bei Änderung des Wertes ack auf false gesetzt werden. Das geht einfacher im Reiter "Zustände": Filtern der ID "Denon.Zone_Main.", den Wert ändern und den Haken bei "Bestätigt" entfernen. ` Genau, dass ist das Script von Lucky. Ich konnte aber keinen Reiter Zustände bei mir finden, nur Objekte. Was in der Zone Main steht, ist auf den letzten Screenshots zu sehen. ack kann ich auch nirgends finden.
            3384_iobroker.admin.png
            3384_iobroker.admin1.png
            3384_iobroker.admin2.png
            3384_iobroker.admin3.png
            3384_iobroker.admin4.png
            3384_iobroker.admin5.png
            3384_iobroker.admin6.png

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #20

              @djtale2003:

              Ich konnte aber keinen Reiter Zustände bei mir finden `
              Dann musst Du ihn http://www.iobroker.net/docu/?page_id=5473&lang=de#Reiter (über das Bleistift-Icon rechts oben).

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                djtale2003
                schrieb am zuletzt editiert von
                #21

                UPDATE:

                Ich habe das Denon Script jetz in den Ordner common verschoben und neu gestartet. Jetzt reagiert er auf die Wertänderung. Lediglich das Dimmen des Display geht nicht.

                Das Script von paul53 funktioniert aber leider auch nicht. Die Werte des Denon bekomme ich ja mittlerweile in Homematic angezeigt, und die dort hinterlegten Programme funtionieren auch.

                Wenn mir jetzt noch jemand das Script von paul53 anpasst, wäre super. Es geht dabei nur noch um die Lautstärke. Der AVR startet mit einem Wert von 30. Der Kanal MPLAY soll aber mit 50 starten. Beim Wechsel des Kanals soll die Lautstärke wieder auf die vorherige Lautstärke (wenn nicht vorhanden auf 30) gesenkt werden. In dem vorhanden Script kann alles, was mit Leinwand zu tun hat gelöscht werden.

                Die Laustärkeregelung des Scriptes funktioniert soweit. Die Werte ändern sich in iobroker auch korrekt, nur am reciever nicht. Der Haken zum Bestätigen der Änderung muss wohl noch durch das Script betätigt werden. Wie kann ich dem script einen Startwert für die Laautstärke der anderen Kanäle svorgeben. Das müsste ja die Zeile````
                var level = getState(idLevel).val;

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #22
                  var level = getState(idLevel).val;
                  

                  Damit wird die Skriptvariable level mit dem aktuellen Lautstärkewert bei Skriptstart initialisiert.

                      if(select === 7 && power) {
                          level = getState(idLevel).val;
                  
                  

                  merkt sich den eingestellten Lautstärkewert in der Skriptvariablen level.

                         setState(idLevel, level);  // alte Lautstärke
                  

                  setzt die Lautstärke wieder auf den gemerkten Wert.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    djtale2003
                    schrieb am zuletzt editiert von
                    #23

                    Die Wertänderung wird durch das Script nicht bestätigt:
                    3384_unbenannt-2.jpg

                    Ich habe jetzt mal alles mit Leinwand gelöscht. Nun geht gar nix mehr. Was habe ich falsch gemacht?

                    var idSVPower = getIdByName('Denon Power');
                    var idSVInput = getIdByName('Denon Input');
                    var idPower = 'javascript.0.Denon.Zone_Main.Power'; 
                    var idSelect = 'javascript.0.Denon.Zone_Main.Select_Input';
                    var idLevel = 'javascript.0.Denon.Zone_Main.Master_Volume';  //ID für Lautstärke-Datenpunkt
                    
                    var power = getState(idPower).val;
                    var select = getState(idSelect).val;
                    var level = getState(idLevel).val;
                    
                    function Leinwand() {
                        if(select === 7 && power) {
                            level = getState(idLevel).val;
                            setState(idLevel, 50);
                        } else {    
                           setState(idLevel, level);  // alte Lautstärke
                        }
                    }       
                    
                    // bei Script start in SV schreiben
                    setState(idSVPower, power);
                    setState(idSVInput, select);
                    Leinwand();
                    
                    // bei Änderung in SV schreiben
                    on(idPower, function(dp) {
                        power = dp.state.val;
                        setState(idSVPower, power);
                    });
                    on(idSelect, function(dp) {
                        select = dp.state.val;
                        setState(idSVInput, select);
                    });       
                    
                    1 Antwort Letzte Antwort
                    0
                    • L Offline
                      L Offline
                      Lucky
                      schrieb am zuletzt editiert von
                      #24

                      es ist sollte zusätzlich immer beachtet werden, das nicht jeder AVR alle Funktionen unterstützt !

                      was passiert wenn du die States manuell mit den State UPDATE aktualisierst ? die, die nicht geupdatet werden, sind auch nicht unterstützt ! Welche Firmware hast du ?

                      Alles States die als Role"Button" haben, sollten auch als Button dargestellt werden, bei mir sieht das so aus ..

                      Übrigens, der "State Command to AVR" dient dazu per Hand Kommandos aus der API an den Denon zu senden, und hat für den normalen Ablauf keine Relevanz !
                      2611_denon_states.png

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #25

                        @djtale2003:

                        Nun geht gar nix mehr. Was habe ich falsch gemacht? `
                        Nichts, denn das Skript macht was es soll: Es hat den Wert für Master_Volume auf 50 mit ack=false gesetzt.
                        @djtale2003:

                        Die Wertänderung wird durch das Script nicht bestätigt: `
                        Diese Bestätigung sollte durch das Denon-Skript erfolgen, nachdem der Lautstärkewert gesendet und vom Denon quittiert wurde. Das passiert anscheinend aber nicht. Offenbar ist das Denon-Skript nicht (voll) kompatibel zu Deinem Denon AVR.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • D Offline
                          D Offline
                          djtale2003
                          schrieb am zuletzt editiert von
                          #26

                          @paul53:

                          Nichts, denn das Skript macht was es soll: Es hat den Wert für Master_Volume auf 50 mit ack=false gese ` Das vonm mir überarbeitete Script ändert leider keine Werte.

                          @Lucky:

                          was passiert wenn du die States manuell mit den State UPDATE aktualisierst ? ` Der Wert in iobroker wird auf den tatsächlichen Wert des Denon geändert.

                          @Lucky:

                          die, die nicht geupdatet werden, sind auch nicht unterstützt ! Welche Firmware hast du ? ` Der Denon hat die aktuellste Version 4800-8776-1654. Warum werden de Werte dann von dem Verstärker geändert, wenn ich die Eingabe in iobroker mit dem Häckchen bestätige?

                          @Lucky:

                          Alles States die als Role"Button" haben, sollten auch als Button dargestellt werden, bei mir sieht das so aus .. ` Das liegt offensichtlich an Firefox. Mit Microsoft Edge sind die Button da.

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #27

                            @djtale2003:

                            Das vonm mir überarbeitete Script ändert leider keine Werte. `
                            Du musst weiterhin bei jeder Änderung die Funktion Leinwand() aufrufen, obwohl der Name jetzt unpassend ist. Habe leider übersehen, dass Du die Funktionsaufrufe gelöscht hast.

                            // bei Änderung in SV schreiben und Funktion aufrufen
                            on(idPower, function(dp) {
                                power = dp.state.val;
                                setState(idSVPower, power);
                                Leinwand();
                            });
                            on(idSelect, function(dp) {
                                select = dp.state.val;
                                setState(idSVInput, select);
                                Leinwand();
                            });
                            

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              djtale2003
                              schrieb am zuletzt editiert von
                              #28

                              Ok. das ist ja kein Problem. da passiert ja nix.

                              Jetzt muss das Script nur noch den Wert bestätigen können…

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                Lucky
                                schrieb am zuletzt editiert von
                                #29

                                die States werden bestätigt wenn vom AVR eine Quittierung erfolgt !

                                Allerdings werden nur Wertänderungen zurück gemeldet

                                Beispiel:

                                1.Skript ändert Lautstärke von 44 auf 45 -> AVR Quittiert dies, State wird bestätigt

                                2.Fernbedienung ändert die Lautstärke von 44 auf 45 -> AVR Quittiert dies, State wird Aktualisiert und bestätigt.

                                3.Lautstärke am AVR ist 44 und das Skript schreibt erneut 44, dies Quittiert der AVR nicht, da es für ihn keine Wertänderung darstellt, entsprechend wird auch der State nicht bestätigt !

                                1 Antwort Letzte Antwort
                                0
                                • L Offline
                                  L Offline
                                  Lucky
                                  schrieb am zuletzt editiert von
                                  #30

                                  suche diese Passage und ändere wie folgt

                                  on({id:"javascript.0.Denon.Zone_Main.Master_Volume",change:"any"}, function (obj){
                                      if (!obj.state.ack) { 
                                      sendMessage('MV'+obj.state.val+'');
                                  
                                      if(obj.state.val==obj.oldState.val){sendMessage('MV?')}
                                  
                                      }
                                  

                                  Das sollte dein Problem beheben

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    djtale2003
                                    schrieb am zuletzt editiert von
                                    #31

                                    Vielen dank nochmal für den Megasupport!

                                    Jetzt wird es komisch. Ich habe das Denonscript wie von lucky vorgegeben geändert. Nun passiert folgendes:

                                    Mit einem Tastendruck auf der Fernbedienung Media Player schaltet sich der Reciever ein:

                                    Kanal -> Mediaplayer

                                    Vol. -> 50

                                    Schalte ich den Reciever mit einem anderen Eingang ein, passiert foglendes:

                                    Kanal -> Media Player

                                    Vol. -> 30

                                    Wenn ich von einem anderen Kanal mit z.B. Vol. 30 auf den Media Player Kanal schalte, ändert sich die Lautstärke nicht.

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von
                                      #32

                                      @djtale2003:

                                      Wenn ich von einem anderen Kanal mit z.B. Vol. 30 auf den Media Player Kanal schalte, ändert sich die Lautstärke nicht. `
                                      Den Funktionsaufruf Leinwand() hast Du wieder drin bei Select_Input ?

                                      on(idSelect, function(dp) {
                                          select = dp.state.val;
                                          setState(idSVInput, select);
                                          Leinwand();
                                      });
                                      

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #33

                                        @djtale2003:

                                        Schalte ich den Reciever mit einem anderen Eingang ein, passiert foglendes:

                                        Kanal -> Media Player

                                        Vol. -> 30 `
                                        Nach Power on brauchen die anderen Zustände wahrscheinlich erst ein Update. Dann ersetze mal den Funktionsaufruf Leinwand() bei Power:

                                        on(idPower, function(dp) {
                                            power = dp.state.val;
                                            setState(idSVPower, power);
                                            if(power) setState('Denon.System.UPDATE', true);
                                        });
                                        

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        1 Antwort Letzte Antwort
                                        0
                                        • L Offline
                                          L Offline
                                          Lucky
                                          schrieb am zuletzt editiert von
                                          #34
                                          Nach Power on brauchen die anderen Zustände wahrscheinlich erst ein Update. Dann ersetze mal den Funktionsaufruf Leinwand() bei Power:
                                          

                                          brauchen sie im Normalfall nicht, bei start des Skript wird das update einmal automatisch durchgeführt um alle States zu aktualisieren, danach wird bei Änderung aktualisiert

                                          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

                                          909

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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