Bienvenue sur le blog " Les tutos compréhensible pour Jeedom. "
Configurations des appareils pour Wifilight 2



 

LE LampUX - Lampe de Chevet LED WiFi (2.4Ghz) Compatible Alexa et Google Home

Configuration via smartlife 


Configuration pour Wifilight2 :

- Marque ou type de périphérique : Tuya SmartLife Compatible V2
- Sous type : Ampoule RGBW Type 2


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



Maxcio Diffuseur d'Huiles Essentielles WiFi
Compatible avec Alexa et Google Home


Configuration pour Wifilight2 :

- Marque ou type de périphérique : Tuya SmartLife Compatible V3
- Sous type : Humidificateur Proscenic


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Prise TP-Link HS110 V4.0 :

Configuration pour Wifilight2 :

- Marque ou type de périphérique : TP-Link V1 Ampoules et prises

- Sous type:  TP-Link HS110 Plug 

 

 

 

 

Récupérer les DevID et localkey de Smartlife/Tuya

Commande : tuya-cli wizard

Commande : tuya-cli link --api-key *********** --api-secret ****************** --schema *********** --ssid ********* --password ********** --region eu



Les fonctions mathématiques

Cet article est en cours de rédaction, je compléterais et changerais peut-être l'affichage de celui-ci en fonction de mes recherches et en fonction de la méthode de classement que je trouverais la plus simple... (Pourquoi faire compliquer ?)



VariablesExplicationsExemplesRésultatsRemarques
rand(1,10)Donne un nombre aléatoire de 1 à 10.
randText(texte1;texte2;texte…​..)Permet de retourner un des textes aléatoirement (séparer les texte par un ; ).

Il n’y a pas de limite dans le nombre de texte.
randText(il fait #[salon][oeil][température]#;La température est de #[salon][oeil][température]#;Actuellement on a #[salon][oeil][température]#)La fonction retournera un de ces textes aléatoirement à chaque exécution.
 randomColor(min,max)Donne une couleur aléatoire compris entre 2 bornes ( 0 => rouge, 50 => vert, 100 => bleu). randomColor(40,60)Retourne une couleur aléatoire proche du vert.
 trigger(commande)Permet de connaître le déclencheur du scénario ou de savoir si c’est bien la commande passée en paramètre qui a déclenché le scénario.trigger(#[Salle de bain][Hydrometrie][Humidité]#)1 si c’est bien #[Salle de bain][Hydrometrie][Humidité]# qui a déclenché le scénario sinon 0
 triggerValue(commande)Permet de connaître la valeur du déclencheur du scénario.triggerValue(#[Salle de bain][Hydrometrie][Humidité]#)80 si l’hydrométrie de #[Salle de bain][Hydrometrie][Humidité]# est de 80 %.
 round(valeur,[decimal])Donne un arrondi au-dessus, [decimal] nombre de décimales après la virgule.round(#[Salle de bain][Hydrometrie][Humidité]# / 10)Renvoie 9 si le pourcentage d’humidité et 85
 odd(valeur)Permet de savoir si un nombre est impair ou non. Renvoie 1 si impair 0 sinon.odd(3)Renvoie 1
 median(commande1,commande2…​.commandeN)Renvoie la médiane des valeurs.median(15,25,20)Renvoie 20
 time_op(time,value)Permet de faire des opérations sur le temps, avec time=temps (ex : 1530) et value=valeur à ajouter ou à soustraire en minutes.time_op(#time#, -90)s’il est 16h50, renvoie : 1650 - 0130 = 1520
 time_between(time,start,end)Permet de tester si un temps est entre deux valeurs avec time=temps (ex : 1530), start=temps, end=temps.

Les valeurs start et end peuvent être à cheval sur minuit.
 time_diff(date1,date1[,format])Permet de connaître la différence entre 2 dates (les dates doivent être au format AAAA/MM/JJ HH:MM:SS).

Par défaut (si vous ne mettez rien pour format), la méthode retourne le nombre total de jours.

Vous pouvez lui demander en secondes (s), minutes (m), heures (h).

Exemple en secondes time_diff(2018-02-02 14:55:00,2018-02-25 14:55:00,s)
 formatTime(time)Permet de formater le retour d’une chaine #time#.formatTime(1650)Renvoie 16h50
 floor(time/60)Permet de convertir des secondes en minutes, ou des minutes en heures (floor(time/3600) pour des secondes en heures)floor(130/60)Renvoie 2 (minutes si 130s, ou heures si 130m)

Les tags

Cet article est en cours de rédaction, je compléterais et changerais peut-être l'affichage de celui-ci en fonction de mes recherches et en fonction de la méthode de classement que je trouverais la plus simple... (Pourquoi faire compliquer ?)



TagsExplications
#seconde# Seconde courante (sans les zéros initiaux, ex : 6 pour 08:07:06)
#heure# Heure courante au format 24h (sans les zéros initiaux, ex : 8 pour 08:07:06 ou 17 pour 17:15)
#heure12# Heure courante au format 12h (sans les zéros initiaux, ex : 8 pour 08:07:06)
#minute# Minute courante (sans les zéros initiaux, ex : 7 pour 08:07:06)
#jour# Jour courant (sans les zéros initiaux, ex : 6 pour 06/07/2017)
#mois# Mois courant (sans les zéros initiaux, ex : 7 pour 06/07/2017)
#annee# Année courante
#time#L'heure actuelle (de jeedom) sous forme numérique.
#timestamp# Nombre de secondes depuis le 1er janvier 1970
#date# Jour et mois. Attention, le premier nombre est le mois. (ex : 1215 pour le 15 décembre)
#semaine# Numéro de la semaine (ex : 51)
#sjour# Nom du jour de la semaine (ex : Samedi)
#njour# Numéro du jour de 0 (dimanche) à 6 (samedi)
#smois#Nom du mois (ex : Janvier)
#IP# IP interne de Jeedom
#hostname# Nom de la machine Jeedom
#trigger# Peut être le nom de la commande qui a déclenché le scénario, ‘api’ si le lancement a été déclenché par l’API, ‘schedule’ si il a été lancé par une programmation, ‘user’ si il a été lancé manuellement
#query# interaction ayant déclenché le scénario
#profil# profil de l’utilisateur ayant déclenché le scénario (peut être vide).

Utilisation de la fonction lastScenarioExecution(scenario)



Explication de la fonction lastScenarioExecution fournie par la documentation de Jeedom :

  • lastScenarioExecution(scenario) : Donne la durée en secondes depuis le dernier lancement du scénario. 0 : Le scénario n’existe pas
  • lastScenarioExecution(#[Salle de bain][Lumière][Auto]#) Renvoie 300 si le scénario s’est lancé pour la dernière fois il y a 5 min

La documentation est pour moi légèrement incomplète et peut prêtée à confusion.

Pour éviter tout problème, utiliser l'ID du scénario dans l'argument (contenu de la parenthèse) de la fonction.

Exemple avec un scénario dont l'ID est 5 : lastScenarioExecution(5)

La fonction lastScenarioExecution ne peut pas être utilisée dans le scénario dont le temps doit être calculé, le temps d'exécution restera toujours à 0, le scénario devant s'exécuté pour utiliser la fonction... Il faudra donc passer par un scénario intermédiaire.


Comment récupérer le Jeton et l'Identifiant à insérer dans la configuration de WifiLightV2



Pour suivre ce tutoriel, je pars du principe que :


  • Vous avez déjà installé le plugin WifiLightV2 dans Jeedom.
  • Vous avez installé SmartLife (Android , IOS) configuré vos appareils, et que ceux-ci fonctionne correctement via l'application.
  • Pour la configuration de WifiLightV2, les adresses IP des appareils doivent être fixes.


Pour commencer, il va falloir se procurer une application mobile pour capter les informations qui vont circuler via wifi entre votre téléphone, et les serveurs Tuya/SmartLife.

(Si vous souhaitez en savoir plus sur cette opération, je vous invite à lire cette page explicative, juste à titre informatif, ce n'est pas requis dans ce tuto.)

Pour Android, c'est facile, il vous suffit de télécharger l'application Packet Capture.
Pour IOS, je n'ai pas trouvé de solution, trouvez donc un appareil Android 🤔


  1. Si ce n'est pas déjà fait, fermez l'application SmartLife.
  2. Activer la capture des paquets dans l'application Packet Capture.
  3. Vous verrez le nombre de paquets récupérés, avec la date et l'heure de la capture. 
  4. Laisser la récupération en cours, et ouvrez l'application SmartLife. Une fois l'application ouverte, retourner dans Packet Capture.
  5. Arrêtez la récupération des paquets.
  6. Appuyez sur la récupération que vous venez d'effectuez (ici 11-18 17:18:29), et vous verrez apparaître une liste avec les différents paquets capturés. Sur la capture il n'y a qu'un paquet SmartLife, mais il y en aura toujours d'autres dans la liste, n'oubliez pas de tout consulter.
  7. A)Vous devez chercher un fichier se présentant comme celui-ci : 
  8. B) Voici un agrandissement avec l'interrupteur Vollo Konyks du volet de la cuisine : 
  9. Dans Jeedom, le Jeton = localKey et l'Identifiant = devId