APNT-29 - Extension des capacités de Sunrise / Sunset de Sunrise / Sunset

Le centre d'accueil Fibaro 2 a quelques limitations au coucher du soleil et au lever du soleil que vous pouvez utiliser dans vos scènes. Par exemple, vous pouvez sélectionner 15, 30, 45 et 60 minutes avant le lever du soleil et 15, 30, 45 et 60 minutes après le coucher du soleil. Mais vous ne pouvez pas sélectionner 60 minutes avant le coucher du soleil ou d'autres valeurs.

Il est en fait très facile de changer une seule ligne de code LUA pour prolonger le coucher du soleil / le lever du soleil à tout moment que vous aimez.

Comme exemple, nous utiliserons la scène de coucher de soleil que nous avons utilisée dans la note d'application 28 -

Coucher de soleil sur la scène

 

Cette scène tourne sur une lumière exactement au coucher du soleil. Cela fonctionne bien pour les lumières extérieures, mais si vous utilisiez la même scène pour une lumière intérieure, vous voudrez probablement qu'il soit activé avant le coucher du soleil car il ne s'assombrit dans un bâtiment.

Alors, changons cela, la scène est activée 1 heure avant le coucher du soleil.

Voir le code Lua

Pour ce faire, nous devons changer une ligne du code Lua qui exécute réellement cette scène.

  • Dans la scène Avancée onglet aller au Switch Scene Modifier le mode de la base Lua
  • Cliquez sur 'Changement'
  • Le code Lua est affiché dans une fenêtre HC2 (illustrée ci-dessous)

Code de scène HC2 Lua

 

  • La ligne de code que nous souhaitons intéresser est sur Ligne 14.

((((((actuelDaDaDAY.WAY.WAY == 2 ou couranteDate.weday == 3 ou actuelDate.weday == 4 ou couranteDate.weday == 5 ou couranteDate.weday == 6) et chaîne.format ("% 02d", courantDate. heure) .. ":" .. string.format ("% 02d", courantDate.min) == fibaro: getvalue (1, "Soleilsether")))

 

  • Pour changer cela afin que la scène soit activée 60 minutes avant le coucher du soleil, nous changeons la ligne 14 à:

((((((actuelDaDaDAY.WAY.WAY == 2 ou courantDate.weday == 3 ou actuelDate.weday == 4 ou actuelDate.weday == 5 ou couranteDated.way == 6) et OS.Date ("% h:% m" , Os.time () + 60 * 60) == fibaro: getvalue (1, "Soleilsether")))

 

  • Le code qui contrôle l'heure avant ou après le coucher du soleil est marqué en gras - Os.time () + 60 * 60)
    • Si c'est positif '+' la scène va activer avant le coucher du soleil, si négatif '-' Il va activer ultérieurement
    • Le temps avant / après est déterminé par les chiffres, '+60*60'Dans cet exemple active 60 minutes avant le coucher du soleil, 90 minutes serait' + 90 * 60 '
  • Remarque: Pour tester ce code, j'ai défini la scène d'origine à 1 heure après le coucher du soleil. Le code Lua pour cette scène était identique au nouveau code que nous avons utilisé ci-dessus sauf pour le moment étant OS.Time () - 60 * 60). Donc en modifiant simplement la section du code vers Os.time () + 60 * 60) Nous avons maintenant une scène qui fonctionne 1 heure avant le coucher du soleil.

Changer le code LUA

Pour modifier le code LUA pour utiliser notre nouvelle ligne de code (ligne 14), nous devons activer le mode d'édition Lua.

Important - Je vous suggère de faire cela après avoir eu le reste de la scène fonctionnant correctement - vous ne pouvez pas passer de l'éditeur basé sur Lua à l'éditeur de blocs graphique.

Lorsque vous êtes prêt, changez l'éditeur à Lua Basé.

  • Si vous n'êtes pas déjà dans la section Lua de l'onglet «Avancé», allez à la Switch Scene Modifier le mode de la base Lua, Cliquez sur 'Changement'
  • Cliquez sur 'Allumer'

Editeur HC2 Lua

 

  • Cliquez sur 'd'accord'Dans la boîte de dialogue d'avertissement
  • Changer la ligne 14 du nouveau code
  • Clique le 'sauvegarder'Bouton sur le menu de droite

Code Lua final HC2


 

La scène va maintenant courir 60 minutes avant le coucher du soleil.

En utilisant ce changement de code simple, nous pouvons avoir nos scènes fonctionnant avant ou après le coucher du soleil / le lever du soleil et à quel temps nous aimons.

Informations connexes