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. ioBroker Allgemein
  4. [gelöst] Favoriten Harmony Adapter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Favoriten Harmony Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 3 Kommentatoren 2.8k 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.
  • H Offline
    H Offline
    hofmannha
    schrieb am zuletzt editiert von
    #1

    Hallo Zusammen,

    ich bin neu hier Forum. Ich habe ioBroker auf einem RasPi2 laufen.

    Kompliment an die Entwickler. Ich bin begeistert was hier entstanden ist.

    Ich habe folgendes Problem und hoffe von Euch auf eine Lösung.

    Ich habe ein Harmony Hub und möchte gerne die Favoriten vom Harmony Hub

    Zur Verfügung haben. Lässt sich das realisieren?

    Oder wie kann ich bei meinem TV eine dreistellige Senderwahl

    Realisieren?

    Gruß und einen guten Rutsch ins neue Jahr

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo und willkomen im Forum,

      ich kann nur einen Schubs in die richtige Richtung geben, sitze im Hotel. VPN gerade nicht möglich.

      Es geht beim Harmony um das sequentielle Absenden von Befehlen. Jede Taste lässt sich über den Harmony Adapter drücken.

      In einem Javascript zB

      setState(harmony.0.RadioXY.TasteZ, 250)
      

      bedeutet, dass die Taste Z des RadiosXY für 250ms gedrückt wird (bitte Harmony Readme lesen).

      In Kombination mit https://github.com/ioBroker/ioBroker.javascript#setstatedelayed kannst du dir eine Kette von Befehlen zusammenbasteln (fiktives Beispiel):

      // Radio einschalten, Kanal 12 wählen
      setState(harmony.0.RadioXY.TasteToggleONOFF, 250); // nach 0s (kein Delay, nur setState) für 250ms lang Toggle onoff drücken
      setStateDelayed(harmony.0.RadioXY.Taste1, 250, 500); // nach 500ms für 250ms Taste 1 drücken
      setStateDelayed(harmony.0.RadioXY.Taste2, 250, 800); // nach weiteren 300ms für weitere 250ms Taste 2 drücken
      

      Das kann natürlich auch der sequence-Adapter (dafür ist er ja da). Oder eigentlich auch der Scenes-Adapter. Man muss halt die "Drückdauer" im Auge behalten und möglichst realistische Intervalle setzen (mit der Hand auf der Fernbedienung drückt man eher im Sekunden als im 200ms-Bereich).

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • Jey CeeJ Online
        Jey CeeJ Online
        Jey Cee
        Developer
        schrieb am zuletzt editiert von
        #3

        Hi pix,

        ich kennen den > sequence-Adapter gar nicht und hab den auch nirgends gefunden. Kannst du mir sagen welcher Adapter das ist.

        Persönlicher Support
        Spenden -> paypal.me/J3YC33

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von
          #4

          Findest du hier direkt beim fleißigen Entwickler hometm

          http://forum.iobroker.net/viewtopic.php … nce#p12361

          Gruß,

          Pix
          9308_raspi_led.jpg

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Antwort Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #5

            Danke pix.

            Persönlicher Support
            Spenden -> paypal.me/J3YC33

            1 Antwort Letzte Antwort
            0
            • H Offline
              H Offline
              hofmannha
              schrieb am zuletzt editiert von
              #6

              Hi Pix,

              vielen Dank für die Antwort. Leider komme ich mit dem Script

              nicht klar. Egal welches Script ich ausführe, ich bekomme im Log

              immer eine Fehlermeldung: "Invalid regular expression: missing /".

              Ich habe versucht einfach nur eine Lampe einzuschalten, da kommt diese

              Meldung. Was kann das sein?

              MfG

              1 Antwort Letzte Antwort
              0
              • Jey CeeJ Online
                Jey CeeJ Online
                Jey Cee
                Developer
                schrieb am zuletzt editiert von
                #7

                Hofmannha häng doch mal einen Screenshot der Fehlermeldung an auf der man sieht welcher Adapter die Fehlermeldung aus spuckt und dein(e) scripte.

                Die Fehlermeldung sagt es fehlt ein "/", aber wo kann man so nicht sagen.

                Gesendet von meinem Tab2A7-10F mit Tapatalk

                Persönlicher Support
                Spenden -> paypal.me/J3YC33

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  hofmannha
                  schrieb am zuletzt editiert von
                  #8

                  Hi pix,

                  ich habe es gefunden, woran es liegt. Ich hatte in der Konfiguration des javascript-Adapters

                  vergessen die Länge und Breite einzutragen. Dann kommt diese Fehlermeldung.

                  Gruß
                  7572_unbenannt.jpg

                  1 Antwort Letzte Antwort
                  0
                  • H Offline
                    H Offline
                    hofmannha
                    schrieb am zuletzt editiert von
                    #9

                    Hallo pix,

                    ich brauche noch mal deine Hilfe.

                    Ich habe ein Script erstellt nach deinem Schema und es funktioniert.

                    Danke dafür.

                    Taste_101

                    setState("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250); // nach 0s (kein Delay, nur setState) für 250ms lang Taste 1 drücken

                    setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number0", 250, 500); // nach 500ms für 250ms Taste 0 drücken

                    setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250, 800); // nach weiteren 300ms für weitere 250ms Taste 1 drücken

                    Ich möchte nun dieses Script "Taste_101" mit einem Button starten.

                    Es funktioniert nicht.

                    Wenn ich auf "Script neu starten" in dem Tab Scripte drücke funktioniert es, aber mit einem

                    Button mit der entsprechenden Object ID nicht.

                    Zudem ist mir aufgefallen, dass wenn ich das Script neu erstelle, es unter der Object-ID im Object-Browser nicht sichtbar ist.

                    Erst wenn ich noch mal das Script editiere, und erneut speichere, erst dann ist es unter der Object-ID im Object-Browser sichtbar.

                    Gruß

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #10

                      Hallo hofmannha,

                      die Skripte sind nur im Skriptreiter sichtbar, nicht unter Objekte.
                      @hofmannha:

                      Erst wenn ich noch mal das Script editiere, und erneut speichere, erst dann ist es unter der Object-ID im Object-Browser sichtbar. ` Nicht das Skript ist sichtbar, sondern die mit createState erstellten Objekte.

                      @hofmannha:

                      Wenn ich auf "Script neu starten" in dem Tab Scripte drücke funktioniert es, aber mit einem

                      Button mit der entsprechenden Object ID nicht. ` Was meinst du mit "Button der entsprechenden Object ID"?

                      Womit möchtest du das Skript starten? Mit einem Tastendruck auf einem Homematic-Gerät? Ein VIS Widget? Zeitgesteuert?

                      Ich muss da genau nachfragen, sonst reden wir aneinander vorbei.

                      Pix

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • H Offline
                        H Offline
                        hofmannha
                        schrieb am zuletzt editiert von
                        #11

                        Hallo Pix,

                        vielleicht nerve ich.

                        Ich möchte ganz einfach obiges Script über einen Button starten.

                        Der Hintergrund ist, dass ich meine TV-Favoriten über eine View mit

                        Widgets (Senderlogos) erstellen möchte und über den Harmony-Hub

                        Mein TV auf das entsprechende Programm zu schalten.

                        Das Obige Script von Dir funktioniert aber wie kann ich mit einem Widget starten?

                        Gruß

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          pix
                          schrieb am zuletzt editiert von
                          #12

                          Hallo,

                          nein, du nervst nicht. Jetzt weiß ich, dass du einen Button in VIS meinst.

                          Bluefox hat dafür hier mal ein Skript geschrieben.

                          http://forum.iobroker.net/viewtopic.php … tien#p8035

                          Ist daraus nur ein kleiner Ausschnitt.

                          Ich würde das so machen:

                          // Variable zum Triggern anlegen
                          createState('harmony.101', false, {
                             name:'Harmony Aktion Tasten 101 drücken',
                             type: 'boolean',
                             read: true,
                             write: true
                          });
                          
                          // in ID packen
                          var id101 =' javascript.0.harmony.101'; // bitte prüfen, ob das Skript auch in Instanz 0 läuft, sonst anpassen
                          
                          // Aktion in Funktion gepackt
                          function 101_druecken () {
                              setState("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250); // nach 0s (kein Delay, nur setState) für 250ms lang Taste 1 drücken
                              setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number0", 250, 500); // nach 500ms für 250ms Taste 0 drücken
                              setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250, 800); // nach weiteren 300ms für weitere 250ms Taste 1 drücken
                          }
                          
                          // Trigger (wenn Trigger-Variable true)
                          on(id101, function (obj) {
                              if (!obj.newState.ack && obj.newState.val) {
                                  log('VIS Button <harmony 101="">gedrückt');
                                  101_druecken(); // Aktion
                                  setState(id101, false); // zurücksetzen
                              }
                          });</harmony> 
                          

                          In VIS packst du dann in die Einstellungen des Buttons die OID javascript.0.harmony.101

                          Und natürlich kannst du für jede Harmony-Aktion eine weitere Variable und weitere Funktion anlegen. Du musst nur auf die Übersichtlichkeit achten.

                          Gruß

                          Pix

                          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                          1 Antwort Letzte Antwort
                          0
                          • H Offline
                            H Offline
                            hofmannha
                            schrieb am zuletzt editiert von
                            #13

                            Hallo Pix,

                            vielen Dank für deine Mühe.

                            Ich habe das Script von Dir eingefügt und etwas geändert. Eine Funktion darf nicht

                            mit einer Zahl beginnen. Ich habe mit javascript bisher nichts am Hut gehabt. Ich habe

                            in der Vergangenheit mit Visual Studio und tcl gearbeitet.

                            Ich habe es jetzt so geändert.

                            // Variable zum Triggern anlegen

                            createState('harmony.T101', false, {

                            name:'Harmony Aktion Tasten 101 drücken',

                            type: 'boolean',

                            read: true,

                            write: true

                            });

                            // in ID packen

                            var id101 =' javascript.0.harmony.T101'; // bitte prüfen, ob das Skript auch in Instanz 0 läuft, sonst anpassen

                            // Aktion in Funktion gepackt

                            function druecke_101 () {

                            setState("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250); // nach 0s (kein Delay, nur setState) für 250ms lang Taste 1 drücken

                            setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number0", 250, 500); // nach 500ms für 250ms Taste 0 drücken

                            setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250, 800); // nach weiteren 300ms für weitere 250ms Taste 1 drücken

                            }

                            // Trigger (wenn Trigger-Variable true)

                            on(id101, function (obj) {

                            if (!obj.newState.ack && obj.newState.val) {

                            log('VIS Button <harmony 101="">gedrückt');

                            druecke_101(); // Aktion

                            setState(id101, false); // zurücksetzen

                            }

                            });

                            Ich habe dann in den Eigenschaften des Button die OID "javascript.0.harmony.T101" zugewiesen.

                            Doch leider tut sich nichts nach dem Betätigen des Button.

                            Log:

                            javascript-0 2015-12-31 09:01:21 info script.js.T101: registered 1 subscription and 0 schedules

                            javascript-0 2015-12-31 09:01:21 info Start javascript script.js.T101

                            javascript-0 2015-12-31 09:01:21 info Stop script script.js.T101

                            Gruß</harmony>

                            1 Antwort Letzte Antwort
                            0
                            • P Offline
                              P Offline
                              pix
                              schrieb am zuletzt editiert von
                              #14

                              Hallo,

                              kriegen wir hin, bei mir klappt es:

                              ! ````
                              // Variable zum Triggern anlegen
                              createState('harmony.T101', false, {
                              name:'Harmony Aktion Tasten 101 drücken',
                              type: 'boolean',
                              read: true,
                              write: true
                              });
                              ! // in ID packen
                              var id101 ="javascript.0.harmony.T101"/Harmony Aktion Tasten 101 drücken/; // bitte prüfen, ob das Skript auch in Instanz 0 läuft, sonst anpassen
                              setState(id101, false, true); // zurücksetzen bei skriptstart
                              ! // Aktion in Funktion gepackt
                              function druecke_101() {
                              setState("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250); // nach 0s (kein Delay, nur setState) für 250ms lang Taste 1 drücken
                              setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number0", 250, 500); // nach 500ms für 250ms Taste 0 drücken
                              setStateDelayed("harmony.0.Wohnzimmer.Philips-Fernseher.Number1", 250, 800); // nach weiteren 300ms für weitere 250ms Taste 1 drücken
                              ! setState(id101, false, true); // zurücksetzen
                              }
                              ! // Trigger (wenn Trigger-Variable true)
                              on(id101, function (obj) {
                              if (!obj.newState.ack && obj.newState.val) {
                              log('VIS Button <harmony 101=""> gedrückt');
                              druecke_101(); // Aktion
                              }
                              });</harmony>

                              
                              Dazu zB dieses Widget:
                              

                              [{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.harmony.T101","visibility-cond":"==","visibility-val":1,"buttontext":"101","name":"Taste 101","value":"true","no_style":false},"style":{"left":"267px","top":"23px","z-index":"20"},"widgetSet":"jqui"}]

                              Wichtig ist, dass die Javascript Variable immer auf 'false' steht. Deshalb die Rückstellung bei Skriptstart.
                              
                              Porbier mal!
                              
                              Gruß,
                              
                              Pix
                              
                              PS: Evtl. mal die javascript.0-Instanz neustarten. Kann es sein, dass die Variable nicht angelegt wurde?

                              ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                              1 Antwort Letzte Antwort
                              0
                              • H Offline
                                H Offline
                                hofmannha
                                schrieb am zuletzt editiert von
                                #15

                                Hi Pix,

                                es geht super und vielen Dank.

                                Einen guten Rutsch ins Jahr 2015

                                Gruß

                                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

                                830

                                Online

                                32.7k

                                Benutzer

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