Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe bei Scripterstellung!

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

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

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

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

        1 Reply Last reply Reply Quote 0
        • L
          Lucky last edited by

          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 Reply Last reply Reply Quote 0
          • L
            Lucky last edited by

            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 Reply Last reply Reply Quote 0
            • D
              djtale2003 last edited by

              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 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

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

                  @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);
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • L
                    Lucky last edited by

                    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 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @Lucky:

                      danach wird bei Änderung aktualisiert `
                      Bekommt das Skript den Kanalwechsel mit, wenn der Denon während des Betriebes von Kanal "Media Player" ausgeschaltet und mit einem anderen Kanal wieder eingeschaltet wird ?

                      1 Reply Last reply Reply Quote 0
                      • L
                        Lucky last edited by

                        Ja das Skript bekommt es mit, da der Denon nach einem Power on request selbständig eine Reihe an Statusinformationen sendet, u.a auch Lautstärke und Quelle.

                        Die Kommunikation ist auf beiden Seiten grundsätzlich Event gesteuert und läuft ohne Pollen ab. Sobald sich am Gerät etwas ändert, sendet es den neuen Status.

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

                          Guten Abend.

                          Ich habe das Script von Paul53 deaktiviert. Zum einen bin ich zu keiner Lösung gekommen, und hier im Forum konnte mir auch keiner helfen. Zum Anderen hat sich beim Einschalten des Denon immer die IP im Script geändert, sie wurde erweitert mit <u>NSET1SNM 255</u>. Danach war der Denon logischerweise nicht mehr mit ioBroker verbunden. Mit der Deaktivierung des Scriptes hat sich das Problem gelöst.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          671
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

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