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. Script zum Schalten eines HM Aktors zu verschiedenen Zeiten geht nicht…

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Script zum Schalten eines HM Aktors zu verschiedenen Zeiten geht nicht…

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 3 Kommentatoren 2.0k 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.
  • etvE Online
    etvE Online
    etv
    schrieb am zuletzt editiert von
    #1

    Liebe Leute,

    anbei ein Script um unsere Weihnachtsbeleuchtung gesteuert ein und aus zu schalten - die ersten beiden Teile funktionieren, nur seit ich den Teil "EIN bei Weckzeit" drinnen hab, bleibt JavaScript komplett hängen und kein Script läuft mehr - reload JavaScript und vorher dieses Script deaktivieren und es gehen die anderen Scripts wieder…

    // Zuordnung Klartextnamen - Datenpunkte
    var SteckdoseGartenhuetteState = 'hm-rpc.0.LEQ1319363.2.STATE';
    
    // EIN bei Dämmerung
    on ({astro: "goldenHour", shift: 0}, function () { // shift bleibt für spätere Aktionen drinnen, aber auf 0
        setState (SteckdoseGartenhuetteState, true);
    });
    
    // AUS um 20:15 Uhr
    on ({time: {hour: 20, minute: 15}}, function () {
        setState (SteckdoseGartenhuetteState, false);
    });
    
    // EIN bei Weckzeit
    var weckzeit = getState("hm-rega.0.6791").val;
    weckzeit = weckzeit + ":00";
    weckstunde = weckzeit.slice(0,2);
    weckminute = weckzeit.slice(3,5);
    
    summe = weckstunde + weckminute;
    
    log(weckzeit + " XX " + weckstunde + " XX " + weckminute + " SUMME: " + summe);
    
    on({time: {hour: 'weckstunde', minute: 'weckminute'}}, function () {
        setState (SteckdoseGartenhuetteState, true);
    });
    
    

    Was stimmt da nicht?

    Nicht beirren lassen - ich hab da auch ein paar Versuche mit den Variablen drinnen, die mit dem Schalten nix zu tun haben…

    Grüße

    etv

    …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

    1 Antwort Letzte Antwort
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      schrieb am zuletzt editiert von
      #2

      Kommentier doch mal deine slice Funktion aus und mach da konstanten daraus.

      Eventuell solltest du da auch bei der Deklaration der variablen darauf achten das var davor steht sonst sind die global was probleme verursachen kann. Außer du brauchst sie global, dann passt das.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Antwort Letzte Antwort
      0
      • etvE Online
        etvE Online
        etv
        schrieb am zuletzt editiert von
        #3

        ..danke!

        Ich hab nun das Script Zeile für Zeile aus- und wieder einkommentiert - der Fehler ist, dass weckstunde und weckminute Strings sind und keine Zahl!!

        Das ist das Problem, weil mit

        var testh = 9;
        var testm = 51;
        on({time: {hour: testh, minute: testm}}, function () {
            log("-----------------------------------------------------------------------------------------gelaufen");
        });
        

        funktioniert es!

        D.h. is muss die Strings irgendwie in eine Zahl konvertieren, eigentlich eh logisch, aber darauf bin ich gestern Abend nicht mehr gekommen.

        Grüße

        etv

        …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Beatz
          schrieb am zuletzt editiert von
          #4

          Hallo,

          in dieser Zeile ist definitiv ein Fehler:

          on({time: {hour: 'weckstunde', minute: 'weckminute'}}, function () {
          

          weckstunde und weckminute werden durch das Hochkomma als String gewertet. Diese musst Du definitiv weg lassen.

          Versuche es mal mit:

          on({time: {hour: weckstunde, minute: weckminute}}, function () {
          

          Wahlweise kannst Du die beiden Variablen vor dem Aufruf mit parseInt umwandeln. z.B.:

          weckstunde = parseInt(weckstunde);
          
          1 Antwort Letzte Antwort
          0
          • etvE Online
            etvE Online
            etv
            schrieb am zuletzt editiert von
            #5

            …ja so ist es! Ich hab es mit parseInt umgewandelt und die Hochkomma gelöscht und nun läuft es ohne Probleme, danke dir!

            Ja, JavaScript is noch nicht ganz meines :D

            Just 4 Info - noch zu JavaScript:

            Nach dem Aufhängen gestern von JavaScript sind mir die Prozesse im Raspi trotz JavaScript restart hängen geblieben.....

            ...hab ich heute gesehen, als die CPU Last auf 70% oben war :o

            Ich hab die Prozesse mit kill (aber mit -s 64! weil default kill ging nicht) verabschiedet und nun läuft's wieder rund!

            Was ich mich noch frage und im Forum noch nicht gefunden habe, wo ich die gesetzten schedules und subscriptions sehe - wird jedoch ein eigener Thread werden - das wird mehrere interessieren denke ich...

            --> der Link zum neuen Thread in dieser Frage: http://forum.iobroker.net/viewtopic.php … 798#p15334

            Grüße

            etv

            …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

            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

            692

            Online

            32.6k

            Benutzer

            82.2k

            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