Forum eedomus
http://forum.eedomus.fr/

Faire apparaitre Jour de la semaine et mois sur l'eedomus
http://forum.eedomus.fr/viewtopic.php?f=18&t=5635
Page 1 sur 1
Auteur:  Olivier G [ 28 Juin 2017 08:58 ]
Sujet du message:  Faire apparaitre Jour de la semaine et mois sur l'eedomus

Bonjour à tous,
Je souhaiterai avoir la date, le jour de la semaine en tant que widget et pouvoir faire énoncer par la synthèse vocale de l'eedomus (et mon ampli) le jour de la semaine, le mois…Comment faire cela ?

Merci de votre aide
Olivier
Auteur:  Kitor [ 28 Juin 2017 09:12 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Bonjour,
Petit programme php ;)

<?php
#
#
#set_value
$typejour=date('w')%2;
$parite=date('d')%2;
sdk_header('text/xml');

echo "<root>";
echo "<date>";
echo "<nom>".date('D')."</nom>";
echo "<heure>".date('Hi')."</heure>";
echo "<jour>".date('d')."</jour>";
echo "<typejour>".$typejour."</typejour>";
echo "<parite>".$parite."</parite>";
echo "<semaine>".date('W')."</semaine>";
echo "<mois>".date('m')."</mois>";
echo "<annee>".date('Y')."</annee>";
echo "</date>";
echo "</root>";
?>
Auteur:  Madoma73 [ 28 Juin 2017 09:16 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

tu pourrais citer ta source :mrgreen:
post
Auteur:  Kitor [ 28 Juin 2017 09:18 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@madoma73,
Désolé si c'est de toi, j'ai un répertoire ou j'ai copié pas mal de script ;)
mais bon, on est là pour partager pas vrai et je réponds à sa demande :D

@madoma73,
Je modifie légèrement le script pour avoir les jours et le mois en français (au cas où) :?

<?php
$typejour=date('w')%2;
$parite=date('d')%2;
sdk_header('text/xml');

$Jour = array('Dimanche','Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi');
$Mois = array('','Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');

echo "<root>";
echo "<date>";
echo "<nom>".$Jour[date('w')]."</nom>";
echo "<heure>".date('Hi')."</heure>";
echo "<jour>".date('w')."</jour>";
echo "<typejour>".$typejour."</typejour>";
echo "<parite>".$parite."</parite>";
echo "<semaine>".date('W')."</semaine>";
echo "<mois>".$Mois[date('n')]."</mois>";
echo "<annee>".date('Y')."</annee>";
echo "</date>";
echo "</root>";
?>
Auteur:  Olivier G [ 28 Juin 2017 11:05 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Madoma73 et @Kitor
Merci pour ce programme PHP. Le forum est toujours réactif aux questions des nouveaux venus comme moi est je trouve ca super appréciable. Bravo les gars :-) Juste une précision sur son utilisation :

- Je crée un fichier PHP avec le code
- Je l'upload sur ma eedomus
- Je crée un actionneur HTTP pour pouvoir l'utiliser dans une règle éventuelle ?
- Comment dois-je faire pour le faire apparaitre en widget ?

Olivier
Auteur:  Kitor [ 28 Juin 2017 12:15 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Tu créer un périphérique : HTTP capteur (appelé XX)
URL de la requette : http://localhost/script/?exec=(ton programme PHP)
chemin XPATH : /root/date/nom (par exemple)
Tu peux faire tester pour vérifier

Tu fait une règle
(Si tu ne change que le jour, à faire une fois par jour à 1h00 par exemple)
Action XX:mettre à jour

Tu peux aussi jouer avec la fréquence de la requête dans le périphérique si tu ne veux pas faire de règle, sinon tu met 0 et tu gère avec la règle

Dans le cas où tu veux en retour le jour mois et l'année, il est très facile de modifier le script.
exemple tu ajoute :
echo "<long>Nous sommes le ".$Jour[date('w')]." ".date('j')." ".$Mois[date('n')].", il est ".date('G')." ".date('i')."</long>";
Si tu n'y arrive pas demande ce que tu veux exactement.

@++
Auteur:  Olivier G [ 28 Juin 2017 13:22 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Kitor
Merci de ton aide…je vais essayé ça des ce soir sur ma eedomus…tes explications sont clairs et je devrais m'en sortir…
Après, je me pose une question… je me demandais si je pouvais expoiter ses données pour les recracher avec la synthese vocale et qu' elle m'annonce ça a haute voie !


Merci
Auteur:  Kitor [ 28 Juin 2017 13:42 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Tu note l'ID de ton périphérique HTTP (paramètres Expert), Code API
Exemple XXX

Pour faire parler la Box,

Tu créer une règle,
Dans Notification
clique sur audio
Et contenu = [LAST_VALUE PERIPH_ID=XXX] la valeur de ton Code API

EXEMPLE ICI
https://www.domo-blog.fr/mini-guide-ajo ... se-vocale/
Auteur:  Olivier G [ 28 Juin 2017 13:58 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Kator
Si, C'est bon, je vois bien ce qu'il faut faire…mais juste histoire de résumer la chose dans les valeurs de la synthèse vocale, je mets :

Valeur brute : [LAST_VALUE PERIPH_ID=XXX] (je remplace les X par l'ID du capteur HTTP)
Description : "Annonce de la date du jour" par exemple

C'est ca ?

Olivier
Auteur:  Kitor [ 28 Juin 2017 14:05 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Je viens de modifier pour l'audio (plus simple comme sa)
Oui c'est sa
Auteur:  Olivier G [ 29 Juin 2017 08:39 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Kator
Bonjour,
J'ai bien suivi tes indications pour faire apparaitre la date du jour et ça marche bien merci. Je n'ai pas encore testé l'annonce audio par la box. Par contre, j'ai voulu ajouté l'echo long dans le fichier php mais lors de l’exécution du script, j'ai une erreur 'colonne 176'…est-ce normale ? peut être que je ne l'ai pas mis au bon endroit (je l'ai mis a la fin du programme) ?
Auteur:  Kitor [ 29 Juin 2017 08:44 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Tu met la ligne après echo "<date>";
Je l'ai testé hier et sa marche

Pièces jointes:
Capture.PNG
Capture.PNG (5.54 Kio) Consulté 14748 fois
Auteur:  Olivier G [ 29 Juin 2017 08:46 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

entre temps, j'ai trouvé, je l'ai mis au mauvais endroit…je l'ai mis maintenant a la fin mais avant root
Par contre pour le chemain xpath, ca ne marche pas (je l'appelle avec /root/date/long mais j'ai une erreur lors du test ?
Auteur:  Olivier G [ 29 Juin 2017 08:48 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

ok ! tt marche !!! je vais allé tester l'audio maintenant ! Merci pour ton aide en tt cas @Kator
Auteur:  Olivier G [ 29 Juin 2017 09:25 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Kator
Par contre ca ne marche pas si j'applique l'audio dans une regle. Du coup je suis revenu a la premiere version…avec une valeur dans une synthese vocale mais ca ne marche pas non plus. JE dois me planter dans la decaration des valeurs et description. J'ai mis :

Valeur brute : ID=XXXXXX
Decription : Bonjour, nous sommes le [LAST_VALUE PERIPH_ID=XXXXXX]

Une idée?
Auteur:  Kitor [ 29 Juin 2017 10:41 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

Dans ton périphérique, tu à bien mis type de donnée 'Texte' ?
PS : Supprime l'ID de ton périphérique sur le forum.
Auteur:  Olivier G [ 29 Juin 2017 12:54 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

@Kitor
Merci…ca marche impeccable maintenant (affichage et audio). J'ai une dernière question et promis je t'embete plus apres ;) je ne voudrais pas l'heure dans "echo long" dans le programme php… du coup ca donne : ……echo "<long>Nous sommes le ".$Jour[date('w')]." ".date('j')." ".$Mois[date('n')].", il est ".date('G')."</long>";…?


Olivier
Auteur:  Kitor [ 29 Juin 2017 13:06 ]
Sujet du message:  Re: Faire apparaitre Jour de la semaine et mois sur l'eedomu

:D
Modifie comme tu veux, c'est assez facile ;)
http://php.net/manual/fr/function.date.php
Si tu veux retirer l'heure et n'avoir que le jour.
echo "<long>Nous sommes le ".$Jour[date('w')]." ".date('j')." ".$Mois[date('n')]."</long>";
PS : tu ne m’embête pas, on est là pour aider :P
Page 1 sur 1 Le fuseau horaire est UTC+1 heure