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. Yahka.0 und Harmony Hub activities

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    484

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Yahka.0 und Harmony Hub activities

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
42 Beiträge 14 Kommentatoren 7.0k Aufrufe 4 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.
  • M Offline
    M Offline
    madmax1314
    schrieb am zuletzt editiert von
    #20

    Die Ordner wurden quasi automatisch erstellt als ich den Skriptnamen eingegeben habe…

    Leider funktioniert es noch immer nicht. Kann es sein, dass die Skripte nicht laufen?

    "custom.0.harmony.scenes.Fernsehen" hatte ich außerdem manuell in yahka eingetragen? Ist das so ok? Oder muss das mit einem Klick auf die Schaltfläche mit den drei Punkten auswählbar sein. Das ist es nämlich nicht...
    18192_yahka.png
    18192_skript.png

    1 Antwort Letzte Antwort
    0
    • Homer.J.H Offline
      Homer.J.H Offline
      Homer.J.
      schrieb am zuletzt editiert von
      #21

      @madmax1314:

      Die Ordner wurden quasi automatisch erstellt als ich den Skriptnamen eingegeben habe…

      Leider funktioniert es noch immer nicht. Kann es sein, dass die Skripte nicht laufen?

      "custom.0.harmony.scenes.Fernsehen" hatte ich außerdem manuell in yahka eingetragen? Ist das so ok? Oder muss das mit einem Klick auf die Schaltfläche mit den drei Punkten auswählbar sein. Das ist es nämlich nicht... `

      Zeig mir mal deine Harmony Einstellung.

      Und z.B. das Skript für deinen Fernseher.

      dumme Frage

      Hast du die Skripte angeschalten. ?

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        madmax1314
        schrieb am zuletzt editiert von
        #22

        Also es gibt drei Activities/Szenen/Aktionen für die Harmony:

        • Fernsehen

        • AppleTV

        • Retro Pie

        Skripte sind denke ich aktiviert (Start Button geklickt…) Was bedeutet denn "Instanz ist deaktiviert"?
        18192_harmony.png
        18192_instanzen.png
        18192_skript_fernseher.png
        18192_skripte.png

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          danw
          schrieb am zuletzt editiert von
          #23

          Irgendwie ist jetzt alles durcheinander ;)

          Das Script ist extra so geschrieben, dass wenn man Activities in der Harmony hinzufügt, das Script nicht anpassen muss. Also bitte nichts daran ändern.

          In ein einziges Script machst du folgendes rein. Man könnte es noch in zwei aufteilen, bringt aber nix.

          //"custom.0.harmony.scenes.*"
          on({id: /^custom\.0\.harmony\.scenes\..*$/, val:true, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
          
              var altername = obj.id;
              var fields = altername.split(".");
              var activity = fields[4];
          
              const dps = $("custom.0.harmony.scenes.*");
              var devices = [];
              dps.each(function(id, i) { 
                  if (altername != id && getState(id).val == true) {  
                      setState(id, false);
                  }
              });
              activity = "harmony.0.Harmony_Hub.activities." + activity;
              log("---- ANGESCHALTET " + activity + " ---");
              setState(activity, 1);
          });
          
          on({id: /^custom\.0\.harmony\.scenes\..*$/, val:false,change: "ne"}, function (obj) {
              var check_if_sth_on = false;
              const dps = $("custom.0.harmony.scenes.*");
              var devices = [];
              dps.each(function(id, i) { 
                  if (getState(id).val == true) {   
                      check_if_sth_on = true;
                  }
              });
              if (check_if_sth_on == false) {
                  var altername = obj.id;
                  var fields = altername.split(".");
                  var activity = fields[4];
                  activity = "harmony.0.Harmony_Hub.activities." + activity;
                  setState(activity, 0);
              }
              });
          
              //Wenn per FB aus-/umgeschaltet wird, muss das auch erkannt werden
          
          on({id: 'harmony.0.Harmony_Hub.activities.currentActivity', change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              var activity = getState('harmony.0.Harmony_Hub.activities.currentActivity').val;
              var customactivity = getState("custom.0.harmony.scenes." + activity).val;
              if (customactivity == false && activity != "PowerOff") {
                  setState("custom.0.harmony.scenes." + activity, true);
              }
              if (activity == "PowerOff") {
                  const dps = $("custom.0.harmony.scenes.*");
                  var devices = [];
                  dps.each(function(id, i) {  
                          setState(id, false); 
                  });
              }
          });
          
          

          Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

          Wenn du also die Activities "Fernsehen", "AppleTV", "RetroPie" hast, dann

          custom.0.harmony.scenes.Fernsehen, custom.0.harmony.scenes.AppleTV, custom.0.harmony.scenes.RetroPie

          NICHT unter javascript.0

          Falls du es darunter, oder woanders, haben möchtest, musst du das Script entsprechend anpassen.

          It's not a Bug, it's a Feature

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            madmax1314
            schrieb am zuletzt editiert von
            #24

            Könntest du mir mal ein Screenshot von deiner Konfig schicken.

            Das hier verstehe ich einfach nicht:

            Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

            Was meinst du mit Datenpunkte? In yahka, richtig?

            NICHT unter javascript.0

            Was meinst du damit?

            Nochmal vielen Dank für die Hilfe!!!

            1 Antwort Letzte Antwort
            0
            • Homer.J.H Offline
              Homer.J.H Offline
              Homer.J.
              schrieb am zuletzt editiert von
              #25

              @madmax1314:

              Könntest du mir mal ein Screenshot von deiner Konfig schicken.

              Das hier verstehe ich einfach nicht:

              Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

              Was meinst du mit Datenpunkte? In yahka, richtig?

              NICHT unter javascript.0

              Was meinst du damit?

              Nochmal vielen Dank für die Hilfe!!! `

              Gib es mal so ein. Müsste jetzt auf dich angepasst sein. Und da wo jetzt Fernehen steht gibst du dann Apple TV usw. ein

              genau wie es bei dir im Harmony Adapter drin steht.

              ! on({id: /^custom.0.harmony.scenes.Fernsehen.$/, val:true}, function (obj) {
              ! var value = obj.state.val;
              ! var oldValue = obj.oldState.val;
              ! var ack = obj.state.ack;
              ! var altername = obj.id;
              ! var fields = altername.split(".");
              ! var activity = fields[4];
              ! const dps = $("custom.0.harmony.scenes.
              ");
              ! var devices = [];
              ! dps.each(function(id, i) {
              ! if (altername != id && getState(id).val == true) {
              ! setState(id, false);
              ! }
              ! });
              ! activity = "harmony.0.Harmony_Hub.activities." + activity;
              ! setState(activity, 1);
              ! });
              ! on({id: /^custom.0.harmony.scenes.Fernsehen.$/, val:false}, function (obj) {
              ! var anges = false;
              ! const dps = $("custom.0.harmony.scenes.
              ");
              ! var devices = [];
              ! dps.each(function(id, i) {
              ! if (getState(id).val == true) {
              ! anges = true;
              ! }
              ! });
              ! if (anges == false) {
              ! var altername = obj.id;
              ! var fields = altername.split(".");
              ! var activity = fields[4];
              ! activity = "harmony.0.Harmony_Hub.activities." + activity;
              ! setState(activity, 0);
              ! }
              ! });

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                danw
                schrieb am zuletzt editiert von
                #26

                @madmax1314:

                Könntest du mir mal ein Screenshot von deiner Konfig schicken.

                Das hier verstehe ich einfach nicht:

                Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

                Was meinst du mit Datenpunkte? In yahka, richtig?

                NICHT unter javascript.0

                Was meinst du damit?

                Nochmal vielen Dank für die Hilfe!!! `

                Geh auf Objekte, drück auf das Plus und erstelle die Objekte direkt im Wurzelverzeichnis. Bei dir sind die ja unter javascript.0.

                It's not a Bug, it's a Feature

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  madmax1314
                  schrieb am zuletzt editiert von
                  #27

                  Et voila. Klappt alles!

                  Vielen Dank nochmal Euch!

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    mucki
                    schrieb am zuletzt editiert von
                    #28

                    Vielen Dank für die Hinweise hier im Thread!

                    Aber leider stehe ich ebenso auf dem Schlauch :oops:

                    Das zweite Script nur einmal anlegen -> checked

                    Das erste Script für jede Activity anlegen und in Zeile 1 und 19 zwischen den Punkten den Activity-Namen eintragen - checked

                    Folgendes ist mir auch nach den zahlreichen Erläuterungen unklar:

                    1. Wenn man das Script mit dem Namen wie z.B. custom.0.harmony.scenes.AppleTV abspeichert, wird wie in den geposteten Screenshots von madmax1314 für jeden Namensbestandteil bis zum nächsten Punkt ein Unterordner angelegt. Das Script ist dann zwar mit dem richtigem Namen gespeichert, aber halt in den Unterordnern custom -> custom.0 -> custom.0.harmony.scenes -> custom.0.harmony.scenes.AppleTV (also genau wie in dem Screenshot von madmax1314)

                    Ist das jetzt schlimm, oder einfach nur unschön?

                    1. Durch die bisherige Anlage der Scripte wurde ja in der Tat noch kein Datenpunkt erzeugt.

                    Wenn ich jetzt nach auf Objekte gehe und dort auf das +, bekomme ich den „Parent“ ja schon vorgegeben und soll noch Name/Typ/Dateipunkttyp angeben.

                    Name: Nehme an ebenfalls custom.0.harmony.scenes.AppleTV ?

                    Typ: Datenpunkt ?

                    Dateipunkttyp: Logikwert oder Schalter ?

                    Egal was man auswählt kommt man danach ja in den Bildschirm zur weiteren Objektbearbeitung.

                    Scheinbar muss man hier auch noch Sachen ausfüllen wo ich gerade rumstochere.

                    kleinlautwerd bitte nochmal ne Info wie ich für die erzeugten Scripte (custom.0.harmony.scenes.AppleTV etc etc) jetzt doch gleich Datenpunkte erzeuge :oops:

                    1 Antwort Letzte Antwort
                    0
                    • Homer.J.H Offline
                      Homer.J.H Offline
                      Homer.J.
                      schrieb am zuletzt editiert von
                      #29

                      @mucki:

                      Vielen Dank für die Hinweise hier im Thread!

                      Aber leider stehe ich ebenso auf dem Schlauch :oops:

                      Das zweite Script nur einmal anlegen -> checked

                      Das erste Script für jede Activity anlegen und in Zeile 1 und 19 zwischen den Punkten den Activity-Namen eintragen - checked

                      Folgendes ist mir auch nach den zahlreichen Erläuterungen unklar:

                      1. Wenn man das Script mit dem Namen wie z.B. custom.0.harmony.scenes.AppleTV abspeichert, wird wie in den geposteten Screenshots von madmax1314 für jeden Namensbestandteil bis zum nächsten Punkt ein Unterordner angelegt. Das Script ist dann zwar mit dem richtigem Namen gespeichert, aber halt in den Unterordnern custom -> custom.0 -> custom.0.harmony.scenes -> custom.0.harmony.scenes.AppleTV (also genau wie in dem Screenshot von madmax1314)

                      Ist das jetzt schlimm, oder einfach nur unschön?

                      1. Durch die bisherige Anlage der Scripte wurde ja in der Tat noch kein Datenpunkt erzeugt.

                      Wenn ich jetzt nach auf Objekte gehe und dort auf das +, bekomme ich den „Parent“ ja schon vorgegeben und soll noch Name/Typ/Dateipunkttyp angeben.

                      Name: Nehme an ebenfalls custom.0.harmony.scenes.AppleTV ?

                      Typ: Datenpunkt ?

                      Dateipunkttyp: Logikwert oder Schalter ?

                      Egal was man auswählt kommt man danach ja in den Bildschirm zur weiteren Objektbearbeitung.

                      Scheinbar muss man hier auch noch Sachen ausfüllen wo ich gerade rumstochere.

                      kleinlautwerd bitte nochmal ne Info wie ich für die erzeugten Scripte (custom.0.harmony.scenes.AppleTV etc etc) jetzt doch gleich Datenpunkte erzeuge :oops: `
                      Nein nur unter Objekte auf + dort kopierst du das( custom.0.harmony.scenes.AppleTV ) rein als Logikwert und schließt es wieder und fertig das zweite was sich öffnet kannst du ignorieren einfach nur schließen und das machst du mit jeden einzelnen Datenpunkt.

                      Grüße

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        mucki
                        schrieb am zuletzt editiert von
                        #30

                        Vielen Dank für die engelsgleiche Geduld :D

                        Ja, so würde es gehen!

                        Nach diversen Versuchen hin und her habe ich die Harmony Activities dann aber doch über Homebridge eingebunden…

                        1 Antwort Letzte Antwort
                        0
                        • besc2deB Offline
                          besc2deB Offline
                          besc2de
                          schrieb am zuletzt editiert von
                          #31

                          Hallo zusammen,

                          vielen Dank für die Skripte. Sie funktionieren bei mit wunderbar, sodass ich die Harmony-Aktivitäten jetzt endlich auch über HomeKit deaktivieren kann. Leider erhalte ich in den Logs aber noch ein Warning, was mich etwas irritiert:

                          javascript.0	2019-02-03 14:57:10.779	warn	at Object. <anonymous>(script.js.custom.0.harmony.scenes.Fernsehen:46:26)
                          javascript.0	2019-02-03 14:57:10.772	warn	getState "custom.0.harmony.scenes.PowerOff" not found (3)</anonymous>
                          

                          Ich habe jeweils für jede Harmony-Aktivität ein Script angelegt sowie das einzelne Script für das Ausschalten mit der Harmony-Fernbedienung (PowerOff):

                          9785_error.png

                          Hat jemand eine Idee, warum im JS die Scene "custom.0.harmony.scenes.PowerOff" trotzdem nicht gefunden werden kann?

                          Das Log zeigt folgende Einträge:

                          9785_log.png

                          Danke euch und viele Grüße

                          Ben

                          1 Antwort Letzte Antwort
                          0
                          • Homer.J.H Offline
                            Homer.J.H Offline
                            Homer.J.
                            schrieb am zuletzt editiert von
                            #32

                            @besc2de:

                            Hallo zusammen,

                            vielen Dank für die Skripte. Sie funktionieren bei mit wunderbar, sodass ich die Harmony-Aktivitäten jetzt endlich auch über HomeKit deaktivieren kann. Leider erhalte ich in den Logs aber noch ein Warning, was mich etwas irritiert:

                            javascript.0	2019-02-03 14:57:10.779	warn	at Object. <anonymous>(script.js.custom.0.harmony.scenes.Fernsehen:46:26)
                            javascript.0	2019-02-03 14:57:10.772	warn	getState "custom.0.harmony.scenes.PowerOff" not found (3)</anonymous>
                            

                            Ich habe jeweils für jede Harmony-Aktivität ein Script angelegt sowie das einzelne Script für das Ausschalten mit der Harmony-Fernbedienung (PowerOff):

                            error.png

                            Hat jemand eine Idee, warum im JS die Scene "custom.0.harmony.scenes.PowerOff" trotzdem nicht gefunden werden kann?

                            Das Log zeigt folgende Einträge:

                            log.png

                            Danke euch und viele Grüße

                            Ben `

                            Hast du auch für alles die passenden Variablen angelegt. ?

                            Grüße

                            1 Antwort Letzte Antwort
                            0
                            • besc2deB Offline
                              besc2deB Offline
                              besc2de
                              schrieb am zuletzt editiert von
                              #33

                              Ich habe jeweils die entsprechenden Datenpunkte angelegt und sie im yahka referenziert:

                              9785_objects.png
                              9785_object.png 9785_reference.png 9785_script.png

                              1 Antwort Letzte Antwort
                              0
                              • Homer.J.H Offline
                                Homer.J.H Offline
                                Homer.J.
                                schrieb am zuletzt editiert von
                                #34

                                @besc2de:

                                Ich habe jeweils die entsprechenden Datenpunkte angelegt und sie im yahka referenziert:

                                objects.PNG

                                object.PNGreference.PNGscript.PNG `

                                So wie ich das sehe hast du deine Scene in Zeile 2 noch nicht benannt, muss dann ungefähr so aussehen.

                                on({id: /^javascript\.0\.Harmony\.scenes\.Smart_TV_wiedergeben.*$/, val:true, change: "ne"}, function (obj) {
                                

                                Grüße

                                1 Antwort Letzte Antwort
                                0
                                • besc2deB Offline
                                  besc2deB Offline
                                  besc2de
                                  schrieb am zuletzt editiert von
                                  #35

                                  @Homer1976:

                                  @besc2de:

                                  Ich habe jeweils die entsprechenden Datenpunkte angelegt und sie im yahka referenziert:

                                  objects.PNG

                                  object.PNGreference.PNGscript.PNG `

                                  So wie ich das sehe hast du deine Scene in Zeile 2 noch nicht benannt, muss dann ungefähr so aussehen.

                                  on({id: /^javascript\.0\.Harmony\.scenes\.Smart_TV_wiedergeben.*$/, val:true, change: "ne"}, function (obj) {
                                  

                                  Grüße `

                                  Vielen Dank für die schnelle Antwort. Genau das war es! Jetzt funktionieren alle 3 Scripte ohne Probleme.

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    danw
                                    schrieb am zuletzt editiert von
                                    #36

                                    @Homer1976: Wieso empfiehlst du den Leuten ständig das Script "falsch" zu benutzen? Der Aufwand im Script wäre nicht nötig, wenn jede Scene benannt werden würde. Der Sinn ist es genau das nicht zu tun.

                                    It's not a Bug, it's a Feature

                                    1 Antwort Letzte Antwort
                                    0
                                    • Homer.J.H Offline
                                      Homer.J.H Offline
                                      Homer.J.
                                      schrieb am zuletzt editiert von
                                      #37

                                      @danw:

                                      @Homer1976: Wieso empfiehlst du den Leuten ständig das Script "falsch" zu benutzen? Der Aufwand im Script wäre nicht nötig, wenn jede Scene benannt werden würde. Der Sinn ist es genau das nicht zu tun. `

                                      Hi danw,

                                      ich hatte das selbe Problem das es so nicht gelaufen ist, erst als ich die Datenpunkte so angepasst habe hat es funktioniert.

                                      Das gleiche wurde ja hier zuvor bestätigt.

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        danw
                                        schrieb am zuletzt editiert von
                                        #38

                                        @danw:

                                        Irgendwie ist jetzt alles durcheinander ;)

                                        Das Script ist extra so geschrieben, dass wenn man Activities in der Harmony hinzufügt, das Script nicht anpassen muss. Also bitte nichts daran ändern.

                                        In ein einziges Script machst du folgendes rein. Man könnte es noch in zwei aufteilen, bringt aber nix.

                                        //"custom.0.harmony.scenes.*"
                                        on({id: /^custom\.0\.harmony\.scenes\..*$/, val:true, change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                        
                                            var altername = obj.id;
                                            var fields = altername.split(".");
                                            var activity = fields[4];
                                        
                                            const dps = $("custom.0.harmony.scenes.*");
                                            var devices = [];
                                            dps.each(function(id, i) { 
                                                if (altername != id && getState(id).val == true) {  
                                                    setState(id, false);
                                                }
                                            });
                                            activity = "harmony.0.Harmony_Hub.activities." + activity;
                                            log("---- ANGESCHALTET " + activity + " ---");
                                            setState(activity, 1);
                                        });
                                        
                                        on({id: /^custom\.0\.harmony\.scenes\..*$/, val:false,change: "ne"}, function (obj) {
                                            var check_if_sth_on = false;
                                            const dps = $("custom.0.harmony.scenes.*");
                                            var devices = [];
                                            dps.each(function(id, i) { 
                                                if (getState(id).val == true) {   
                                                    check_if_sth_on = true;
                                                }
                                            });
                                            if (check_if_sth_on == false) {
                                                var altername = obj.id;
                                                var fields = altername.split(".");
                                                var activity = fields[4];
                                                activity = "harmony.0.Harmony_Hub.activities." + activity;
                                                setState(activity, 0);
                                            }
                                            });
                                            
                                            //Wenn per FB aus-/umgeschaltet wird, muss das auch erkannt werden
                                            
                                        on({id: 'harmony.0.Harmony_Hub.activities.currentActivity', change: "ne"}, function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            var activity = getState('harmony.0.Harmony_Hub.activities.currentActivity').val;
                                            var customactivity = getState("custom.0.harmony.scenes." + activity).val;
                                            if (customactivity == false && activity != "PowerOff") {
                                                setState("custom.0.harmony.scenes." + activity, true);
                                            }
                                            if (activity == "PowerOff") {
                                                const dps = $("custom.0.harmony.scenes.*");
                                                var devices = [];
                                                dps.each(function(id, i) {  
                                                        setState(id, false); 
                                                });
                                            }
                                        });
                                        
                                        

                                        Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

                                        Wenn du also die Activities "Fernsehen", "AppleTV", "RetroPie" hast, dann

                                        custom.0.harmony.scenes.Fernsehen, custom.0.harmony.scenes.AppleTV, custom.0.harmony.scenes.RetroPie

                                        NICHT unter javascript.0

                                        Falls du es darunter, oder woanders, haben möchtest, musst du das Script entsprechend anpassen. `

                                        Ich kann nur empfehlen nur das zu machen. Dafür ist das Script da und so soll es ja gehen. So muss nur unter "custom.0.harmony.scenes" die Szene erstellt werden. Sonst nix. Und das geht auch ;)

                                        Sollte der Datenpunkt unter javascript.0 sein muss das natürlich angepasst werden, sonst aber nix.

                                        //edit: Wenns nicht geht sag Bescheid (und poste ne Fehlermeldung, wenn vorhanden), dann helfe ich gern.

                                        It's not a Bug, it's a Feature

                                        1 Antwort Letzte Antwort
                                        0
                                        • besc2deB Offline
                                          besc2deB Offline
                                          besc2de
                                          schrieb am zuletzt editiert von
                                          #39

                                          @danw:

                                          @danw:

                                          Irgendwie ist jetzt alles durcheinander ;)

                                          Das Script ist extra so geschrieben, dass wenn man Activities in der Harmony hinzufügt, das Script nicht anpassen muss. Also bitte nichts daran ändern.

                                          In ein einziges Script machst du folgendes rein. Man könnte es noch in zwei aufteilen, bringt aber nix.

                                          //"custom.0.harmony.scenes.*"
                                          on({id: /^custom\.0\.harmony\.scenes\..*$/, val:true, change: "ne"}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                          
                                              var altername = obj.id;
                                              var fields = altername.split(".");
                                              var activity = fields[4];
                                          
                                              const dps = $("custom.0.harmony.scenes.*");
                                              var devices = [];
                                              dps.each(function(id, i) { 
                                                  if (altername != id && getState(id).val == true) {  
                                                      setState(id, false);
                                                  }
                                              });
                                              activity = "harmony.0.Harmony_Hub.activities." + activity;
                                              log("---- ANGESCHALTET " + activity + " ---");
                                              setState(activity, 1);
                                          });
                                          
                                          on({id: /^custom\.0\.harmony\.scenes\..*$/, val:false,change: "ne"}, function (obj) {
                                              var check_if_sth_on = false;
                                              const dps = $("custom.0.harmony.scenes.*");
                                              var devices = [];
                                              dps.each(function(id, i) { 
                                                  if (getState(id).val == true) {   
                                                      check_if_sth_on = true;
                                                  }
                                              });
                                              if (check_if_sth_on == false) {
                                                  var altername = obj.id;
                                                  var fields = altername.split(".");
                                                  var activity = fields[4];
                                                  activity = "harmony.0.Harmony_Hub.activities." + activity;
                                                  setState(activity, 0);
                                              }
                                              });
                                              
                                              //Wenn per FB aus-/umgeschaltet wird, muss das auch erkannt werden
                                              
                                          on({id: 'harmony.0.Harmony_Hub.activities.currentActivity', change: "ne"}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              var activity = getState('harmony.0.Harmony_Hub.activities.currentActivity').val;
                                              var customactivity = getState("custom.0.harmony.scenes." + activity).val;
                                              if (customactivity == false && activity != "PowerOff") {
                                                  setState("custom.0.harmony.scenes." + activity, true);
                                              }
                                              if (activity == "PowerOff") {
                                                  const dps = $("custom.0.harmony.scenes.*");
                                                  var devices = [];
                                                  dps.each(function(id, i) {  
                                                          setState(id, false); 
                                                  });
                                              }
                                          });
                                          
                                          

                                          Das einzige, was du dann per Hand machen musst, ist die Datenpunkte wie auch in meinem Post dazu beschrieben zu erstellen.

                                          Wenn du also die Activities "Fernsehen", "AppleTV", "RetroPie" hast, dann

                                          custom.0.harmony.scenes.Fernsehen, custom.0.harmony.scenes.AppleTV, custom.0.harmony.scenes.RetroPie

                                          NICHT unter javascript.0

                                          Falls du es darunter, oder woanders, haben möchtest, musst du das Script entsprechend anpassen. `

                                          Ich kann nur empfehlen nur das zu machen. Dafür ist das Script da und so soll es ja gehen. So muss nur unter "custom.0.harmony.scenes" die Szene erstellt werden. Sonst nix. Und das geht auch ;)

                                          Sollte der Datenpunkt unter javascript.0 sein muss das natürlich angepasst werden, sonst aber nix.

                                          //edit: Wenns nicht geht sag Bescheid (und poste ne Fehlermeldung, wenn vorhanden), dann helfe ich gern. `

                                          Vielen Dank für die Ergänzung! Hat auf Anhieb funktioniert, sodass ich jetzt nur noch 1 Script am laufen habe. Echt ein klasse Support hier in dem Forum, danke @Homer1976 und @danw

                                          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

                                          717

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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