Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [erledigt]if else Lampenüberwachung

    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

    [erledigt]if else Lampenüberwachung

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

      Hallo,

      ich möchte aus MQTT Lampen überwachen.

      Wenn irgend eine Lampe an ist, soll eine LED leuchten. Dann kann ich über einen Taster, alle aus schalten.

      Das mit dem Ausschalten habe ich hin bekommen, aber nicht die Überwachung.

      Ich Blockly habe ich das nicht hin bekommen, und habe es direkt über Javascript probiert, aber da hängt es leider auch.

      on({id:"mqtt.0.Garten.Laube.Schalter1-4.stat.POWER3"}, function(obj){ 
      
      if (getState("mqtt.0.Garten.Laube.Schalter1-4.stat.POWER3", "ON").val|| getState("mqtt.0.Garten.Laube.Schalter1-4.stat.POWER4", "ON").val||getState("mqtt.0.Garten.Laube.Schalter1-4.stat.POWER3", "OFF").val&& getState("mqtt.0.Garten.Laube.Schalter1-4.stat.POWER4", "OFF").val)
      {
      setState("mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER1", "ON");
      }else{
      setState("mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER1", "OFF");
      }
      });
      
      

      POWER1 ist meine Überwachung LED.

      Zum Test ist POWER 3 und 4 mein Licht.

      Jetzt bekomme ich den Trigger "noch" von Power3 . Wenn ich dort das Licht an mache, geht auch meine POWER1 LED an, aber nicht wieder aus.

      Also Problem

      Ich brauche den Trigger wenn POWER3 oder POWER4 auf ON geht. Wenn POWER3 und POWER4 auf OFF geht, soll POWER1 aus gehen.

      Könnt ihr mir dabei helfen?

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

        @AtomicIX:

        Ich brauche den Trigger wenn POWER3 oder POWER4 auf ON geht. Wenn POWER3 und POWER4 auf OFF geht, soll POWER1 aus gehen. `
        Vorschlag:

        const idP1 = "mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER1";
        const idP3 = "mqtt.0.Garten.Laube.Schalter1-4.stat.POWER3";
        const idP4 = "mqtt.0.Garten.Laube.Schalter1-4.stat.POWER4";
        
        var p3 = getState(idP3).val;
        var p4 = getState(idP4).val;
        
        function setP1() {
           if(p3 == "ON" || p4 == "ON") setState(idP1, "ON");
           else setState(idP1, "OFF");
        }
        
        setP1(); // Skriptstart
        
        on(idP3, function(dp) {
           p3 = dp.state.val;
           setP1();
        });
        on(idP4, function(dp) {
           p4 = dp.state.val;
           setP1();
        });
        
        
        1 Reply Last reply Reply Quote 0
        • AtomicIX
          AtomicIX last edited by

          Auf den ersten Blick sieht das super aus, vor allem übersichtlich und super zu erweitern. Werde ich morgen mal testen und dann berichten. Vielen Dank.

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

            Super, das funktioniert genau wie gewünscht.

            Eine super Hilfe, danke.

            Und was dazu gelernt, wie man sowas, strukturiert anstellen kann.

            // *Start* Lampen überwachen
            const idP1 = "mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER1";
            const idP3 = "mqtt.0.Garten.Laube.Schalter1-4.stat.POWER3";
            const idP4 = "mqtt.0.Garten.Laube.Schalter1-4.stat.POWER4";
            
            var p3 = getState(idP3).val;
            var p4 = getState(idP4).val;
            
            function setP1() {
               if(p3 == "ON" || p4 == "ON") setState(idP1, "ON");
               else setState(idP1, "OFF");
            }
            
            setP1(); // Skriptstart
            
            on(idP3, function(dp) {
               p3 = dp.state.val;
               setP1();
            });
            on(idP4, function(dp) {
               p4 = dp.state.val;
               setP1();
            });
            
            //*Ende* Lampen überwachen
            //*Start* Alle Lampen aus
            on({id:"mqtt.0.Garten.Laube.Schalter1-4.stat.POWER1", change:"ne", val:"OFF"}, function(obj){ 
            
                  setState("mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER3", "OFF");
                  setState("mqtt.0.Garten.Laube.Schalter1-4.cmnd.POWER4", "OFF");
            });
            //*Ende* Alle Lampen aus
            
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            846
            Online

            31.8k
            Users

            79.9k
            Topics

            1.3m
            Posts

            2
            4
            313
            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