Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hue Lampen mittels Skript über .vis steuern - Fehler im Skript?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hue Lampen mittels Skript über .vis steuern - Fehler im Skript?

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

      Hallo zusammen,

      ich habe folgendes Skript erstellt:

      (
          {id: "javascript.0.scriptEnabled.Lichtsteuerung.Wohnzimmer.Dummy_Skript", change: "any"}, function (obj) 
              {
                  if (getState("hue.0.Philips_hue.Fernseher.on").val === true) 
                  {
                      setState("hue.0.Philips_hue.Fernseher.on", false);
                      setState("hue.0.Philips_hue.Fernseher.level", 0);
                      setState("hue.0.Philips_hue.Fernseher.bri", 0);
      
                  }
                  else
                      {
                          setState("hue.0.Philips_hue.Fernseher.on", true);
                          setState("hue.0.Philips_hue.Fernseher.level", 100);
                          setState("hue.0.Philips_hue.Fernseher.bri", 254);
                      }
              }
      );
      
      

      Lasse ich den else Teil weg, funktioniert das Skript über vis.

      Mit else Teil sieht es so aus als würde der if Teil und dann der else Teil ausgeführt ohne die Bedingung zu berücksichtigen. Ich meine das an anhand der Änderungen der Werte in der Objektanzeige zu sehen.

      Spannend ist, dass wenn ich das Dummy Skript (also das Triggerskript) manuell starte und stoppe funktioniert das Skript einwandfrei.

      Wo habe ich den Fehler eingebaut? Oder denke ich nur verkehrt?

      Vielen Dank schon mal

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

        @Znarf:

        "javascript.0.scriptEnabled.Lichtsteuerung.Wohnzimmer.Dummy_Skript" `
        als Trigger ? Keine eigenen Datenpunkte unter javascript.0.scriptEnabled verwenden !!

        Was soll das Skript machen ? Ich vermute mal, die Funktion soll als Taste in Vis ausgelöst werden. Dann erzeuge den Datenpunkt besser im Skript.

        createState('Lichtsteuerung.Wohnzimmer.Taste', true, {type: 'boolean'});
        
        on({id: 'javascript.0.Lichtsteuerung.Wohnzimmer.Taste'}, function() {
           if (getState("hue.0.Philips_hue.Fernseher.on").val === true) {
              setState("hue.0.Philips_hue.Fernseher.on", false);
              setState("hue.0.Philips_hue.Fernseher.level", 0);
              setState("hue.0.Philips_hue.Fernseher.bri", 0);
           } else {
              setState("hue.0.Philips_hue.Fernseher.on", true);
              setState("hue.0.Philips_hue.Fernseher.level", 100);
              setState("hue.0.Philips_hue.Fernseher.bri", 254);
           }
        });
        

        Skripte bitte in Code tags posten !

        1 Reply Last reply Reply Quote 0
        • Z
          Znarf last edited by

          @paul53:

          @Znarf:

          "javascript.0.scriptEnabled.Lichtsteuerung.Wohnzimmer.Dummy_Skript" `
          als Trigger ? Keine eigenen Datenpunkte unter javascript.0.scriptEnabled verwenden !!

          Ich habe keinen eigenen Datenpunkt verwendet, sondern den automatisch bereitgestellten.

          Was soll das Skript machen ? Ich vermute mal, die Funktion soll als Taste in Vis ausgelöst werden. Dann erzeuge den Datenpunkt besser im Skript.

          Richtig, die Funktion soll mittels eines Button in Vis ausgelöst werden.

          createState('Lichtsteuerung.Wohnzimmer.Taste', true, {type: 'boolean'});
          
          on({id: 'javascript.0.Lichtsteuerung.Wohnzimmer.Taste'}, function() {
             if (getState("hue.0.Philips_hue.Fernseher.on").val === true) {
                setState("hue.0.Philips_hue.Fernseher.on", false);
                setState("hue.0.Philips_hue.Fernseher.level", 0);
                setState("hue.0.Philips_hue.Fernseher.bri", 0);
             } else {
                setState("hue.0.Philips_hue.Fernseher.on", true);
                setState("hue.0.Philips_hue.Fernseher.level", 100);
                setState("hue.0.Philips_hue.Fernseher.bri", 254);
             }
          });
          

          Skripte bitte in Code tags posten !

          habe ich gemacht - danke für die Info `

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          532
          Online

          31.7k
          Users

          79.9k
          Topics

          1.3m
          Posts

          2
          3
          322
          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