Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Harmony Hub - Sender umschalten

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Harmony Hub - Sender umschalten

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

      @eXTreMe:

      Super Sache dieses Script!

      Nur kann mir jemand bitte genau das Format für die Zeitverzögerung erklären? Und ist die Zeitangabe in sekunden oder millisekunden?

      [[commandId1,time],commandId2,…]

      so wie es im code-kommentar angegeben ist funktioniert es bei mir nicht. Habe sämtliche kombinationen ausprobiert. Scheinbar mach ich etwas falsch.... `
      "time" ist nicht die Zeit zwischen den Commands, sondern wie lange die Taste gedrückt werden soll, also z.B 1000 für eine Sekunde. Ohne Angabe sind es immer 110ms, weniger kann der Hub wohl eh nicht.

      Um auch Zeiten zwischen den Eingaben zu ermöglichen könnte man das Skript erweitern:

      NICHT GETESTET!

      `/* created States */
      var sequenceStateId = "javascript." + instance + ".HIFI.HubSequence.input";
      createState(sequenceStateId, "");
      
      /* format:
      * [[commandId1,time], time, commandId2,...]
      */
      
      on({id: sequenceStateId, change: "any"}, function (state) {
          if (state.newState.ack === false){
              setState(sequenceStateId, "", true);   
              try{
                  var array = JSON.parse(state.newState.val);
                  var delay = 0;
                  if (Array.isArray(array)){
                      for (var i = 0; i < array.length; i++){
                          if (Array.isArray(array[i])) {
                              if (array[i].length > 1) {
                                  setStateDelayed(array[i][0], array[i][1], delay, false);
                                  delay += array[i][1];
                              }else{
                                  setStateDelayed(array[i][0], 110, delay, false);
                                  delay += 110;
                              }
                          } else if (typeof array[i] === 'number') {
                              delay += array[i];
                          } else if (typeof array[i] === 'string'){
                              setStateDelayed(array[i], 110, delay, false);
                              delay += 110;
                          } 
                      }    
                  }
              }catch(e) {
                  log("invalid json", 'warn');
              }
          }
      });`[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
      
      1 Reply Last reply Reply Quote 0
      • E
        eXTreMe last edited by

        @senger1985:

        Hallo und danke für deine Antwort.

        Ist das soweit richtig?(Siehe Fotos)

        Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `

        Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!

        ["command1","command2","command3"] usw ist das erforderliche schema!

        1 Reply Last reply Reply Quote 0
        • E
          eXTreMe last edited by

          @Pman:

          @eXTreMe:

          Super Sache dieses Script!

          Nur kann mir jemand bitte genau das Format für die Zeitverzögerung erklären? Und ist die Zeitangabe in sekunden oder millisekunden?

          [[commandId1,time],commandId2,…]

          so wie es im code-kommentar angegeben ist funktioniert es bei mir nicht. Habe sämtliche kombinationen ausprobiert. Scheinbar mach ich etwas falsch.... `
          "time" ist nicht die Zeit zwischen den Commands, sondern wie lange die Taste gedrückt werden soll, also z.B 1000 für eine Sekunde. Ohne Angabe sind es immer 110ms, weniger kann der Hub wohl eh nicht.

          Um auch Zeiten zwischen den Eingaben zu ermöglichen könnte man das Skript erweitern:

          NICHT GETESTET!

          ! ```
          `/* created States /
          var sequenceStateId = "javascript." + instance + ".HIFI.HubSequence.input";
          createState(sequenceStateId, "");
          ! /
          format:

          • [[commandId1,time], time, commandId2,...]
            */

          ! on({id: sequenceStateId, change: "any"}, function (state) {
          if (state.newState.ack === false){
          setState(sequenceStateId, "", true);
          try{
          var array = JSON.parse(state.newState.val);
          var delay = 0;
          if (Array.isArray(array)){
          for (var i = 0; i < array.length; i++){
          if (Array.isArray(array[i])) {
          if (array[i].length > 1) {
          setStateDelayed(array[i][0], array[i][1], delay, false);
          delay += array[i][1];
          }else{
          setStateDelayed(array[i][0], 110, delay, false);
          delay += 110;
          }
          } else if (typeof array[i] === 'number') {
          delay += array[i];
          } else if (typeof array[i] === 'string'){
          setStateDelayed(array[i], 110, delay, false);
          delay += 110;
          }
          }
          }
          }catch(e) {
          log("invalid json", 'warn');
          }
          }
          });! Habs gestetet und funktioniert! Angabe der zeitverzögerung muss in Millisekunden erfolgen. Danke dir![/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] ```

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

            @eXTreMe:

            @senger1985:

            Hallo und danke für deine Antwort.

            Ist das soweit richtig?(Siehe Fotos)

            Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `

            Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!

            ["command1","command2","command3"] usw ist das erforderliche schema! `

            Hallo eXTreMe,

            ich bekomme es einfach nicht hin.

            Falls es keine Umstände macht, könntest du mir evtl. Screenshots machen, wie es genau auszusehen hat?

            Einen guten Start in die Woche.

            1 Reply Last reply Reply Quote 0
            • E
              eXTreMe last edited by

              @senger1985:

              @eXTreMe:

              @senger1985:

              Hallo und danke für deine Antwort.

              Ist das soweit richtig?(Siehe Fotos)

              Denn, wenn ich auf den Btn. klicke, passiert leider nichts. `

              Bei Wert sehe ich nicht die eckigen klammern, die sind notwendig!

              ["command1","command2","command3"] usw ist das erforderliche schema! `

              Hallo eXTreMe,

              ich bekomme es einfach nicht hin.

              Falls es keine Umstände macht, könntest du mir evtl. Screenshots machen, wie es genau auszusehen hat?

              Einen guten Start in die Woche. `

              Hier anbei ein Screenshot von den Einstellungen meines VIS Widgets für Pro7 (Sendernummer 16)
              2665_hubsequence.png
              Hier der Wert der in den input Datenpunkt geschrieben wird

              ["harmony.0.Wohnzimmer.activities.Fernsehen","harmony.0.Wohnzimmer.Samsung-Fernseher.Exit","harmony.0.Wohnzimmer.Samsung-Fernseher.InputTv","harmony.0.Wohnzimmer.Samsung-Fernseher.Number1","harmony.0.Wohnzimmer.Samsung-Fernseher.Number6","harmony.0.Wohnzimmer.Samsung-Fernseher.Select"]
              

              im Prinzip reicht auch das hier um den Sender 16 (bei mir Pro7) anzuschalten:

              ["harmony.0.Wohnzimmer.Samsung-Fernseher.Number1","harmony.0.Wohnzimmer.Samsung-Fernseher.Number6","harmony.0.Wohnzimmer.Samsung-Fernseher.Select"]
              

              Datenpunkte musst du halt entsprechend auf deinen Fernseher anpassen.

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

                Hallo,

                ich hab jetzt alles versucht.

                Mit[], im Script, ohne und vieles mehr.

                Jetzt bekomme ich folgende Meldung(siehe Bild)
                5296_umschalten.png
                5296_umschalten1.png

                1 Reply Last reply Reply Quote 0
                • E
                  eXTreMe last edited by

                  Was schreibst du bei "Wert" rein, kopier mal alles hier rein bitte

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

                    z. B.:

                    ["harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number8"]
                    
                    1 Reply Last reply Reply Quote 0
                    • E
                      eXTreMe last edited by

                      hmm ja, so ist das korrekt wenn er die 8 drücken soll.

                      wenn er nach der 8 noch beispielsweise die 5 drücken soll müsste das vom Schema her so aussehen:

                      ["harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number8","harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number5"]
                      

                      Aber das scheinst du ja verstanden zu haben.

                      Funktioniert denn der Command mit nur der "8" (also ohne weitere tastencommands hintendran)?

                      Oder kommt da die gleiche meldung?

                      Falls da auch die meldung kommt: funktioniert es denn wenn du unter Objekte beim Harmony Adapter die Buttons für die Zahlen des Geräts mit der Maus anklickst?

                      Weil die Fehlermeldungen sagen ja "client offline" also "Hub nicht erreichbar".

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

                        Nope, sehe gerade, dass gar nichts über den Adapter funktioniert, nicht mal die Aktionen, im Vis führt er aus.

                        [EDIT] Habe den Adapter neu gestartet und jetzt den erstellten erstellten Btn klicke, sendet er den Befehlsreihenfolge aber gleich 2x.

                        harmony.0	2018-02-20 04:22:25.055	info	hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number7=110
                        harmony.0	2018-02-20 04:22:25.054	info	hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number1=110
                        harmony.0	2018-02-20 04:22:25.045	info	hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number1=110
                        harmony.0	2018-02-20 04:22:25.045	info	hub busy, stateChange delayed: harmony.0.Hub_Wohnzimmer.Sagemcom-DVR.Number7=110
                        
                        

                        Und warum er die letzte Zahl am Anfang senden möchte(obwohl sie nicht geschalten wird), ist mir schleierhaft.

                        Aber es funktioniert jetzt.

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

                          Hallo zusammen,

                          vielleicht kann einer von euch mir helfen.

                          Habe das Script "Hifi Hub Sequenze" genommen um die States anzulegen.

                          Habe diesen Befehl bei Wert im Widget "Ctrl. Icon State "angegeben ["harmony.0.Wohnzimmer.TV Home.Number1","harmony.0.Wohnzimmer.TV Home.Number0","harmony.0.Wohnzimmer.TV Home.Number7","harmony.0.Wohnzimmer.TV Home.Select"].

                          Es wird aber nur 2stellig geschaltet.

                          Bräuchte es aber 3stellig.

                          Grüße helfi9999

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          512
                          Online

                          31.6k
                          Users

                          79.4k
                          Topics

                          1.3m
                          Posts

                          13
                          32
                          5664
                          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