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 Wecker (1 Std vor Beginn eines Kalendereintrags)

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    42

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Javascript Wecker (1 Std vor Beginn eines Kalendereintrags)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 1 Kommentatoren 1.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.
  • E Offline
    E Offline
    eXTreMe
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    mit hilfe des ical adapters habe ich es geschafft ein javascript zu basteln, welches zu beginn eines Events im Google Calendar meine Hue Lampen einschaltet.

    on({id: "ical.0.events.F-Schicht", change: 'true'}, function (obj) {
       setState('hue.0.Philips_hue.Schlafzimmer.on', true);
        }
    );
    

    Das ist so schön und gut aber für meine persönlichen Bedürfnisse nicht ganz zu gebrauchen.

    Ich habe meinen Schichtplan im Googlecalendar hinterlegt und möchte nun aber in einer bestimmten Zeit vor Schichtgebinn die Lampen im Schlafzimmer aktivieren.

    Doch leider fehlen mir Javascriptkenntnisse um mein Vorhaben in Code umzusetzen.

    Ein Kollege hat mir folgenden Ansatz gegeben um schonmal die Event startzeit auszulesen und in einer Variablen zu speichern:

    var kalender = getState("ical.0.data.html").val;
    var suche_heute = kalender.indexOf('Heute');
    var wecker = kalender.slice((suche_heute + 6), (suche_heute + 11));
    

    Damit hätte ich dann z.B. "06:00" als string in der Variablen.

    Wie bekomme ich es nun hin dass um beispielsweise 05:10 Uhr das Script ausgeführt wird?

    Vorab: Vielen Dank für eure Hilfe!

    1 Antwort Letzte Antwort
    0
    • E Offline
      E Offline
      eXTreMe
      schrieb am zuletzt editiert von
      #2

      Habe es hinbekommen (über Cronjob x Minuten vor dem Event). Falls noch jemand ähnliches vor hat, hier der Code.

      ! schedule("15 5 * * *", function () { // Weckzeit hier einstellen (Bsp: 05:15) - Dann wird der Cronjob gestartet
      ! var kalender = getState("ical.0.data.html").val;
      ! var suche_heute = kalender.indexOf('Heute');
      ! var wecker = kalender.slice((suche_heute + 6), (suche_heute + 11));
      ! if (wecker == "06:00")
      ! {
      ! setState('hue.0.Philips_hue.Schlafzimmer.on', true);
      ! }
      ! log(kalender);
      ! log(suche_heute);
      ! log(wecker);
      ! });

      Im Codebeispiel wird davon ausgegangen dass das Event (Frühschicht) als einziges Event für den heutigen Tag im Kalender mit Startzeit 06:00 Uhr eingetragen ist und "Zeit als Wort anzeigen" in den Adaptereinstellungen aktiviert ist.

      Der Wecker soll um 05:15 Uhr das Licht im Schlafzimmer anschalten.

      Dazu wird um 05:15 Uhr der Cronjob gestartet und geprüft ob ein Event mit Beginn 6 Uhr existiert, wenn ja dann geht das Licht an. Wenn nicht, dann passiert nichts.

      Für weitere Wecker einfach ein weiteres Script mit anderen Zeiten erstellen.

      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

      514

      Online

      32.5k

      Benutzer

      81.7k

      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