Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Scenes Adapter - Anfänger Frage Schaltzustand überprüfen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Scenes Adapter - Anfänger Frage Schaltzustand überprüfen

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

      Hallo

      Ich habe folgende Scene um meinen Fernseher einzuschalten Erstellt:

      1. Homematic Funk-Schaltaktor schaltet ein

      2. nach 40000 ms (Startzeit vom Harmony hub) wird die Harmony Activitie Fernsehen ausgelöst.

      Das klappt schon mal ganz gut.

      Aber wie kann ich das realisieren, bedingt das Schritt eins, also der Funk-Schaltaktor bereits eingeschaltet ist ( ein Zustand soll überprüft werden), das Schritt 2 dann sofort ausgelöst wird?

      Und gibt es auch die möglichkeit in dieser Scene das ausschaltet zu realisieren?

      Meine Suche in dieser richtung war bis jetzt erfolglos.

      In vorraus schon mal Danke!

      gruß

      Gingo79

      1 Reply Last reply Reply Quote 0
      • kmxak
        kmxak Most Active last edited by

        Poste mal dein Script was du bislang hast.

        Das sollte kein Problem sein denke ich. Ich habe schon mehrere Scripte in die Richtung gesehen.

        Du musst halt noch zwischen 1 und 2 einbauen das er den Zustand der Geräte checkt und dann entsprechend weiter macht.

        1 Reply Last reply Reply Quote 0
        • G
          gingo79 last edited by

          Hi,

          die Einstellungen laufen allein über den Scenes Adapter.

          Mit Scripte habe ich bislang keine Erfahrungen und wüsste nicht wo ich ansetzten müsste.

          Läst sich das nur über ein Script realisieren?

          Gruß

          Gingo79

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            Der scenen Adapter kann wie der Name schon sagt szenen schalten. (mehrere Geräte, mit und ohne Verzögerung, mit und ohne Übergabe von Parametern, usw..)

            Was du willst ist aber eine Bedingte Ausführung.

            WENN Strom an, DANN sofort,

            SONST erst 40 Sekunden später.

            Ich glaube nicht, dass dies allein mit dem Szenenadapter klappen kann.

            Gruß

            Rainer

            1 Reply Last reply Reply Quote 0
            • G
              gingo79 last edited by

              Ja, das klingt logisch.

              Habe schon nach einer Script Anleitung für Anfänger gesucht, aber nichts gefunden, was mich ansatzweise an mein Ziel heranführt.

              Kann mir jemand bitte Unter die Arme greifen, wie das zu realisieren ist?

              Oder gibt es vielleicht schon ein ähnliches Script, welches ich versuchen könnte für meine Bedürfnisse anzupassen?

              Danke und Gruß

              Gingo79

              1 Reply Last reply Reply Quote 0
              • rantanplan
                rantanplan last edited by

                Suche hier im Forum mal nach Blockly.

                Damit kannst Du scripten ohne scripten zu können.

                Grüße

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  Vorschlag:

                  var idAktor = 'hm-rpc.0.XEQ1234567:1.STATE';
                  var idTVEin = 'javascript.0.TV-Ein';  // TV soll eingeschaltet werden
                  
                  var Harmony = getState(idAktor).val;  // Harmony ist bereit
                  
                  function TVEin() {
                     Hier TV einschalten
                  }
                  
                  on(idAktor, function(dp) {
                     if(dp.state.val) {
                        setTimeout(function() {  // Aktor schaltet ein
                            Harmony = true;
                        }, 40000);
                     }   
                     else Harmony = false;  // Aktor schaltet aus
                  });
                  
                  on({id: idTVEin, val: true}, function() {
                     if(Harmony) TVEin();  // Harmony ist schon bereit
                     else {
                        setState(idAktor, true);   // Aktor Ein
                        setTimeout(TVEin, 40000);  // TV verzögert ein
                     }   
                     setState(idTVEin, false);
                  });
                  
                  1 Reply Last reply Reply Quote 0
                  • G
                    gingo79 last edited by

                    Ich Danke euch für die Ansätze!

                    Ich werde damit mal nächste Woche experimentieren, da ich zur Zeit über Ostern nicht zu Hause bin.

                    Aber als erstes muss ich den JavaScript Adapter installieren und dort das Script einfügen?

                    Gruß

                    Gingo79

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @gingo79:

                      Aber als erstes muss ich den JavaScript Adapter installieren und dort das Script einfügen? `
                      Ja. Außerdem die Datenpunkt-IDs (oberste 2 Zeilen) anpassen !

                      1 Reply Last reply Reply Quote 0
                      • G
                        gingo79 last edited by

                        Hi,

                        so, ich kam endlich mal zum Testen.

                        Irgendwie, scheitere ich daran, das Script vom VIS aus zu steuern.

                        Habe zwar schon ein paar Beiträge gelesen in der Richtung, aber für einen Anfänger, habe ich nichts passendes gefunden.

                        Wäre nett wenn mir da jemand noch helfen könnte.

                        Im Cloud Adapter habe ich das Script (hoffe das ich alles richtig gemacht habe) , unter Smart Geräte nun zugefügt.

                        Wenn ich dieses nun mit Alexa ausführe, passiert nichts und im Log vom Script Adapter kommt folgende Fehler Meldung:

                        javascript.0 script.js.common.TV_einschalten compile failed: SyntaxError: Unexpected identifier

                        Die Datenpunkt Id's habe ich angepasst.

                        var idAktor = 'hm-rpc.0.NEQ1729755.1.STATE';
                        
                        var idTVEin = 'harmony.0.Harmony_Hub.activities.Fernsehen';  // TV soll eingeschaltet werden
                        
                        var Harmony = getState(idAktor).val;  // Harmony ist bereit
                        
                        function TVEin() {
                        
                           Hier TV einschalten
                        
                        }
                        
                        on(idAktor, function(dp) {
                        
                           if(dp.state.val) {
                        
                              setTimeout(function() {  // Aktor schaltet ein
                        
                                  Harmony = true;
                        
                              }, 40000);
                        
                           }
                        
                           else Harmony = false;  // Aktor schaltet aus
                        
                        });
                        
                        on({id: idTVEin, val: true}, function() {
                        
                           if(Harmony) TVEin();  // Harmony ist schon bereit
                        
                           else {
                        
                              setState(idAktor, true);   // Aktor Ein
                        
                              setTimeout(TVEin, 40000);  // TV verzögert ein
                        
                           }
                        
                           setState(idTVEin, false);
                        
                        });
                        

                        Wo liegt der Fehler?

                        Gruß

                        Gingo79

                        1 Reply Last reply Reply Quote 0
                        • G
                          gingo79 last edited by

                          Den Fehler habe ich glaube ich gefunden, bei "Hier TV einschalten" fehlten wohl nur die //

                          Aber ich komme einfach nicht weiter, wie man das Script via VIS ansteuert.

                          Ich habe den Datenpunkt auch via Cloud an Alexa eingebunden, aber dadurch aktiviere und deaktiviere den Script, aber schalte das Script nicht.

                          Wäre nett, wenn mir bitte jemand helfen könnte.

                          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

                          735
                          Online

                          32.0k
                          Users

                          80.4k
                          Topics

                          1.3m
                          Posts

                          5
                          11
                          1548
                          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