Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. [gelöst]Schalter invertieren

    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

    [gelöst]Schalter invertieren

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Marco.K last edited by

      Moin zusammen!

      Ich habe jetzt auch eine Alexa. 😄

      Hab Skill und ioBroker auch schon alles eingreichtet.

      Nur bei einem Lichtschalter habe ich ein Problem: Ich muss Licht aus sagen um das einzuschalten und umgekehrt.

      Gibt es ähnlich wie in der Visualisierung die Möglichkeit den 'Schalter' zu invertieren?

      LG - Marco

      1 Reply Last reply Reply Quote 0
      • M
        Marco.K last edited by

        Ich antworte mir mit der Lösung mal selbst. :lol:

        Google hat mich auf den folgenden Thread gestossen: http://preview.iobroker.com/forum/viewt … =21&t=5704

        Habe das Script etwas abgewandelt da ich den Taster nicht toggeln möchte.

        var logOn           = true; // Logausgabe im Skript
        var forecreation    = false; // true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
        
        var pfad            = "Alexa" + "."; // Pfad in dem die Datenpunkte angelegt werden
        
        // Datenpunktnamen:
        var idTriggerWechselschalter    = pfad + 'KitchenLight';
        var idWechselschalter           = "hm-rpc.0.OEQ1158099";
        
        createState(idTriggerWechselschalter, false, forecreation, {
             name: 'Alexa Trigger für Küchenlicht',
             desc: 'Invertiert den Alexa-Befehl für den Wechselschalter',
             type: 'boolean',
             unit: '',
             role: 'value'
        });
        
        on({id: "javascript."+instance+"."+idTriggerWechselschalter ,change:'any'}, function (obj) {
            if(logOn) log("Alexa-Trigger für Küchenlicht erkannt");
            if(logOn) log("Wert: " + getState("javascript."+instance+"."+idTriggerWechselschalter).val);
        
            if (getState("javascript."+instance+"."+idTriggerWechselschalter).val === true) {
                setState(idWechselschalter+".1.STATE", false);
            } else if (getState("javascript."+instance+"."+idTriggerWechselschalter).val === false) {
                setState(idWechselschalter+".1.STATE", true);
            }
        });
        
        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          Das geht einfacher und Resourcen schonender. Anstelle

              if(logOn) log("Wert: " + getState("javascript."+instance+"."+idTriggerWechselschalter).val);
          
              if (getState("javascript."+instance+"."+idTriggerWechselschalter).val === true) {
                  setState(idWechselschalter+".1.STATE", false);
              } else if (getState("javascript."+instance+"."+idTriggerWechselschalter).val === false) {
                  setState(idWechselschalter+".1.STATE", true);
              }
          
          

          besser so:

              if(logOn) log("Wert: " + obj.state.val);
          
              setState(idWechselschalter+".1.STATE", !obj.state.val);
          
          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

          800
          Online

          31.9k
          Users

          80.3k
          Topics

          1.3m
          Posts

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