Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. (gesucht) Kleines Script: Kaffeemaschine

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.2k

(gesucht) Kleines Script: Kaffeemaschine

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 3 Kommentatoren 2.3k 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.
  • D Offline
    D Offline
    DiJaexxl
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe einen Zwischenstecker an der hängt unsere Kaffeemaschine in der Küche.

    Jetzt suche ich jemanden, der mir ein kleines Script schreibt zum folgenden Ablauf.

    Ich möchte gerne das, nachdem ich den Zwischenstecker (Variabel) eingeschaltet habe, und ein Stromverbrauch (variabel) erreicht wurde, der Zwischenstecker nach x Sek. (variabel) sich abschaltet.

    Die Zeitvariabel möchte ich auch dafür nutzen, dass wenn die Kaffeemaschine garnicht eingeschaltet wurde, der Stecker sich nach der Zeit auch wieder abschaltet.

    Ich habe den MEQ0273558 (das ist das Teil mit Leistungsmessung).

    Der Pfad zum mA Wert lautet: MEQ0273558.2.CURRENT

    Kann mir da bitte einer ein "kleines" Script erstellen?

    Ich möchte es mit den Variablen haben, dann kann man es auch anderswo einsetzten.

    Oder gibt es im E-Net einen besseren Platz für die Frage/Bitte.

    Danke im voraus

    Gruss aus Bensberg

    Dirk

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Das folgende Skript enthält nicht das Einschalten des Zwischensteckers:

      var stromid = "hm-rpc.0.MEQ0273558.2.CURRENT";
      var steckerid = "hm-rpc.0.MEQ0273558.1.STATE";
      var eindauerid = getIdByName("Kaffee.Einschaltdauer"); // Einschaltdauer in Minuten
      var schwelleid = getIdByName("Kaffee.Stromschwelle"); // Stromgrenzwert in mA
      
      var timer = null;
      var stromschwelle = getState(schwelleid).val;
      var eindauer = 60000 * getState(eindauerid).val;
      
      function ausschalten() {
      	if (timer) {
      		clearTimeout(timer);
      		timer = null;
      	}
      	timer =  setTimeout(function() {
              setState(steckerid, false);
         }, eindauer);  // nach eindauer Minuten aus
      }
      
      on(stromid, function(dp) { 
      	if (dp.state.val > stromschwelle) ausschalten();  // Kaffeemaschine wird eingeschaltet
      });
      
      on({id: steckerid, val: true}, ausschalten);  // Stecker wird eingeschaltet
      
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        DiJaexxl
        schrieb am zuletzt editiert von
        #3

        Das Einschalten mach ich anders.

        DANKE!!!!

        Gruss aus Bensberg

        Dirk

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          DiJaexxl
          schrieb am zuletzt editiert von
          #4

          Hallo Paul,

          ich bekomme im Log folgenden Fehler

          [error]	javascript.0 script.js.Test.Kaffeemaschine compile failed: SyntaxError: Unexpected token function
          
          

          Im Scripteditor habe ich eine Fehlermeldung bei der Zeile 10

          ausschalten function () {

          var stromid = "hm-rpc.0.MEQ0273558.2.CURRENT";
          var steckerid = "hm-rpc.0.MEQ0273558.1.STATE";
          var eindauerid = getIdByName("3"); // Einschaltdauer in Minuten
          var schwelleid = getIdByName("100"); // Stromgrenzwert in mA
          
          var timer = null;
          var stromschwelle = getState(schwelleid).val;
          var eindauer = 60000 * getState(eindauerid).val;
          
          ausschalten function () {
             if (timer) {
                clearTimeout(timer);
                timer = null;
             }
             timer =  setTimeout(function () {
                  setState(steckerid, false);
             }, eindauer);  // nach eindauer Minuten aus
          }
          
          on(stromid, function(dp) { 
             if (dp.state.val > stromschwelle) ausschalten();  // Kaffeemaschine wird eingeschaltet
          });
          
          on({id: steckerid, val: true}, ausschalten);  // Stecker wird eingeschaltet
          
          

          Gruss aus Bensberg

          Dirk

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            Sorry, richtig muss es lauten:

            function ausschalten() {
            
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              DiJaexxl
              schrieb am zuletzt editiert von
              #6

              Mmmmhhh,

              Zeile habe ich getauscht, nun sieht das Script so aus:

              var stromid = "hm-rpc.0.MEQ0273558.2.CURRENT";
              var steckerid = "hm-rpc.0.MEQ0273558.1.STATE";
              var eindauerid = getIdByName("3"); // Einschaltdauer in Minuten
              var schwelleid = getIdByName("100"); // Stromgrenzwert in mA
              
              var timer = null;
              var stromschwelle = getState(schwelleid).val;
              var eindauer = 60000 * getState(eindauerid).val;
              
              function ausschalten() {
                 if (timer) {
                    clearTimeout(timer);
                    timer = null;
                 }
                 timer =  setTimeout(function () {
                      setState(steckerid, false);
                 }, eindauer);  // nach eindauer Minuten aus
              }
              
              on(stromid, function(dp) { 
                 if (dp.state.val > stromschwelle) ausschalten();  // Kaffeemaschine wird eingeschaltet
              });
              
              on({id: steckerid, val: true}, ausschalten);  // Stecker wird eingeschaltet
              
              

              Wenn ich es einschalte, bekomme ich die folgende Loginfo:

              javascript-0	02 19:26:54.373	error	at script.js.Test.Kaffeemaschine:7:41
              javascript-0	02 19:26:54.373	error	script.js.Test.Kaffeemaschine: TypeError: Cannot read property 'val' of null
              javascript-0	02 19:26:54.369	warn	State "undefined" not found
              javascript-0	02 19:26:54.364	info	Start javascript script.js.Test.Kaffeemaschine
              
              

              Gruss aus Bensberg

              Dirk

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Solear
                schrieb am zuletzt editiert von
                #7

                Da sind noch mehr Stellen, wo ein Leerzeichen vor der Klammer ist, mache die mal weg (die Leerzeichen).

                iobroker als LXC unter Proxmox

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  DiJaexxl
                  schrieb am zuletzt editiert von
                  #8

                  Wo jetzt noch?

                  ! var stromid = "hm-rpc.0.MEQ0273558.2.CURRENT";
                  ! var steckerid = "hm-rpc.0.MEQ0273558.1.STATE";
                  ! var eindauerid = getIdByName("3"); // Einschaltdauer in Minuten
                  ! var schwelleid = getIdByName("100"); // Stromgrenzwert in mA
                  ! var timer = null;
                  ! var stromschwelle = getState(schwelleid).val;
                  ! var eindauer = 60000 * getState(eindauerid).val;
                  ! function ausschalten(){
                  ! if(timer){
                  ! clearTimeout(timer);
                  ! timer = null;
                  ! }
                  ! timer = setTimeout(function(){
                  ! setState(steckerid, false);
                  ! }, eindauer); // nach eindauer Minuten aus
                  ! }
                  ! on(stromid, function(dp){
                  ! if(dp.state.val > stromschwelle) ausschalten(); // Kaffeemaschine wird eingeschaltet
                  ! });
                  ! on({id: steckerid, val: true}, ausschalten); // Stecker wird eingeschaltet

                  Gruss aus Bensberg

                  Dirk

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @DiJaexxl:

                    var eindauerid = getIdByName("3"); // Einschaltdauer in Minuten
                    var schwelleid = getIdByName("100"); // Stromgrenzwert in mA
                    ```` `  
                    

                    Das funktioniert nicht !

                    "Kaffee.Einschaltdauer" und "Kaffee.Stromschwelle" sind die Namen von Datenpunkten, die vorher im Reiter "Objekte" unter javascript.0 angelegt werden müssen. Wenn Du es erst einmal mit festen Werten testen möchtest, dann so:

                    var stromid = "hm-rpc.0.MEQ0273558.2.CURRENT";
                    var steckerid = "hm-rpc.0.MEQ0273558.1.STATE";
                    // var eindauerid = getIdByName("Kaffee.Einschaltdauer"); // Einschaltdauer in Minuten
                    // var schwelleid = getIdByName("Kaffee.Stromschwelle"); // Stromgrenzwert in mA
                    
                    var timer = null;
                    var stromschwelle = 100;   // 100 mA
                    var eindauer = 60000 * 3;  // 3 Minuten
                    
                    

                    Wenn Du die Datenpunkte nicht im Reiter "Objekte" erstellen möchtest", kannst Du sie auch im Skript anlegen:

                    createState("Kaffee.Einschaltdauer", 3, {
                                         read: true,
                                         write: true, 
                                         desc: "Einschaltdauer Kaffeemaschine", 
                                         type: "number", 
                                         min: 0, 
                                         max: 30, 
                                         def: 3,
                                         unit: "min"
                    });
                    createState("Kaffee.Stromschwelle", 100, {
                                         read: true,
                                         write: true, 
                                         desc: "Stromschwellwert Kaffeemaschine läuft", 
                                         type: "number", 
                                         min: 0, 
                                         max: 1000, 
                                         def: 100,
                                         unit: "mA"
                    });
                    
                    

                    Damit sie im Skript ausgewertet werden, ist ein zweiter Skript-Start erforderlich.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      DiJaexxl
                      schrieb am zuletzt editiert von
                      #10

                      Hallo Paul,

                      DANKE, jetzt läuft es.

                      Tschuldigung für meine blöden Fehler!

                      Gruss aus Bensberg

                      Dirk

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      318

                      Online

                      33.0k

                      Benutzer

                      83.6k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2026
                      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