Rappel automatique de votre Google agenda pour le lendemain par Alexa

Tags: #<Tag:0x00007f753a2acf68>

Bonjour à tous,

Voici un nouveau scénario afin qu’Alexa puisse vous rappeler votre agenda Google automatiquement (à 22h chez moi) pour le lendemain.
Cela évite de lui demander explicitement, ça m’a souvent sauvé :sweat_smile:

A 22h j’ai parfois alexa qui me notifi

Mes seigneurs, vous avez un|des évènements pour demain. Pour la journée anniversaire de maman !, à 15h kiné.

Oui Alexa nous doit le respect ! :grin:

Prérequis :

  • Le plugin iCalendar
  • Le plugin Alexa - API

Je passe rapidement sur la configuration du plugin iCalendar puisque qu’une doc existe déjà, voici tout de même mes paramêtres :

Capture

Le scénario et ses deux paramêtres à configurer:

  • $cmdTomorrow = cmd::byId(484);
    484 à remplacer par l’ID de la commande J+1 d’iCalendar.
    Il faut cliquer depuis iCalendar sur « Configuration avancée » -> onglet « Information » -> Dans la partie « Nom » visualiser la ligne (J+1) et cliquer sur la roue crantée à droite puis relever L’ID

  • $cmdAlexaSpeak = cmd::byId(1237);
    1237 à remplacer par l’ID de la commande « Faire parler Alexa » d’Alexa - API
    Depuis le plugin aller dans l’onglet « Commande » puis A relever depuis la colonne « # » du plugin sur la ligne Faire parler Alexa.

Le block code PHP qui se lance à 22h:

$cmdTomorrow = cmd::byId(484);
$cmdAlexaSpeak = cmd::byId(1237);

$tomorrow = $cmdTomorrow->execCmd();
$scenario->setLog($tomorrow);

$messages = array();

$events = explode("||", $tomorrow);

for($i=0; $i < count($events); $i++)
{
	$data = explode(";", $events[$i]);

    if(isset($data[0]) && isset($data[3]) )
    {
    	if($data[0] != "00:00")
        {
        	$heures = explode(":", $data[0]);

          	if(substr($heures[0],0,1) == "0") $heures[0] = substr($heures[0],1,1);
          	if($heures[1] == "00") $heures[1] = "";
          	if(substr($heures[1],0,1) == "0") $heures[1] = substr($heures[1],1,1);

          	$heure = " A ".$heures[0]." heure ".$heures[1].", ";
        }
      	else $heure = " Pour la journée, ";

      	array_push($messages, $heure." ".$data[3].".");
    }

}


if( count($messages)>0)
{

  $pluriel = ( count($messages) === 1 ) ? "un évènement" : "des évènements";

  $message = "Mes seigneurs, vous avez ".$pluriel." pour demain.".implode('', $messages);

  $cmdAlexaSpeak->execCmd(array('title'=>'', 'message'=> $message));

}

Plus jamais vous n’oublierez un anniversaire :wink:

2 J'aimes