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. JavaScript
  5. Schedule per Tastendruck starten und stoppen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Schedule per Tastendruck starten und stoppen

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 2 Kommentatoren 584 Aufrufe 1 Watching
  • Ä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.
  • F Offline
    F Offline
    funcarv3r
    schrieb am zuletzt editiert von
    #1

    Ich verzweifel grad an meiner Wallboxsteuereung...

    Ich habe ein Script geschrieben mit der ich die Wallbox steuern kann, hierzu muss alle X-Sekunden eine Funktion ausgelöst werden. Über Schedule() funktioniert das auch, aber dann müsste ich das komplette Script immer starten und stoppen da auch das Lader des Autos per Wallbox jederzeit mit voller Leistung möglich sein soll.

    Ziel soll sein, über einen Taster (auch virtuell) die Funktion zu starte zu starten und alle 10 Sekunden auszuführen. Wenn der Taster ein weiteres mal gedrückt wird, soll die Funktion gestoppt werden, wie krieg ich das am Besten hin? Wichtig ist, das die Funktion auch wieder angehalten werden kann.

    // Startet das Skript alle 10 Sekunden neu
     schedule("*/10 * * * * *", function() {
        starteLaden();
     });
    
    // Startet das Skript einmalig auf Tastendruck
    on({id: 'javascript.0.Taster_1', change: "ne"}, function (obj) {
        starteLaden()
    });
    
    paul53P 1 Antwort Letzte Antwort
    0
    • F funcarv3r

      Ich verzweifel grad an meiner Wallboxsteuereung...

      Ich habe ein Script geschrieben mit der ich die Wallbox steuern kann, hierzu muss alle X-Sekunden eine Funktion ausgelöst werden. Über Schedule() funktioniert das auch, aber dann müsste ich das komplette Script immer starten und stoppen da auch das Lader des Autos per Wallbox jederzeit mit voller Leistung möglich sein soll.

      Ziel soll sein, über einen Taster (auch virtuell) die Funktion zu starte zu starten und alle 10 Sekunden auszuführen. Wenn der Taster ein weiteres mal gedrückt wird, soll die Funktion gestoppt werden, wie krieg ich das am Besten hin? Wichtig ist, das die Funktion auch wieder angehalten werden kann.

      // Startet das Skript alle 10 Sekunden neu
       schedule("*/10 * * * * *", function() {
          starteLaden();
       });
      
      // Startet das Skript einmalig auf Tastendruck
      on({id: 'javascript.0.Taster_1', change: "ne"}, function (obj) {
          starteLaden()
      });
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @funcarv3r sagte:

      über einen Taster (auch virtuell) die Funktion zu starte zu starten und alle 10 Sekunden auszuführen. Wenn der Taster ein weiteres mal gedrückt wird, soll die Funktion gestoppt werden

      Vorschlag:

      var freigabe = false;
      
      schedule("*/10 * * * * *", function() {
          if(freigabe) starteLaden();
      });
      
      on({id: 'javascript.0.Taster_1'}, function () {
          freigabe = !freigabe;
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      F 2 Antworten Letzte Antwort
      1
      • paul53P paul53

        @funcarv3r sagte:

        über einen Taster (auch virtuell) die Funktion zu starte zu starten und alle 10 Sekunden auszuführen. Wenn der Taster ein weiteres mal gedrückt wird, soll die Funktion gestoppt werden

        Vorschlag:

        var freigabe = false;
        
        schedule("*/10 * * * * *", function() {
            if(freigabe) starteLaden();
        });
        
        on({id: 'javascript.0.Taster_1'}, function () {
            freigabe = !freigabe;
        });
        
        F Offline
        F Offline
        funcarv3r
        schrieb am zuletzt editiert von
        #3

        @paul53
        Klasse, danke Dir, funktioniert ...

        Wo bekommt man solche Infos her? Ich habe mir die Einführung in Javascript für den IOBroker und hab sowas nicht gefunden. Auch google hat mir keine brauchbaren Ergebnisse angezeigt...

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @funcarv3r sagte:

          über einen Taster (auch virtuell) die Funktion zu starte zu starten und alle 10 Sekunden auszuführen. Wenn der Taster ein weiteres mal gedrückt wird, soll die Funktion gestoppt werden

          Vorschlag:

          var freigabe = false;
          
          schedule("*/10 * * * * *", function() {
              if(freigabe) starteLaden();
          });
          
          on({id: 'javascript.0.Taster_1'}, function () {
              freigabe = !freigabe;
          });
          
          F Offline
          F Offline
          funcarv3r
          schrieb am zuletzt editiert von funcarv3r
          #4

          @paul53
          ich hab hier jetzt doch noch eine Frage:

          Das script funktioniert soweit aber wie kann ich im VIS sehen ob die Funktion gerade läuft oder nicht? Des Weiteren müsste beim deaktivieren noch ein weiterer Befehl abgesetzt werden.

              setState('mqtt.0.go-eCharger.000000.cmd.req', "alw=0");
          

          Durch die Funktion wird überprüft wieviel Strom gerade produziert wird und dementsprechend wird die Wallbox ein/ausgeschaltet und der Ladestrom eingestellt. Wenn die Funktion angehalten wird während der Ladevorgang noch läuft wird dieser nicht angehalten.

          Ich wollte mir hier einen Schalter machen mit dem ich die Funktion dan ein und ausschalten kann, es muss aber sichtbar sein was gerade der Zustand ist.

          paul53P 1 Antwort Letzte Antwort
          0
          • F funcarv3r

            @paul53
            ich hab hier jetzt doch noch eine Frage:

            Das script funktioniert soweit aber wie kann ich im VIS sehen ob die Funktion gerade läuft oder nicht? Des Weiteren müsste beim deaktivieren noch ein weiterer Befehl abgesetzt werden.

                setState('mqtt.0.go-eCharger.000000.cmd.req', "alw=0");
            

            Durch die Funktion wird überprüft wieviel Strom gerade produziert wird und dementsprechend wird die Wallbox ein/ausgeschaltet und der Ladestrom eingestellt. Wenn die Funktion angehalten wird während der Ladevorgang noch läuft wird dieser nicht angehalten.

            Ich wollte mir hier einen Schalter machen mit dem ich die Funktion dan ein und ausschalten kann, es muss aber sichtbar sein was gerade der Zustand ist.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @funcarv3r sagte :

            Ich wollte mir hier einen Schalter machen mit dem ich die Funktion dan ein und ausschalten kann, es muss aber sichtbar sein was gerade der Zustand ist.
            ... Des Weiteren müsste beim deaktivieren noch ein weiterer Befehl abgesetzt werden.

            Mit einem Schalter anstelle eines Tasters kann man es so machen:

            const idSchalter = 'javascript.0.Schalter_1'; // Anpassen !
            
            var freigabe = getState(idSchalter).val;
             
            schedule("*/10 * * * * *", function() {
                if(freigabe) starteLaden();
            });
             
            on(idSchalter, function (dp) {
                freigabe = dp.state.val;
                if(!freigabe) setState('mqtt.0.go-eCharger.000000.cmd.req', "alw=0");
            });
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            F 1 Antwort Letzte Antwort
            1
            • paul53P paul53

              @funcarv3r sagte :

              Ich wollte mir hier einen Schalter machen mit dem ich die Funktion dan ein und ausschalten kann, es muss aber sichtbar sein was gerade der Zustand ist.
              ... Des Weiteren müsste beim deaktivieren noch ein weiterer Befehl abgesetzt werden.

              Mit einem Schalter anstelle eines Tasters kann man es so machen:

              const idSchalter = 'javascript.0.Schalter_1'; // Anpassen !
              
              var freigabe = getState(idSchalter).val;
               
              schedule("*/10 * * * * *", function() {
                  if(freigabe) starteLaden();
              });
               
              on(idSchalter, function (dp) {
                  freigabe = dp.state.val;
                  if(!freigabe) setState('mqtt.0.go-eCharger.000000.cmd.req', "alw=0");
              });
              
              F Offline
              F Offline
              funcarv3r
              schrieb am zuletzt editiert von
              #6

              @paul53
              Super, danke dir, funktioniert. Ich hab die Befehle noch etwas erweitert, er setzt mir beim Starten jetzt auch noch eine nVariable auf true, beim Beenden auf False, so kann ich alles besser überwachen ...

              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

              638

              Online

              32.6k

              Benutzer

              82.1k

              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