Aller au contenu

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


J3R3M

Messages recommandés

Réveil avancé paramétrable

Version Scène : 3.6 - Version VD : 2.1

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...

 

524615344_Capturedecran2020-03-31a18_28_11.png.cf116dd649298849be1fd1711360f05f.png786651949_Capturedecran2020-03-31a18_29_09.png.c6cf231e43ecdfe60725fbe99a11c39d.png476030313_Capturedecran2020-03-31a18_31_17.png.165f0c568df8db2e3bdf34975f6b78f0.png1379163368_VDVendredi.png.eec2fccda2d089acb8fb497afbc7a52a.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 d'un réveil "douceur" où une ou plusieurs lampes seront progressivement allumées durant un temps défini et le programme de votre choix sera ensuite lu en fondu sur votre système d'enceintes.

Ce kit Scène+VD peut être utilisé pour chaque chambre, c'est pourquoi il y a la variable ROOM à modifier à plusieurs reprises dans le VD et dans la scène.

 

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 et Configuration du VD

-- Manageable Alarm Clock Scene Id
local SceneID = 193;
-- Which room will this VD Manage ? Must be the same than the Scene
local ROOM = "CHAMBRE";

-- Days Off
local DaysOff = {"Samedi","Dimanche"};

-- By defaut, this scene will be launched to have full light at the time set up in the VD : Actual Hour - Dawn Time
-- Change this var to anything else if you want to trigg the scene at the hour H.
local StartScene = "DEFAULT";

-- Icon's ids
local icon_ok = 1156
local icon_wait = 1158
local icon_off = 1160

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

  • SceneID : ID de la scène affectée à ce VD
  • ROOM : 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.
  • DaysOff : 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.
  • StartScene : Par défaut, le VD va démarrer la scène X minutes (le temps du 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 d'autre.
  • icon_ok : Icone qui s'affichera lorsque la scène sera active
  • icon_wait : Icone qui s'affichera lorsque le VD est en attente de l'heure du réveil
  • icon_off : Icone qui s'affichera lorsqu'aucun réveil sera programmé (ou que le réveil "Une fois" sera déclenché)

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

 

Utilisation du VD

  • Un appui sur : affichera 12:00 par défaut. Cela peut être modifié en changeant la valeur de la variable ClickHour dans le bouton correspondant.
  • Le volume du son est en pourcentage (Agit directement sur les sliders)
  • Le temps de fade son est en secondes
  • La puissance des différents devices est en pourcentage*
  • La durée de l'aube simulée est en minutes
  • 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 Semaine programme le réveil chaque jour, sauf ceux renseignés dans la variable DaysOff. La scène sera lancée automatiquement à heure fixe tant que le VD est activé.
  • Le bouton Rappel rappellera les derniers paramètres en cours avant la désactivation du VD
  • Le bouton Off sauvegardera les derniers paramètres enregistrés et désactivera le VD

* Les volets roulants s'ouvriront au même rythme que les autres devices, mais à 100% dans tous les cas, quelque soit la valeur saisie dans le VD.

J'ai trouvé plus judicieux de pouvoir jouer sur la puissance des différents devices, sans que le volet roulant se retrouve à moitié ouvert.

 

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 "Semaine" 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 du VD

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

Scène lancée et active - Réveil en attente - Réveil OFF

 

Réglages de la scène

-- Scene Settings
local ROOM = "ROOM"; -- Room code corresponding to the Global Var created
local StartVolume = 1; -- 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

-- 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

-- Debug Vars
local debug = 1; -- 1 Enable / 0 Disable
local lang = "en"; -- 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 DisplayRGBWValues = 1; -- Display RGBW Values increasement when fading in (1) instead of only multiplier (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 LimitDebugLines = 1; -- Limit number of Debug Lines to 4 max per device and to 20 max per roller shutter
-- Changing next var values may seriously impact the scene
local CheckAlarmMode = 1; -- Check if the alarm is set and not just memorized before starting sthis scene
local DisplayScenesNames = 0; -- Display Scenes Names in debug (1) or not (0)! Active this function may delay the script
local tempo = 1; -- Pause between two actions in LightsAction and SpeakersAction functions (s) - It' not recommended to change this value

-- List of the light/shutter devices which will be dimmed/opened/launched
-- Typ = Shutter / Dimmer / VD / RGBW / Program / Switch / Scene
-- 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 (FGR)
-- 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});

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

-- Add a RGBW device (FG-RGB) : 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=150, g=100, b=0, w=255});

-- Add a RGBW Program : To set a RGBW program, just use "program" parameter
-- Add "start" parameter to manage when this program will be started during the light fadein (in percentage)
-- If no "start" parameter is set, program will be started at the beginning of the scene
--table.insert(LightsList, {typ="Program", id=20, program=3, start=50});

-- Add a switch (FGS)
-- Add "start" parameter to manage when this turnon action will be done during the light fadein (in percentage)
-- If no "start" parameter is set, action will be done at the beginning of the scene
--table.insert(LightsList, {typ="Switch", id=49, start=100});

-- To add a VD
-- If it's a light VD : Parameter "slider" needed to manage brightness
--table.insert(LightsList, {typ="VD", id=298, slider=10});
-- "btn" paramater can be added to set a color preset before the fadein (Be sure that the VD brightness for this button is set et 1%)
--table.insert(LightsList, {typ="VD", id=298, slider=10, btn=6});
-- If it's not a light VD (with brightness slider) : Just indicate "btn" parameter
--table.insert(LightsList, {typ="VD", id=298, btn=6});
-- Add "start" parameter if you want to manage when this button will be pressed during the dawn fade in (in percentage)
--table.insert(LightsList, {typ="VD", id=298, btn=6, start=50});

-- Scene : To start a scene
-- Add "start" parameter to manage when the action will be done during the light fadein (in percentage)
-- If no "start" parameter is set, action will be done at the beginning of the scene
--table.insert(LightsList, {typ="Scene", id=254, start=50});

-- 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});

Réglage basiques du fonctionnement de la scène

  • ROOM Cette variable doit avoir la même valeur que celles du VD et le nom de la Variable Globale créée (REVEIL_***)
  • StartVolume vous servira si vous ne souhaitez pas que le fondu audio commence à partir de la valeur 1.
  • CurveLight et CurveAudio Courbes utilisées pour effectuer le Fade IN des devices. Si vous êtes joueurs, commentez ces lignes et la scène en sélectionnera au hasard à chaque lancement!

 

Réglages du DEBUG

  • debug 1 Activé / 0 Désactivé
  • lang Langue du DEBUG ("fr" ou "en")
  • DisplayNamesorID Affichage des Pièces + Noms des Devices ("Names) ou Type + ID lors du traitement de l'entrée (ID)
  • DisplayNamesAtStartup Affichage (1) ou non (0) de la liste des entrées qui seront traitées au démarrage du script
  • DisplayRGBWValues Affichage (1) ou non (0) des valeurs détaillées R,G,B,W utilisées pour varier le device RGBW
  • DaylighDelay Durée après laquelle la scène considèrera qu'il fait jour après lever/coucher du soleil
  • VolDiffMin Différence minimale de volume entre la valeur StartVolume et celui paramétré depuis le VD
  • LimitDebugLines Limiter le nombre de lignes à 4 maxi par device et 20 maxi par volet roulant (1) ou Activer les 100 lignes de traitement pour chaque (0)
  • CheckAlarmMode Vérifier si une alarme est programmée avant le démarrage du script
  • DisplaySceneNames Afficher les nom et pièce des scènes utilisées. Activer cette option augmente le temps d'exécution du script
  • CheckAlarmMode Vérifier si un réveil est programmé pour autoriser le déclenchement manuel de cette scène. Si cette option est à 0, la scène pourra être lancée et utilisera les derniers paramètres utilisés pour traiter les périphériques.
  • DisplayScenesNames Afficher ou non les noms de scènes + les pièces où elles sont affectées dans le DEBUG. Cette option est susceptible de considérablement augmenter le temps de traitement du script (api.get pour chaque récupération de nom)
  • tempo Temps entre deux actions sur un bouton

 

Courbes (Robert Penner's Easing Equations)

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
      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
      • 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
    • typ = Switch
      • id ID du Module
      • start* correspond à quel pourcentage du fondu lumineux sera envoyée la commande turnOn en question
    • typ = Scene
      • id ID de la scène
      • start* correspond à quel pourcentage du fondu lumineux sera démarrée la scène en question
    • 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

* Ces paramètres ne sont pas obligatoires. Si start n'est pas renseigné, les paramètres seront exploités au début du script.

  • SpeakerAction
    • 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

 

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. 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 très bien avoir une enceinte type Sonos et une enceinte type Yamaha Multicast. Et bien, il suffit de mixer 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)

 

Icône de la scène

AdvancedAlarmClockScene.png.c68512b3f3f4487c5923e01cc3a45487.png

 

Exemple de DEBUG

449921017_DEBUGFR.jpg.b85066d6987e0bb6f7466d1a0dddc4d5.jpg

Téléchargements

[REVEIL]_CHAMBRE v2.1.vfib

Advanced Alarm Clock 3.6.lua

English Version : Advanced Alarm Clock on the offical forum

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

 

Modifié par J3R3M
Scène v3.6 - VD 2.1
  • Like 3
  • Upvote 2
Lien vers le commentaire
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)

Lien vers le commentaire
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 :)

Lien vers le commentaire
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
Lien vers le commentaire
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

Lien vers le commentaire
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
Lien vers le commentaire
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.

Lien vers le commentaire
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

Lien vers le commentaire
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
Lien vers le commentaire
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

Lien vers le commentaire
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 ;-).

Lien vers le commentaire
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.

Lien vers le commentaire
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} })

 

Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
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

Lien vers le commentaire
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

Lien vers le commentaire
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)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...