Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] on Methode wird nicht ausgeführt

    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] on Methode wird nicht ausgeführt

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

      Hallo zusammen,

      Ich poste hier direkt mal den ganzen Code.

      Ich möchte unten sobald der Status gesetzt wird eine Nachricht bekomme. Als erstes im Log und später per Telegram.

      Das Problem hier ist das ich den Eintrag im Log nicht sehe. Ich habe in der Methode auch schon versucht mit direkt eine Nachricht zu senden.

      Ich bin mir sicher die Methode wird nicht ausgeführt.

      Der Status oben wird gesetzt und zurüc gesetzt. Habe mir das ins Vis gelegt und kann es dort beobachten.

      Sieht jemand mein Fehler?

              createState("RaumklimaBerechnung.Wohnzimmer.Lueften" , false, {
               read: true, 
               write: true, 
               desc: "", 
               type: "boolean", 
               def: 0
                });
      
      schedule("* * * * *", function () {
      
          var ra = getState("xxx").val;
          var ri = getState("xxx").val;
      
          if (ri > (ra+1)) {
          setState("RaumklimaBerechnung.Wohnzimmer.Lueften",true);
          } 
          if (ri < (ra)) {
          setState("RaumklimaBerechnung.Wohnzimmer.Lueften",false);
          } 
      
      });
      
          //Telegram Nachicht senden
          on({id: "RaumklimaBerechnung.Wohnzimmer.Lueften", val: true}, function (obj) {
          console.log("Telegram Lüften versenden");
          }); 
      
      
      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo,

        ich empfehle dir, den langen ID-Namen in eine Konstante zu packen. Der ändert sich ja nicht und so kannst du den Code übersichtlicher machen und eine Fehlerquelle ausschließen. Denn ich glaube, hier liegt auch das Problem.

        Während createState() automatisch die Instanz des Javascript-Adapters auswählt, in der das Skript abgespeichert wurde, braucht on() den Adapternamen und die Instanz immer in der ID.

        
        const idLueften = "javascript." + instance +  ".RaumklimaBerechnung.Wohnzimmer.Lueften";
        
        createState(idLueften, false, {
            read: true,
            write: true,
            desc: "",
            type: "boolean",
            def: 0
        });
        
        schedule("* * * * *", function() {
        
            var ra = getState("xxx").val;
            var ri = getState("xxx").val;
        
            if (ri > (ra + 1)) {
                setState(idLueften, true);
            }
            if (ri < (ra)) {
                setState(idLueften, false);
            }
        
        });
        
        //Telegram Nachicht senden
        on({id: idLueften, val: true}, function(obj) {
            console.log("Telegram Lüften versenden");
        });
        
        

        Gruß

        Pix

        PS: Oder ändere ergänze einfach deinen Code um die Instanz in der on()-Funktion (hier als Beispiel mit Instanz 0)

        ! //Telegram Nachicht senden on({id: "javascript.0.RaumklimaBerechnung.Wohnzimmer.Lueften", val: true}, function (obj) { console.log("Telegram Lüften versenden"); }); !

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

        Support us

        ioBroker
        Community Adapters
        Donate

        963
        Online

        31.7k
        Users

        79.9k
        Topics

        1.3m
        Posts

        2
        2
        682
        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