Aller au contenu
J3R3M

[VD + Scène] Réveil douceur paramétrable v3.3 : Réveil compatible Dimmers, RGBW, Shutters, VD Philips Hue, VD Sonos, VD Yamaha Multicast...

Recommended Posts

Réveil paramétrable v3.3

Réveil douceur en lumière et musique, en fonction du lever du soleil.

Compatibilité éclairages : Dimmers, Modules RGBW, Volets Roulants, VDs (Philips Hue, Ikea TRÅDFRI...) etc.

Compatibilité enceintes : Tous les VDs de système d'enceinte sont compatibles! Sonos, Yamaha Multicast, Bose...

 

881578052_Capturedecran2019-03-16a15_56_15.png.1142544efdd05e3508f6621fba8cf6af.png1406835120_Capturedecran2019-03-16a15_42_48.png.f5bdfc6a7ae6686cedaa6b12881ba2cb.png

 

Préambule

Cette semaine, j'ai pris le temps d'adapter un kit Scène+VD (qui marche bien chez moi depuis un petit moment) pour qu'il puisse être utile à d'autres.

Il s'agit simplement d'un réveil "douceur" où une ou plusieurs lampes seront progressivement alluméees durant un temps défini et le programme de votre choix sera ensuite lu en fondu sur votre système d'enceintes.

Personnellement, j'ai l'impression de me réveiller plus en forme depuis que j'utilise ce système. Peut-être est-ce de l'auto-persuasion? Je partage ce code avec vous quand même!

Ce kit Scène+VD peut être utilisé pour chaque chambre, c'est pourquoi il y a la variable PIECE à modifier à plusieurs reprises dans le VD et dans la scène. Cette variable doit correspondre au nom de la variable Globale créée.

Pour ma part, j'utilise ce package avec les VD Philips Hue et Télécommande pour contrôleur Sonos (J'ai personnalisé ces VDs et les numéros des boutons ne sont plus ceux d'origine)

Ah oui, mais non je ne fais absolument pas de fixette sur les triggers ou sur la gestions des temps dans les VD, promis! Je crée simplement ce qui me manque pour la gestion de ma domotique :D

La référence à cette boutade, pour ceux qui ne l'avaient pas.

 

Voilà, une nouvelle petite bidouille à mon actif, en espérant qu'elle puisse être utile à quelqu'un. Sinon, bah j'aurais passé du temps pour rien, tant pis!

J'ai programmé cela seulement avec ce que j'avais en place sur ma HC2, il n'est donc pas prévu pour les Plugins à l'heure actuelle.

En cas de question ou en cas de demande de modification, n'hésitez pas à m'en faire part en tous cas! :)

 

Bienfaits d'un Réveil "douceur"

Citation

Destiné à diffuser progressivement une lumière qui reproduit les conditions d’un lever ou d’un coucher de soleil, le simulateur a un fonctionnement simple et pratique. Cette variation de l’intensité lumineuse est capable de filtrer à travers vos paupières, même fermées. Ceci prépare le cerveau, et précisément l’hypothalamus, à l’idée du réveil ou d’un endormissement. Le simulateur d’aube agit donc sur les fonctions neurovégétatives de votre corps pour le mettre dans les meilleures prédispositions d’un réveil ou d’un endormissement.

Tout se fait de façon progressive. La variation de l’intensité s’étale sur une durée programmée, allant de 1 à 100 minutes. Pendant cette période, le simulateur agit sur la sécrétion de l’hormone responsable de sommeil, la mélatonine. Lorsque le jour se lève, l’appareil, en imitant une aube, conditionne le cerveau à commander une inhibition de la production de cette substance. [...]

En pratique, il vous faudra programmer l’heure de votre choix, pour que commence le processus de réveil. Si vous prévoyez vous lever à 7 h, la diffusion lumineuse peut commencer dès 6 h ou 6 h 30. Avant d’atteindre l’hypothalamus, la lumière pénètre d’abord les paupières puis le nerf optique avant d’atteindre la glande pinéale. En phase finale du réveil, l’intensité lumineuse est à son maximum et vous vous réveillez sans stress et tout en douceur.

Source : https://www.simulateuraube.info

 

Installation du VD

-- ID Scène Réveil de la pièce
local SceneID = 49;
local PIECE = "CHAMBRE";

-- Jours de repos
local JoursRepos = {"Samedi","Dimanche"};

-- IDs Icones
local icone_ok = 1156
local icone_wait = 1158
local icone_off = 1160

-- Quand la scène doit démarrer ?
local StartScene = "DEFAUT";

Créer la variable globale REVEIL_CHAMBRE (ou autre nom type REVEIL_*** tant que la variable PIECE est bien modifiée) et importer le VD.

SceneID : ID de la scène affectée à ce VD

PIECE : Il faut modifier la valeur de cette variable dans les 3 derniers boutons (Une fois, Lun-Ven et Réveil OFF) et la boucle principale du VD pour qu'ils correspondant à la variable globale créée ci-dessus.

JoursRepos : Listez ici vos jours de repos hebdomadaires, entre guillemets et séparés par une virgule. Veillez à bien mettre la majuscule à chaque jour de la semaine.

icone_ok : Icone qui s'affichera lorsque l'heure du réveil sera passée (sous conditions)

icone_wait : Icone qui s'affichera lorsque le VD est en attente de l'heure du réveil

icone_off : Icone qui s'affichera lorsqu'aucun réveil sera programmé (ou que le réveil "Une fois" se se sera déclenché)

StartScene : Par défaut, le VD va démarrer la scène X minutes (le temps de fade lumière paramétré) avant l'heure de réveil programmé. Ceci pour que la lumière soit à son maximum et que la musique démarre à l'heure du réveil. Si vous souhaitez que la scène débute seulement à l'heure du réveil, remplacez la valeur de cette variable par n'importe quoi.

 

Suivez les indications de ce lien si vous ne savez pas comment connaître les IDs des icones

 

Notes

 

Le bouton Une fois programme le réveil pour le prochain horaire disponible et ce, quelque soit le jour. Après déclenchement, le réveil se désactivera automatiquement.

Le bouton Lun-Ven programme le réveil de manière automatique pour tous les jours de la semaine. La scène sera lancée automatiquement à heure fixe tant que le VD est activé.

Lorsque vous êtes à 59 minutes et que vous rajoutez une minute, ça passe à 0 SANS ajouter une heure. Je préfère comme cela personnellement. Un appui sur : affichera 12:00.

Les valeurs de puissance sont en pourcentage ; ils agissent directement sur les sliders des modules. Le temps de fade de la lumière est en minutes. Le temps de fade de la musique est en secondes.

Je n'ai pas programmé d'anti-pièges sur le VD. Il n'y aura donc pas d'erreurs si vous programmez un fade de 0, mais ça coincera un peu plus au niveau de la scène.

Également, si vous programmez un réveil dans 30mn avec une aube de 35mn (même 31 d'ailleurs), le VD affichera que le réveil est en attente (puisque l'heure programmée ne sera pas passée), mais l'heure de déclenchement de la scène, quant-à elle, sera passée et la scène ne sera donc pas démarrée. C'est en théorie impossible d'avoir ces erreurs, sauf en phase de tests. Donc pensez-y si vous voulez faire des essais!

 

Où modifier la valeur de la variable PIECE ?

 

1- Au début de la scène ci-dessous

2 - Dans le bouton "Une fois" du VD

3 - Dans le bouton "Lun-Ven" du VD

4 - Dans le bouton "Réveil OFF" du VD

5 - Dans la Boucle Principale du VD

 

Bien entendu, je rappelle que la valeur de cette variable doit correspondre à la Variable Globale que vous créerez.

La variable globale est donc "REVEIL_CHAMBRE" par défaut. La base REVEIL_ est fixe.

En cas d'incohérences entre ces valeurs, le réveil ne fonctionnera pas, soyez vigilents!

 

Icones

trigger_ok.png.7e5e56073865b70d54e5cb0123743702.pngtrigger_wait.png.523c36b707ae62b72d95848f4fa06181.pngtriggers_off.png.1842d6d01e5efe1afb84b8e5c58fcdfe.png

Prochain réveil le lendemain ou après le week-end - Réveil en attente - Réveil OFF

 

Téléchargement du VD

[Réveil]_CHAMBRE.vfib

 

 

Principe de la scène

Lorsque la scène sera exécutée par le VD, voici l'ordre de ses actions :

  1. Si VD avec appui sur un bouton nécessaire, appui sur le bouton
  2. Fondu lumineux de toutes les entrées saisies, sur la durée paramétrée via le VD
  3. Appui sur les boutons des VD Audio (Sonos, Yamaha Multicast, Bose...)
  4. Fade de toutes les enceintes sur la durée paramétrée
  5. Désactivation du réveil s'il avait été paramétré sur "Une fois"

 

Réglages de la scène

-- List of the light/shutter devices which will be dimmed/opened/launched
-- Typ = Shutter / Dimmer / VD / RGBW / Program
-- Mode="day" Device will be taken into accoung only if it's day
-- Mode="night" Device will be taken into accoung only if it's night
-- Modes are not mandatory to use this scene (no mode = mode="both")

-- Add a Roller Shutter
-- Parameter "steps" is needed to set how many steps this roller shutter will do to open (to protect motors of 100 steps)
--table.insert(LightsList, {typ="Shutter", id=279, steps=6, mode="both"});

-- Add a Dimmer (FGD)
--table.insert(LightsList, {typ="Dimmer", id=279, mode="both"});

-- To use a light VD (Philips Hue for example)
-- Parameter "slider" needed to manage brightnes
-- Parameter "btn" can be used to set a color preset before the fadein (Be sure that the VD brightness for this button is set à 1%)
--table.insert(LightsList, {typ="VD", id=298, slider=10, btn=6, mode="both"});

-- To push on a VD Button :
-- Add "start" parameter to manage when this button will be pushed during the light fadein (in percentage)
-- If no "start" parameter, button will be pushed at the beginning of the scene
--table.insert(LightsList, {typ="VD", id=112, btn=7, start=50, mode="both"});

-- RGBW : To fade a choosen color with RGBW parameters (Set this color at full range, scene will fade this value from 0 to the value set in VD)
--table.insert(LightsList, {typ="RGBW", id=20, r=0, g=100, b=0, w=255 mode="both"});

-- RGBW : To set a RGBW program, just use "program" parameter
--table.insert(LightsList, {typ="Program", id=20, program=3, start=100, mode="both"});

-- List of the Audio System VDs which will be used to wake you up
-- One line = One action : One parameter per line = slider OR btn, not both
-- Exemple for an action on the slider 15 of the VD 245
--table.insert(SpeakerAction, {id=245, slider=15});
-- Exemple for an action on the button 6 of the VD 245
--table.insert(SpeakerAction, {id=245, btn=6});

-- Curves List by family - Please see the graphic of each function to have a better understanding
-- If a curve is not set, a random curve will be used to fade the parameters!
-- Quad : inQuad / outQuad / inOutQuad / outInQuad
-- Cubic : inCubic / outCubic / inOutCubic / outInCubic
-- Quart : inQuart / outQuart / inOutQuart / outInQuart
-- Quint : inQuint / outQuint / inOutQuint / outInQuint
-- Sine : inSine / outSine / inOutSine / outInSine
-- Expo : inExpo / outExpo / inOutExpo / outInExpo
-- Circ : inCirc / outCirc / inOutCirc / outInCirc
-- Bounce : inBounce / outBounce / inOutBounce / outInBounce

local PIECE = "CHAMBRE"; -- Room code corresponding to the Global Var created
local StartVolume = 15; -- Which Speakers volume value the fadein will start at (percentage)
local CurveLight = "linear"; -- Which function will be used to fadein light keys
local CurveAudio = "linear"; -- Which function will be used to fadein speakers keys

--------------------------------- Add your devices below this line ---------------------------------

--------------------------------- Add your devices above this line ---------------------------------
-- Debug Vars
local debug = 1; -- 1 Enable / 0 Disable
local lang = "fr"; -- Debug lang
local DisplayNamesorID = "ID"; -- Display DeviceName + RoomName (Names) or Type + ID (ID) on each Debug line
local DisplayNamesAtStartup = 1; -- Display Rooms & Names at scene startup (1) or not (0)
local DayLightDelay = 60; -- After sunrise/sunset, it's still daylight for .. mn
local VolDiffMin = 5; -- Minimum difference between Start Volume and Volume set in VD (in case of Start Volume > Volume set)
local tempo = 1; -- Pause between two actions (s)

On retrouve donc notre fameuse variable PIECE, à modifier si nécessaire. Voir plus haut pour les explications. Cette variable doit avoir la même valeur que celles du VD et le nom de la Variable Globale créée (REVEIL_***).

La variale StartVolume vous servira si vous ne souhaitez pas que le fondu audio commence à partir de la valeur 1.

 

Courbes

 

742941432_CourbesFonctions.thumb.png.2cd4706802de2d32660b0e64d4ecb589.png

 

Ajout de périphériques

  • LightsList
    • typ = Shutter
      • id ID du Module
      • pas Nombre de pas pour ouvrir ce volet (pour préserver le moteur). 20 Pas maxi
    • typ = Device
      • id ID du Module
    • typ = VD
      • id ID du VD
      • slider Numéro du slider de luminosité dans le VD
      • btn  Numéro du bouton à appuyer
      • start correspond à quel pourcentage du fondu lumineux sera appuyé le bouton en question
    • typ = RGBW
      • id ID du Module
      • r  Valeur du Rouge (0-255) qui constitue la couleur que vous souhaitez au réveil
      • g Valeur du Vert (0-255) qui constitue la couleur que vous souhaitez au réveil
      • Valeur du Bleu (0-255) qui constitue la couleur que vous souhaitez au réveil
      • Valeur du Blanc (0-255) qui constitue la couleur que vous souhaitez au réveil
      Note : Basez-vous sur une couleur à 100%, la scène fera les calculs pour graduer ces 4 valeurs simultanément à la valeur paramétrée depuis le VD
    • typ = Program
      • id ID du Module
      • program ID du programme à démarrer
      • start correspond à quel pourcentage du fondu lumineux sera démarré le programme en question

 

  • SpeakersAction
    • id ID du VD de l'enceinte
    • 2ème argument = Type du Bouton à préciser (l'un des deux seulement) avec l'id de ce bouton.
      • slider Numéro du slider de puissance dans le VD
      • btn Numéro du bouton à appuyer (exemple : allumage d'un ampli, choix d'une source...)
 
Modes
 
La scène est autonome sur la notion de jour et nuit. Ainsi, il est possible de préciser un mode pour chacune des entrées de la table LightsList.
Ce mode n'est pas indispensable, mais il permet, pour chacune des entrées de préciser dans quelle(s) situation(s) on souhaite voir telle entrée de la table s'actionner :
Seulement s'il fait jour : mode="jour"
Seulement s'il fait nuit : mode="nuit"
Dans tous les cas : mode="both" ou rien du tout
 
Note : La scène considère qu'il fait jour 1h après le lever du soleil et jusqu'à 1h après le coucher de celui-ci.
Vous pouvez ajuster cela avec la variable DayLightDelay qui a la valeur 60 (mn) par défaut.

 

Quelques exemples de configuration Lights et Speakers

 

- Ajouter un dimmer (type FGD211) :

table.insert(LightsList, {typ="Dimmer", id=79});

- Ajouter un module RGBW.

Modifier les valeurs de r (rouge), g (vert), b (bleu) et w (blanc) par celles qui vous permettront d'avoir la couleur de votre choix. Attention : Basez-vous sur une puissance à 100% pour les valeurs de couleur. (0 à 255) C'est la scène qui ajustera la puissance de ces réglages en fonction de la puissance paramétrée dans le VD et la puissance nécessaire à l'instant t pour l'allumage progressif du module. L'exemple suivant donnera donc un blanc plutôt chaud qui s'allumera progressivement.

table.insert(LightsList, {typ="RGBW", id=449, r=180, g=100, b=0, w=255});

- Ajouter une lampe type Hue (via VD), en utilisant la dernière couleur de celle-ci :

table.insert(LightsList, {typ="VD", id=89, slider=10});

- Ajouter une lampe type Hue (via VD), en rechargeant un nouveau preset de couleur ou de balance des blancs. Attention, je conseille que la luminosité de ce bouton soit la plus basse possible. Sinon, vous aurez un flash à 100% lors de l'appui sur le bouton, avant d'avoir un allumage progressif vers la valeur programmée dans le VD.

table.insert(LightsList, {typ="VD", id=89, slider=10, btn=6});

- Ajouter un volet roulant qui s'ouvrira en 6 étapes.

table.insert(LightsList, {typ="Shutter", id=279, steps=6});

- On mélange et on complexifie : Je veux que le volet 45 s'ouvre progressivement en 20 étapes, seulement si le soleil est levé, que le device 67 s'allume seulement si le soleil n'est pas levé et que le VD 89 s'allume dans tous les cas :

table.insert(LightsList, {typ="Shutter", mode="jour", id=45, pas=20});
table.insert(LightsList, {typ="Dimmer", mode="nuit", id=67});
table.insert(LightsList, {typ="VD", mode="both", id=89, slider=10, btn=6});

Pour les enceintes, c'est toujours de la même forme {id=ID du VD, TypedeBouton=NumBouton}. Mettre les actions dans l'ordre où vous voulez les voir se réaliser. TypedeBouton = btn ou slider

- Ajouter une enceinte type Sonos :

table.insert(SpeakerAction, {id=242, slider=15}); -- VD 242 / Action sur le slider 15
table.insert(SpeakerAction, {id=242, btn=18}); -- VD 242 / Appui sur le bouton 18

- Ajouter deux enceintes type Sonos. Je vous conseille de regrouper les actions similaires. Dans l'exemple suivant, les deux enceintes se verront mettre leur slider à zéro avant que le moindre programme soit démarré (par l'appui sur le bouton 18).

table.insert(SpeakerAction, {id=242, slider=15}); -- VD 242 / Action sur le slider 15
table.insert(SpeakerAction, {id=252, slider=15}); -- VD 252 / Action sur le slider 15
table.insert(SpeakerAction, {id=242, btn=18}); -- VD 242 / Appui sur le bouton 18
table.insert(SpeakerAction, {id=252, btn=18}); -- VD 252 / Appui sur le bouton 18

- Ajouter une enceinte type Yamaha Multicast

table.insert(SpeakerAction, {id=242, btn=3}); -- VD 242 / Appui sur le bouton 3 pour l'allumage
table.insert(SpeakerAction, {id=242, slider=24}); -- VD 242 / Action sur le slider 24
table.insert(SpeakerAction, {id=242, btn=10}); -- VD 242 / Appui sur le bouton 10 (Source)

- Ajouter deux enceintes type Yamaha Multicast - Même chose en double :

table.insert(SpeakerAction, {id=242, btn=3}); -- VD 242 / Appui sur le bouton 3 pour l'allumage
table.insert(SpeakerAction, {id=245, btn=3}); -- VD 245 / Appui sur le bouton 3 pour l'allumage
table.insert(SpeakerAction, {id=242, slider=24}); -- VD 242 / Action sur le slider 24
table.insert(SpeakerAction, {id=245, slider=24}); -- VD 245 / Action sur le slider 24
table.insert(SpeakerAction, {id=242, btn=10}); -- VD 242 / Appui sur le bouton 10 (Source)
table.insert(SpeakerAction, {id=245, btn=10}); -- VD 245 / Appui sur le bouton 10 (Source)

- On peut être indéci et avoir une enceinte type Sonos et une enceinte type Yamaha Multicast. Et bien, il suffit de mélanger les deux méthodes :

table.insert(SpeakerAction, {id=245, btn=3}); -- VD 245 / Appui sur le bouton 3 pour l'allumage (Yamaha Multicast)
table.insert(SpeakerAction, {id=242, slider=15}); -- VD 242 / Action sur le slider 15 (Sonos)
table.insert(SpeakerAction, {id=245, slider=24}); -- VD 245 / Action sur le slider 24 (Yamaha Multicast)
table.insert(SpeakerAction, {id=242, btn=18}); -- VD 242 / Appui sur le bouton 18 (Sonos)
table.insert(SpeakerAction, {id=245, btn=10}); -- VD 245 / Appui sur le bouton 10 (Yamaha Multicast)

 

Exemple de DEBUG

1179226763_Capturedecran2019-03-16a21_09_32.png.20dae6dff7e078b56cce9a6c5a8b4296.png

 

Téléchargement de la scène

Manageable Alarm Clock 3.3.lua

 

Scène 2.7 (Le support n'est plus fourni pour cette version : Manageable Alarm Clock 2.7.lua

Modifié par J3R3M
v3.3
  • Like 3
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Génial !

Je me réveille avec une scène programmée à l'arrache qui fait plus ou moins pareil (lumière ou volet + musique), mais là c'est super paramétrable avec un beau VD !

Je crois que je vais le tester... Faut que je trouve un moment et le courage de m'y remettre.


D'ailleurs, tu crois qu'il serait utilisable avec un volet ?

Sachant que pour éviter les 99 positions du volet (pas génial pour le moteur), je l'ouvre par palier de 25% (donc 4 positions en fait)

Partager ce message


Lien à poster
Partager sur d’autres sites

Lire cela de ta part me fait plaisir @Lazer!

Effectivement, ce n'est pas bête pour les volets. Je l'ai fait pour moi et j'ai visiblement oublié de le remettre en harmonisant mon code.

Il est possible de corriger rapidement le truc en ajoutant une condition (similaire à celle que j'utilise pour les debugs à 25-50-75-100) d'ailleurs.

Il faudrait cependant ajouter une option dans le script pour la gestion des volets pour que ce soit optimal et moins bidouille.

À l'heure actuelle, si tu ajoutes un volet comme un module lumineux, ça va fonctionner mais tu vas rencontrer le problème des 99 pas effectivement.

Mais je vais rapidement faire une modification qui permettra de choisir le nombre de pas, pour les volets roulants.

Merci de la suggestion :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Et voilà, la version 1.2 est disponible!

Je viens d'éditer le premier post et j'ai mis à jour les scripts et téléchargements.

 

Par contre, je n'ai pas le recul que j'avais sur la version précédente.

Les tests que j'ai effectués semblaient concluants, mais n'hésitez pas à me dire si quelque chose n'est pas clair ou s'il y a un bug.

 

Je rappelle que je suis ouvert aux suggestions, notamment au niveau de l'optimisation du code LUA.

Il y a encore quelques mois, je ne savais pas ce qu'était le LUA, alors je ne maitrise forcément pas totalement la chose. :D

 

J'ai donc ajouté la gestion des Volets Roulants. Les Volets Roulants s'intègrent comme un device lumière, avec d'autres paramètres pour optimiser leur utilisation.

Désormais, il y a un mode à paramétrer sur les devices. Ce mode sert à gérer l'ouverture automatique des volets en fonction du levé du soleil.

Le mode "AND" sur un "Shutter" ouvrira les volets au même rythme que les lumières.

Les "device" et "VD" en mode "OR", ne s'allumeront que si le soleil n'est pas levé à l'instant t. Les autres devices en mode "AND" s'allumeront au même rythme que l'ouverture des volets roulants.

Lors de la déclaration d'un volet roulant, il faut saisir un nombre de pas que fera le volet roulant, afin effectivement de ne pas abîmer le moteur en lui imposant les 100 pas.

 

J'attends vos éventuels retours :)

 

Modifié par J3R3M
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Excellentissime, je n'en utilisais pas. Fait que je trouve du temps pour le tester. Tu n'es pas mis d'exemples avec Speakerlist, mais je suppose que si tu n en specifies pas..pas d enceintes ?
Aucune par defaut.
Je pose la question sans avoir lu le code :-).

Top. Et non ce n'est pas du temps perdu que de partager. Au contraire .

Un grand merci



Envoyé de mon BND-L21 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Petite suggestion choisir les jours de la semaine :-)

Envoyé de mon BND-L21 en utilisant Tapatalk

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @pepite

il y a 33 minutes, pepite a dit :

Tu n'es pas mis d'exemples avec Speakerlist, mais je suppose que si tu n en specifies pas..pas d enceintes ?
Aucune par defaut.

Effectivement, je partais du principe qu'il y avait au moins forcément une enceinte.

Je viens de rajouter les conditions permettant de ne pas utiliser d'enceintes, ce qui donne une petite version 1.3 désormais :)

il y a 30 minutes, pepite a dit :

Petite suggestion choisir les jours de la semaine :-)

Ce VD permet de mettre un réveil fixe pour tous les jours travaillés (Lun-Ven par défaut) ou en "One Shot" pour le prochain horaire disponible.

Il est possible de modifier les jours travaillés pour les adapter à sa situation.

Par contre, si le but est de programmer en avance différents réveils pour chaque jour de la semaine, je préconise plutôt l'utilisation du VD Triggers journaliers, que j'avais justement fait sur la base de cette idée :)

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

@J3R3M pas encore testé le VD, mais j'ai commencé par lire les paramètres.

Du coup, plusieurs questions me viennent :

 

- l'aube, c'est à dire l'allumage progressif de la lumière, semble avoir lieu AVANT l'heure programmée de réveil (afin que la luminosité soit maximale précisément à l'heure du réveil). Comment faire si je souhaite que l'Aube démarre à l'heure du réveil ?

- est-il possible de piloter un module RGBW ?

- SpeakersList => comment puis-je faire pour effectuer plusieurs actions : allumer l'ampli/enceinte (appui sur un bouton) puis régler le volume sonore à 0 (slider), puis sélectionner une source (favori radio, playlist, etc => appui sur un 2nd bouton). Seulement après, le son pourra monter progressivement.

Partager ce message


Lien à poster
Partager sur d’autres sites

Supposins que je sois a 80%,
Mon reveil fixe (pas different chaque jour) n a lieu que lund, mardi, jeudi et vendredi.

Ce serait un plus de pouvoir choisir non ?

Envoyé de mon BND-L21 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 8 heures, kioneoranga a dit :

Super VD

Merci pour le partage

Merci @kioneoranga! N'hésite pas à faire un retour de ton expérience avec celui-ci!

Il y a 7 heures, Lazer a dit :

@J3R3M pas encore testé le VD, mais j'ai commencé par lire les paramètres.

Effectivement @Lazer, en te lisant, je me suis rendu compte que ça manquait un peu d'explications sur le principe de fonctionnement du VD et de la scène.

J'ai rajouté un peu plus d'infos sur le principe dans le premier post!

Il y a 7 heures, Lazer a dit :

- l'aube, c'est à dire l'allumage progressif de la lumière, semble avoir lieu AVANT l'heure programmée de réveil (afin que la luminosité soit maximale précisément à l'heure du réveil). Comment faire si je souhaite que l'Aube démarre à l'heure du réveil ?

D'après les études qui ont été faites, le but est de réveiller peu à peu l'organisme en reproduisant l'effet du levé du soleil. Cela permet un réveil plus agréable et moins difficile à l'heure du réveil, soit quand la lumière est à 100%.

Mais, à chacun son utilisation, j'ai donc modifié le VD dans ce sens. J'ai modifié le lien de téléchargement du premier post.

Dans cette nouvelle version, tu as une variable "StartScene" qui, si tu en changes la valeur, démarrera la scène à l'heure du réveil et non x minutes avant celle-ci. J'espère que ça te conviendra :)

Il y a 7 heures, Lazer a dit :

- est-il possible de piloter un module RGBW ?

Dans l'état actuel des choses, je ne peux pas te le dire, mais je ne pense pas.

Je n'en ai pas, il faut que je regarde comment ces modules fonctionnent pour être certain que la scène puisse les gérer et l'adapter en conséquence.

Je vais m'y pencher cette semaine :)

Il y a 7 heures, Lazer a dit :

SpeakersList => comment puis-je faire pour effectuer plusieurs actions :

Pour le coup, ton besoin est plutôt précis. Voilà ce que fait la scène à ce jour :

  1. Mettre le Slider de chaque enceinte sur 0 (1s entre chaque appui)
  2. VD Lumières - Appuyer sur le bouton du VD s'il a été spécifié
  3. Simulation d'aube (Fade lumineux) de la durée paramétrée dans le VD, en respectant les modes des lampes/volets (AND ou OR)
  4. Appuyer sur le bouton de chaque enceinte pour démarrer le programme (1s entre chaque appui)
  5. Fade de toutes les enceintes de la durée paramétrée
  6. Désactivation du réveil s'il avait été paramétré sur "Une fois"

C'est à dire que, dans ton cas, il va manquer simplement la première action qui est l'appui sur un bouton pour allumer l'enceinte, puisque les autres actions sont gérées par la scène.

Je comprends donc que tes enceintes ne s'allument pas automatiquement lorsque tu sélectionnes une source?

Tes enceintes doivent-elles d'abord être allumées avant que le volume soit envoyé via le slider ?

Pour cet exemple spécifique et en fonction de tes réponses, je pense que le plus simple sera de mettre en place une fonction personnalisable dans le programme de la scène, pour permettre d'ajuster ces petits détails.

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, pepite a dit :

Supposins que je sois a 80%, emoji2.pngemoji2.pngemoji2.png
Mon reveil fixe (pas different chaque jour) n a lieu que lund, mardi, jeudi et vendredi.

Ce serait un plus de pouvoir choisir non ?

Cher @pepite, j'ai modifié le VD pour que tu puisses l'utiliser comme bon te semble ;)

Dans le VD, tu peux spécifier les jours de repos et le réveil régulier ne se déclenchera pas lors de ceux-ci! :17:

Fais-moi le plaisir d'au moins le tester s'il-te-plaît, puisque ces modifications ont quand même demandé à ce que je me creuse pas mal la tête au niveau de la programmation :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @J3R3M

 Malheureusement, je ne suis pas à 80 % :60: Ce n'etait qu'un exemple ;-) mais ca peut permettre à tous de gerer les jours que l'on souhaite. Super évolution, y compris pour les enceintes ;-) . Je vias évidemment le tester et certainement l'adopter ;-) . Je vais tout relire histoire de bien comprendre ;-).

Partager ce message


Lien à poster
Partager sur d’autres sites

@J3R3M un grand merci pour tes réponses et ta réactivité à faire évoluer ton VD !

 

Pour mes enceintes, en effet, j'utilise mon VD Yamaha Musiccast ( https://www.domotique-fibaro.fr/topic/11713-yamaha-musiccast/ ) et je fais 2 clics pour allumer et choisir la source.

 

Il y a 10 heures, J3R3M a dit :

le plus simple sera de mettre en place une fonction personnalisable dans le programme de la scène, pour permettre d'ajuster ces petits détails

C'est facile à faire ?

Je n'ai pas encore regardé le code, je veux bien m'y mettre s'il le faut.

Partager ce message


Lien à poster
Partager sur d’autres sites

Et cette fonction c'est toi qui l'a fait ? ou nous devons la faire ?

Sinon, je pense à une évolution fortement suggéré par @Lazer et ses 2 clics :

 

Permettre ceci, par exemple, qu'en penses tu/vous ? 


 

table.insert(SpeakersList, { {id=243, slider=10, btn=18}, {id=243, btn=19} });
table.insert(LightsList, { {typ="Device", mode="AND", id=67}, {typ="Device", mode="AND", id=82} })

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hihi, t'es en train de nous refaire une syntaxe à la GEA :D
Mais j'approuve le concept, une liste d'actions à effectuer, qui sera facilement lue par une boucle for

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, pepite a dit :

Malheureusement, je ne suis pas à 80 % :60: Ce n'etait qu'un exemple ;-) mais ca peut permettre à tous de gerer les jours que l'on souhaite. Super évolution, y compris pour les enceintes ;-) . Je vias évidemment le tester et certainement l'adopter ;-) . Je vais tout relire histoire de bien comprendre ;-).

Bon alors effectivement, il a plus d'options du coup :)

Il y a 11 heures, Lazer a dit :

@J3R3M un grand merci pour tes réponses et ta réactivité à faire évoluer ton VD !

@Lazer , c'est avec plaisir, surtout lorsque j'ai le temps de le faire!

Il y a 11 heures, Lazer a dit :

Pour mes enceintes, en effet, j'utilise mon VD Yamaha Musiccast ( https://www.domotique-fibaro.fr/topic/11713-yamaha-musiccast/ ) et je fais 2 clics pour allumer et choisir la source.

Je vais aller voir ça, mais les appuis supplémentaires ne poseront pas de problème :)

Il y a 11 heures, Lazer a dit :

Je n'ai pas encore regardé le code, je veux bien m'y mettre s'il le faut. 

Il y a 11 heures, Lazer a dit :

C'est facile à faire ?

Oh oui, le plus difficile a été fait je pense. Je vais juste permettre l'appui sur plusieurs boutons pour le même VD, ça permettra pus de choses.

Il y a 11 heures, Lazer a dit :

Je n'ai pas encore regardé le code, je veux bien m'y mettre s'il le faut. 

Je vote pour que tu regardes le code après l'avoir testé, pour que tu ne me dises pas tout de suite que je me suis trop compliqué la vie, ou le contraire d'ailleurs :D

Il y a 11 heures, pepite a dit :

Et cette fonction c'est toi qui l'a fait ? ou nous devons la faire ? 

Je m'en occupe :)

Il y a 11 heures, pepite a dit :

Permettre ceci, par exemple, qu'en penses tu/vous ?

En fait, je vois l'intérêt du double clic sans aucun doute, mais pas avec la syntaxe que tu proposes ci-dessus.

Le but d'avoir deux tableaux est de les remplir simplement, mais utiliser qu'une seule ligne pour les remplir avec toutes les informations, je trouve ça plus complexe, moins lisible et plus difficile à maintenir.

Utiliser cette syntaxe serait, je pense, un bon moyen de faire peur aux personnes ne voulant absolument pas trop avoir de lien avec la programmation.

J'ai en tête une solution qui devrait permettre de conserver "la simplicité" tout en permettant plusieurs clics sur des boutons ;)

Enfin, vous me confirmerez cela ou pas quand j'aurai fait les modifs en question :P

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Je vais publier une nouvelle version de la scène qui permettra plusieurs actions sur différents boutons et qui devrait pouvoir gérer les modules RGBW.

Seulement, je n'en ai pas sous la main, donc je me suis renseigné et j'ai essayé de faire quelque chose, sans pouvoir tester...

Pouvez-vous me confirmer qu'il failler faire ainsi pour allumer un module RGBW avec des valeurs personnalisées ?

fibaro:call(id, "setColor", red, green, blue, white);
fibaro:call(id, "turnOn");

 

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Voici la version bêta de la scène en v1.4 qui, je l'espère, répondra à toutes vos attentes.

Avant de modifier le code du premier post, pouvez-vous me confirmer que la commande du post précédent est correcte pour la gestion des modules RGBW ?

Si oui, pouvez-vous tester cette scène (avec le VD) s'il-vous-plaît et me dire si la gestion RGBW est bonne* ? Merci d'avance :)

Non seulement je n'ai pas de module RGBW et je suis en déplacement, alors ce n'est pas des plus pratiques :rolleyes:

 

* EDIT : J'ai supprimé la ligne suivante qui n'a visiblement rien à faire pour la gestion des modules rgbw :)

fibaro:call(LightsList[j].id, "turnOn");

 

Dans cette prochaine version, SpeakersList laisse place à SpeakerAction.

Pour chaque entrée dans ce tableau, on met dans l'ordre les actions que l'on veut que la scène fasse : SpeakerAction(IDduVD, TypeBouton, NumBouton)

Du coup, plus de limite à un bouton spécifique, si vous voulez lancer une source et la changer aussitôt après, vous pouvez le faire, mais l'intérêt sera nul pour un script qui sera retardé.

Cependant, allumer un ampli avant de mettre un slider un zéro puis appuyer sur un autre bouton ensuite, plus aucun problème pour @Lazer en théorie!

 

La boucle traite bêtement les informations du tableau :

- Si c'est un bouton "btn", j'appuie sur ce bouton

- Si c'est un slider, je le mets à 0%

Pour le coup, je trouve cela plus simple à comprendre et à mettre en place pour une personne lambda.

 

Par la suite, la boucle récupèrera les entrées qui ont un slider déclaré pour en faire monter le volume progressivement.

Le code de cette scène a été supprimé de ce message et directement intégré au premier post.

Modifié par J3R3M
  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci, c'est top tout ça :)

Pas le temps de tester là, tu développes plus vite que ton ombre !

D'ici ce week-end normalement je m'y attelle :)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 55 minutes, Lazer a dit :

Merci, c'est top tout ça :)

Pas le temps de tester là, tu développes plus vite que ton ombre !

D'ici ce week-end normalement je m'y attelle :)

Merci de ta réponse ;)

De manière implicite, cela signifierait que les commandes de contrôle des modules RGBW sont bonnes (puisque tu parles directement de test) ? :D

Je ne sais absolument pas comment réagit la HC2 aux enchaînements directs de deux fonctions pour le même module..

Edit : visiblement, la ligne fibaro:call(LightsList[j].id, "turnOn"); n'est jamais utilisée pour les modules RGBW et c'est tant mieux, c'est plus cohérent!

 

Pour aller vite à programmer, il faut commencer par être très malade un week-end, mais pas trop pour pouvoir taper sur un clavier.

Ensuite, quand ça va mieux (le dimanche soir <_<), il faut être en déplacement et ne rien avoir à faire, pas même prendre des nouvelles de madame qui n'est pas tellement sur le même fuseau horaire cette semaine!

 

Bon, je triche un peu aussi : je ne fais que des choses simples qui ne demandent pas trop de réflexion : des tableaux, des conditions et des boucles...

 

:60:

Modifié par J3R3M

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Parfait tout ca, well done.

Bienvenu speakerActions ;-)

 

Tu degaines vite ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

A vrai dire je ne sais pas pour le RGB, je n'ai qu'un seul ruban RGB, et je ne le pilote jamais via des scripts LUA.

Je change la couleur via l'appli mobile (en pratique il est toujours de la même couleur), et c'est la Harmony qui permet de l'allumer/éteindre.

C'est bien pour cela que je parlais de tester.

 

En tout cas ça m'a l'air bien complet tout ça, il va falloir que je mette en place le VD/Scène complet et tester un matin

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a une heure, pepite a dit :

Bonjour,

 

Parfait tout ca, well done.

Bienvenu speakerActions ;-)

 

Tu degaines vite ;-)

Salut @pepite et merci. J'espère surtout que c'est parfaitement fonctionnel :D

il y a 2 minutes, Lazer a dit :

A vrai dire je ne sais pas pour le RGB, je n'ai qu'une seul ruban RGB, et je ne le pilote jamais via des scripts LUA.

Je change la couleur via l'appli mobile (en pratique il est toujours de la même couleur), et c'est la Harmony qui permet de l'allumer/éteindre. 

C'est bien pour cela que je parlais de tester.

Je comprends mieux. Effectivement il est certain que la gestion des couleurs automatisée n'a pas grand intérêt et, quitte à le faire soi-même, autant le faire via l'application qui lui et consacrée.

il y a 3 minutes, Lazer a dit :

En tout cas ça m'a l'air bien complet tout ça, il va falloir que je mette en place le VD/Scène complet et tester un matin

Merci, n'hésite pas à commencer par un test en journée avec un fade de seulement 1mn, histoire de ne pas louper le réveil le lendemain si jamais il y a la moindre erreur dans le traitement d'un device.

Je ne veux pas être responsable d'une vraie panne de réveil xD

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui oui c'est sûr que je vais commencer par un test en journée !

De toute façon le matin j'ai toujours mon réveil traditionnel..... euh, que dis-je, mon smarpthone en fait :D (j'ai passé plus d'années de ma vie réveillé par un téléphone (first Nokia 3310 :D ) que par un vrai réveil)

Partager ce message


Lien à poster
Partager sur d’autres sites

×