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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Harmony Hub - Sender umschalten

NEWS

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

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

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

Harmony Hub - Sender umschalten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
32 Beiträge 13 Kommentatoren 6.6k Aufrufe 1 Watching
  • Ä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.
  • BBTownB Offline
    BBTownB Offline
    BBTown
    schrieb am zuletzt editiert von
    #9

    Die grundsätzliche Vorgehensweise zur Steuerung eines Datenpunktes über Alexa findest Du hier: http://forum.iobroker.net/viewtopic.php?p=80812#p80696

    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
    • K Offline
      K Offline
      Kueppert
      schrieb am zuletzt editiert von
      #10

      Hi,

      wenn ich das Script starte erhalte ich folgende Fehlermeldung:

      [warn] javascript.0 script.js.common.LogitechHUB.Channel: invalid json

      Muss ich im Script etwas anpassen???

      Hab auch das Widget angelegt und an meinen Hub angepasst

      ["harmony.0.Harmony_Hub.Samsung_TV.Number2",""harmony.0.Harmony_Hub.Samsung_TV.Number0"]
      

      Wenn ich es drücke, kommt im log wieder die o. g. Fehlermeldung :(

      Danke euch und Grüße, Thorsten

      Problem gelöst:

      Erstens hatte ich 2 " in meinem Widget und hatte den letzten Befehl "Select" vergessen :-S

      Code sieht jetzt für Channel 20 wie folgt aus bei mir:

      ["harmony.0.Harmony_Hub.Samsung_TV.Number2","harmony.0.Harmony_Hub.Samsung_TV.Number0","harmony.0.Harmony_Hub.Samsung_TV.Select"]
      

      2700_2017-09-08_08_07_15-iobroker.admin.png
      2700_2017-09-08_08_08_49-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
      • E Offline
        E Offline
        eXTreMe
        schrieb am zuletzt editiert von
        #11

        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....

        Ich möchte 2x hintereinander Select ausführen aber dazwischen 2 Sekunden Pause haben, wie muss das genau aussehen?

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

        Danke für die Hilfe!

        1 Antwort Letzte Antwort
        0
        • O Offline
          O Offline
          olifall
          schrieb am zuletzt editiert von
          #12

          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 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            senger1985
            schrieb am zuletzt editiert von
            #13

            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 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              eXTreMe
              schrieb am zuletzt editiert von
              #14

              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 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                senger1985
                schrieb am zuletzt editiert von
                #15

                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 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Arnulf
                  schrieb am zuletzt editiert von
                  #16

                  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 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Momik
                    schrieb am zuletzt editiert von
                    #17

                    @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 Antwort Letzte Antwort
                    0
                    • K Offline
                      K Offline
                      Kueppert
                      schrieb am zuletzt editiert von
                      #18

                      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

                      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
                      • M Offline
                        M Offline
                        Momik
                        schrieb am zuletzt editiert von
                        #19

                        @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 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          Kueppert
                          schrieb am zuletzt editiert von
                          #20

                          @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

                          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
                          • S Offline
                            S Offline
                            senger1985
                            schrieb am zuletzt editiert von
                            #21

                            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 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              Pman
                              schrieb am zuletzt editiert von
                              #22

                              @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 Antwort Letzte Antwort
                              0
                              • E Offline
                                E Offline
                                eXTreMe
                                schrieb am zuletzt editiert von
                                #23

                                @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 Antwort Letzte Antwort
                                0
                                • E Offline
                                  E Offline
                                  eXTreMe
                                  schrieb am zuletzt editiert von
                                  #24

                                  @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 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    senger1985
                                    schrieb am zuletzt editiert von
                                    #25

                                    @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 Antwort Letzte Antwort
                                    0
                                    • E Offline
                                      E Offline
                                      eXTreMe
                                      schrieb am zuletzt editiert von
                                      #26

                                      @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 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        senger1985
                                        schrieb am zuletzt editiert von
                                        #27

                                        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 Antwort Letzte Antwort
                                        0
                                        • E Offline
                                          E Offline
                                          eXTreMe
                                          schrieb am zuletzt editiert von
                                          #28

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

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          517

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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