# Wekker tijd uitlezen

**URL:** <https://community.homey.app/t/wekker-tijd-uitlezen/74488>\
**Category:** Vragen & hulp\
**Created:** [January 2, 2023, 7:05pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488 "2023-01-02T19:05:40Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bulletcather](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bulletcather/32/13738_2.png) [@Bulletcather](https://community.homey.app/u/Bulletcather)\
**Post date:** [January 2, 2023, 7:05pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/1 "2023-01-02T19:05:40Z")

</div>

Ik ben momenteel bezig een ikea lamp en een sonos speaker in te richten als Wakeup light.  
Alles is gelukt om dit te doen.  
Echter zou als ik ga slapen willen horen voor hoelaat de wekker de volgende dag staat ingesteld.  
Echter kan ik nergens een variable vinden waar ik dit kan vinden.

Weet iemand toevallig hoe ik dit naar de Sonos speaker kan sturen?

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [January 2, 2023, 7:24pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/2 "2023-01-02T19:24:14Z")

</div>

Interessant, mij is het niet gelukt om zoiets te bouwen.  
Zou je het willen delen? Want ik wil hetzelfde.

Ik weet ook niet hoe je de ingestelde alarmen kan uitlezen. Aangezien er geen variable voor is zal dit wellicht met een script moeten.

---

<div class="post-metadata">

**Author:** ![Bulletcather](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bulletcather/32/13738_2.png) [@Bulletcather](https://community.homey.app/u/Bulletcather)\
**Post date:** [January 2, 2023, 8:40pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/3 "2023-01-02T20:40:41Z")

</div>

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/6/76ab65e09707067c5eb54b368e66b003bffd1e91.png)

---

<div class="post-metadata">

**Author:** ![Sjoerd1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sjoerd1/32/33892_2.png) [@Sjoerd1](https://community.homey.app/u/Sjoerd1)\
**Post date:** [January 2, 2023, 9:43pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/4 "2023-01-02T21:43:39Z")

</div>

Volgens mij kan dit niet direct, zover ik weet. Maar heb je een vast wekker schema, of veranderd dit dagelijks/wekelijks? Als het een vast schema is zou je dit elke dag over de Sonosbox kunnen laten zeggen?

Als het geen vast schema is zou je de wekker-tijd ook in de agenda kunnen zetten, deze laten uitlezen door Homey en op basis van agenda-items een melding over je Sonos laten gaan.

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 3, 2023, 8:10am UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/5 "2023-01-03T08:10:09Z")

</div>

Je kunt je alarmen/wekkers bewerken, uitlezen, instellen en aan/uitschakelen met HomeyScripts.  
Homey.alarms.getAlarms

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 3, 2023, 8:11am UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/6 "2023-01-03T08:11:15Z")

</div>

Hier een link met wat voorbeelden.  
@Arnold_vd_Linden

> [@\[APP\]\[Pro\] Advanced Triggers - Trigger and action cards with eventname for Advanced Flows](https://community.homey.app/t/app-pro-advanced-triggers-trigger-and-action-cards-with-eventname-for-advanced-flows/65651/128):
>
> No, i don’t see that posibility right now in AT. Technicly it could be made, but placing variables in the Trigger, i am not sure that thats a very good idea, performance wise. I might look into it (some day/right now a bit). But first let’s see if i have a better solution for you: The default Homey Alarms. Perhaps it’s best you create 1 or 3 Alarms for this. This gives you some excellent management options through the Homey app. And, the only thing missing is a flow to set the times, but h…

---

<div class="post-metadata">

**Author:** ![Hamster](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/hamster/32/16580_2.png) [@Hamster](https://community.homey.app/u/Hamster)\
**Post date:** [January 3, 2023, 12:48pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/7 "2023-01-03T12:48:24Z")

</div>

Ik vond dit een leuke uitdaging (en handig om zelf te hebben 😃) en ik heb dit HomeyScript geschreven:

```auto
let bSearchAll = false;
let bAlarmFound = false;
let bCreateTags = true;
let AlarmName = "";
let IgnoredAlarms = ["XXXXX","YYYYY"] // Hiermee kan je alarmen uitsluiten

//Moet we naar een specifiek alarm zoeken?
if (args[0] == "" || args[0] == undefined) {
  bSearchAll = true;
  console.log ('We doorzoeken alle alarmen');
}else{
  AlarmName = args[0]
  console.log ('We zoeken naar alarm '+AlarmName+"'");
}

let NextAlarmUNIX = 0;
let NextAlarmName = "";
let NextAlarmTime = "";
let NextAlarmDay = "";
let NextAlarmPhrase = "";

//Loop door alle alarmen
let alarms = await Homey.alarms.getAlarms();
for (const alarm of Object.values(alarms)){
  if ((bSearchAll && !IgnoredAlarms.includes(alarm.name) && alarm.enabled)||
      (!bSearchAll && alarm.name == AlarmName && alarm.enabled)){
    bAlarmFound = true;
    if (NextAlarmUNIX == 0){
      // Allereerste alarm is gevonden
      NextAlarmName = alarm.name;
      NextAlarmUNIX = DateToUNIXTimeStamp(alarm.nextOccurance)
      NextAlarmTime = alarm.time;
      NextAlarmDay = getDayName(alarm.nextOccurance,"nl-NL");
    } else {
      // We hebben nog een alarm gevonden
      // Check of dit alarm eerder afgaat dan de vorige
      if (DateToUNIXTimeStamp(alarm.nextOccurance) < NextAlarmUNIX){
        NextAlarmName = alarm.name;
        NextAlarmUNIX = DateToUNIXTimeStamp(alarm.nextOccurance)
        NextAlarmTime = alarm.time;
        NextAlarmDay = getDayName(alarm.nextOccurance,"nl-NL");
      }
    }
  }
}

if (bAlarmFound){ // We hebben een alarm gevonden
  NextAlarmPhrase = "Het eerstvolgende alarm is '"+
    NextAlarmName+"', die op "+NextAlarmDay+" afgaat om "+NextAlarmTime+"."

  if (bCreateTags){ // Maak tags aan die gebruikt kunnen worden in andere flows
    await tag('NextAlarmName', NextAlarmName);
    await tag('NextAlarmDay', NextAlarmDay);
    await tag('NextAlarmTime', NextAlarmTime);
    await tag('NextAlarmPhrase', NextAlarmPhrase);
  }
}else{ // We hebben geen alarm gevonden
  if (bSearchAll){
    NextAlarmPhrase = "Geen alarm gevonden."
  }else{
    NextAlarmPhrase = "Alarm '"+AlarmName+"' is niet gevonden of het alarm staat niet aan."
  }
  
  if (bCreateTags){ // Maak tags aan die gebruikt kunnen worden in andere flows
    await tag('NextAlarmName', NextAlarmName);
    await tag('NextAlarmDay', NextAlarmDay);
    await tag('NextAlarmTime', NextAlarmTime);
    await tag('NextAlarmPhrase', NextAlarmPhrase);
  }
}

// Debug de NextAlarmPhrase in de output
console.log(NextAlarmPhrase);

// Geef terug of er een alarm is gevonden
return bAlarmFound;

function DateToUNIXTimeStamp (my_date){
  const date = new Date(my_date);
  return (Math.floor(date.getTime()/1000));
}

function getDayName(dateStr, locale){
    var date = new Date(dateStr);
    return date.toLocaleDateString(locale, { weekday: 'long' });        
}

```

Je kan alle alarmen doorzoeken, of specifiek naar een alarm zoeken:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/d/b/db03d260755d5aff4eeb7d368d21ad00ebe26816.png)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/250c1331c58c7f88fbc6d514773ee79fca36c3dc.png)

En dit zijn de tags die worden gegenereerd:

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/c/2c45b7e67cd9afded341525fe09c6ec6dbbd55c3.png)

---

<div class="post-metadata">

**Author:** ![Bulletcather](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bulletcather/32/13738_2.png) [@Bulletcather](https://community.homey.app/u/Bulletcather)\
**Post date:** [January 3, 2023, 12:57pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/8 "2023-01-03T12:57:10Z")

</div>

Als ik het script goed begrijp (ben geen programmeur) zoekt die dan naar het eerste alarm.  
Echter heb ik een alarm voor me zelf en die van me vrouw.  
Kan ik het ook specifiek naar 1 alarm laten zoeken?

---

<div class="post-metadata">

**Author:** ![Hamster](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/hamster/32/16580_2.png) [@Hamster](https://community.homey.app/u/Hamster)\
**Post date:** [January 3, 2023, 12:58pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/9 "2023-01-03T12:58:50Z")

</div>

Ja, door een argument mee te geven (de naam van de wekker). Zie het tweede plaatje van de advanced flows.

---

<div class="post-metadata">

**Author:** ![Bulletcather](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bulletcather/32/13738_2.png) [@Bulletcather](https://community.homey.app/u/Bulletcather)\
**Post date:** [January 3, 2023, 1:04pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/10 "2023-01-03T13:04:13Z")

</div>

Super. Gelijk effe proberen!

---

<div class="post-metadata">

**Author:** ![Bulletcather](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bulletcather/32/13738_2.png) [@Bulletcather](https://community.homey.app/u/Bulletcather)\
**Post date:** [January 3, 2023, 1:11pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/11 "2023-01-03T13:11:40Z")

</div>

Super dit werkt!!.  
Bedankt voor het mee denken.

---

<div class="post-metadata">

**Author:** ![Arnold\_vd\_Linden](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arnold_vd_linden/32/19336_2.png) [@Arnold\_vd\_Linden](https://community.homey.app/u/Arnold_vd_Linden)\
**Post date:** [January 3, 2023, 7:27pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/12 "2023-01-03T19:27:56Z")

</div>

Top!  
Ook namens mij iedereen bedankt. Ik ga hier ook weer eens verder mee knutselen.

---

<div class="post-metadata">

**Author:** ![Harry83](https://avatars.discourse-cdn.com/v4/letter/h/c4cdca/32.png) [@Harry83](https://community.homey.app/u/Harry83)\
**Post date:** [August 10, 2023, 12:56pm UTC](https://community.homey.app/t/wekker-tijd-uitlezen/74488/13 "2023-08-10T12:56:50Z")

</div>

Bedankt, pressies wat ik zocht!
