Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] on Methode wird nicht ausgeführt

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

[gelöst] on Methode wird nicht ausgeführt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 2 Kommentatoren 738 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    woehrer
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      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"); }); !

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      788

      Online

      32.4k

      Benutzer

      81.6k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe