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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Harmony Hub - Sender umschalten

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

      Hallo zusammen,

      wollte auch das Script nutzen, da ich mich aber mit Programmieren nicht auskenne komme ich nicht klar damit. Kann mir jemand sagen wie der Code im gesamten aussehen muss.

      Bei mir wird kein Datenpunkt angelegt nur der Ordner "HubSequence"

      Danke

      Gruss Oli

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

        Hallo,

        ich habe das Script jetzt angelegt, komme aber kein Stück weiter, wie ich jetzt auf z. B. 103 schalten kann.

        Wie mache ich das mit den Datenpunkten?

        Kann mir das bitte jemand erklären, evtl. mit Screenshots?

        Sorry, stehe wirklich auf dem Schlauch.

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

          in den vom script erzeugten Datenpunkt "input" schreibst du die Sequenz rein in form der Datenpunkte der Buttons vom harmony adapter nach folgendem Schema:

          ["harmony.0.Wohnzimmer_Hub.TV.Number1","harmony.0.Wohnzimmer_Hub.TV.Number0","harmony.0.Wohnzimmer_Hub.TV.Number3","harmony.0.Wohnzimmer_Hub.TV.Select"]
          

          Das Script drückt dann die Datenpunkte nacheinander durch. Also Zahl 1, Zahl 0, Zahl 3 und den Select (OK) Button.

          Du musst natürlich die Datenpunkte entsprechend umbenennen, so wie sie bei dir halt heißen.

          In Vis kannst du dann über ein Basic HTML State Widget im Feld "Wert" deine Sequenz von oben eingeben, als objekt wählst du natürlich den input Datenpunkt den das Script erstellt hat aus.

          Schon hast du einen Knopf in Vis der bei Betätigung die Button-Sequenz in den input Datenpunkt schreibt.

          Das einzige was ich selber noch nicht rausgefunden habe ist wie Zeitverzögerungen zwischen einzelnen Tastendrucken genau funktionieren.

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

            Hallo und danke für deine Antwort.

            Ist das soweit richtig?(Siehe Fotos)

            Denn, wenn ich auf den Btn. klicke, passiert leider nichts.
            5296_umschalten3.png
            5296_umschalten2.png
            5296_umschalten.png

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

              Mal eine Frage:

              Ich habe das Ganze über Szenen gelöst. Habe mir also für jeden Sender eine Szene angelegt, die nacheinander die Zahlentasten sendet.

              Ist das eine gleichwertige Lösung oder welcher Vorteil ergibt sich aus der Javascript-Lösung?

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

                @Arnulf:

                Mal eine Frage:

                Ich habe das Ganze über Szenen gelöst. Habe mir also für jeden Sender eine Szene angelegt, die nacheinander die Zahlentasten sendet. `

                Hab ich genauso gemacht.

                1 Reply Last reply Reply Quote 0
                • K
                  Kueppert last edited by

                  Ich habe das einfach über ein Widget gelöst, in dem die Befehle nacheinander eingetragen sind. Denke, ist jeden selbst überlassen. Ich wollte nicht extra Szenen dafür erstellen

                  Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                    @Kueppert:

                    Ich habe das einfach über ein Widget gelöst, in dem die Befehle nacheinander eingetragen sind. `

                    Kann man das Widget auch per Alexa bedienen?

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kueppert last edited by

                      @Momik:

                      @Kueppert:

                      Ich habe das einfach über ein Widget gelöst, in dem die Befehle nacheinander eingetragen sind. `

                      Kann man das Widget auch per Alexa bedienen? ` Öhm… Gute Frage. Nutze derzeit die Verknüpfung zwischen Cloud pro und Alexa noch nicht. Hatte dafür noch keine Zeit :-S

                      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                        Irgendwie will mich die ganze Geschichte ärgern.

                        Wenn ich eine Szene z. B. für ProSieben "116" erstelle, zeigt mein Receiver keine Reaktion.

                        Dann "muss" ich wohl bei der "normalen" Harmony Elite bleiben! 😞

                        1 Reply Last reply Reply Quote 0
                        • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            982
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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