Aller au contenu

J3R3M

Membres confirmés
  • Compteur de contenus

    593
  • Inscription

  • Dernière visite

  • Jours gagnés

    8

Tout ce qui a été posté par J3R3M

  1. -- -- Scène Réveil Paramétrable v1.6.2 BETA -- -- Date : 20 Mars 2020 -- Auteur : J3R3M --
  2. Bon, je suis limité par les compilateurs LUA qui ne comprennent pas les fonctions Fibaro... Je peux donc fournir une scène qui ne présente plus de problèmes de syntaxes (genre de parenthèses oubliées) dans un premier temps -- -- Scène Réveil Paramétrable v1.6.1 BETA -- -- Date : 20 Mars 2020 -- Auteur : J3R3M --
  3. Merci beaucoup de ton retour! J'ai vu que je pouvais basiquement tester le LUA en ligne, je vais pouvoir supprimer les bêtes erreurs de saisie comme celle-ci seul. Bon courage pour travailler, je vais voir pour tester cela au maximum avant de proposer une nouvelle version. Merci encore et à tout à l'heure!
  4. Si jamais vous avez l'occasion de tester cette nouvelle version de la scène... Pour le coup, j'ai fait pas mal de modifications (optimisation et ajout de fonctions), toujours sans la possibilité de la tester... Mais ça fait une scène légèrement plus conséquente pour ajouter ces fonctions, forcément @Did, cette scène contient directement les valeurs de tes devices et est (ou sera si bugs...) capable de traiter un fade de 0s pour un allumage direct de toutes les entrées. -- -- Scène Réveil Paramétrable v1.6.1 BETA -- -- Date : 20 Mars 2020 -- Auteur : J3R3M --
  5. Merci des renseignements, je vais en prendre compte. C'est bien mon avis également. Mais si jamais ça devait être un besoin pour un grand nombre, je pourrais le rajouter. Oui, seule la valeur zéro pouvait créer des bugs au niveau des calculs et des fonctions LUA. Ça aurait créé des résultats nuls qui n'étaient pas prévus.
  6. Si on dépasse les 5 utilisateurs qui l'utilisent, ça sera déjà bien À l'heure actuelle, je ne suis pas convaincu de l'intérêt. J'ai voulu conserver un VD simple avec les réglages nécessaires et récurrents. Ce StartVolume, je pense que c'est plutôt un réglage que chacun réglera comme il le souhaite une seule fois (après peut être quelques essais), mais dont la nécessité de le régler à chaque programmation est relative... Enfin, à voir en fonction des retours, mais je n'imagine pas quelqu'un changer le volume de départ à chaque programmation de réveil En plus, je ne peux pas faire de modifications dans le VD sans HC2, donc ça m'arrange bien
  7. Merci. Tu n'avais pas également un programme RGBW qui se lançait via ce bout de code? fibaro:call(20, "startProgram", "Id du programme"); Non, ces fonctions n'ont pas été supprimées pourtant, elles sont même directement intégrées avec les modifications.
  8. Je faisais ça justement pour éviter que tu aies à chercher la scène à tester. À la limite, donne-moi directement tes informations de VD (contenant tes programmes) et un ID de programme RGBW et je te transmettrai directement des scripts prêts à l'emploi. En effet, le but de la scène est avant tout de simuler une aube pour provoquer un réveil en douceur, la lumière commence donc à s'allumer H - x minutes avant que les enceintes ne soient mises en route, dans le but d'avoir ce réveil doux. À l'heure actuelle, mettre un fade de "0" risque de créer pas mal de bugs dans les fonctions de fade, une mise à jour est à prévoir pour palier à cela. Le plus simple serait de mettre un fade d'une minute pour le moment. Est-ce que tu as modifié la valeur de StartVolume ? Au tout début de la fonction SpeakersFade(), il y a une vérification qui compare la valeur de StartVolume à la valeur paramétrée via le VD. Si la valeur déclarée de StartVolume est entre guillemets, une erreur comme celle-ci est tout-à-fait possible.
  9. Effectivement, je pensais que tu les avais essayées. En fait, je te propose à chaque fois une nouvelle version de scène plus optimisée ou corrigée et supprime les précédentes pour que ça évite les confusions, pour toi ou les futurs lecteurs. Concernant l'erreur LUA rencontrée ci-dessus, je pense que c'est parce que tu as peut être déclaré la valeur de StartVolume entre guillemets, non? Dans tous les cas, comment s'est passé le fade-in de ton programme? Est-ce que le programme a bien démarré ? Si oui, a-t-il démarré à 1%? Le fade-in s'est-il fait progressivement jusqu'à la valeur programmée, sans interruptions de ce programme? Merci de prendre du temps pour tous ces essais en tous cas, c'est très gentil!
  10. @Did, tu as essayé l'appui sur un bouton de ton VD, c'est bien ça ? As-tu bien renseigné tous les champs concernant l'entrée VD? table.insert(LightsList, {typ="VD", id=89, slider=0, btn=0, mode="AND"}); Dans ce cas, mets slider=0 et utilise cette scène pour ne pas rencontrer d'erreur : -- -- Scène Réveil Paramétrable v1.5.4 BETA -- -- Date : 19 Mars 2020 -- Auteur : J3R3M --
  11. @Did, si jamais ça fonctionne comme tu le souhaites (ce que j'espère), pourras-tu également essayer directement un de tes programmes via cette nouvelle scène, s'il-te-plaît? Avec les informations trouvées par-ci, par-là, cette scène est censée charger le programme et augmenter sa puissance sur la durée programmée dans le VD... Je dis bien censée... -- -- Scène Réveil Paramétrable v1.5.3 BETA -- -- Date : 19 Mars 2020 -- Auteur : J3R3M --
  12. Dans ce cas, mettre l’ID du VD et du bouton en question appuiera bien sur ce bouton dès le démarrage de la scène
  13. On va réussir à avoir ce que tu souhaites Oui, mais ça ne fonctionnera pas, puisque c'est prévu pour les VD, pas pour un module réel Essaie cette nouvelle version de la scène, spécialement faite à l'instant pour tes besoins. Modifie les entrées dans les tables pour que ça corresponde à ce que tu souhaites, notamment au nouveau de la nouvelle option "Program" table.insert(LightsList, {typ="Program", mode="AND", id=20, program=7, fade="off"}); . -- -- Scène Réveil Paramétrable v1.5.2 BETA -- -- Date : 19 Mars 2020 -- Auteur : J3R3M --
  14. PAAAARFAIT! Effectivement, dans les exemples, j'avais mis le slider 10 car c'est le slider 10 qui fonctionne chez moi, mais c'est bel et bien le 15 sur le VD d'origine! J'ai changé ce chiffre dans les exemples afin que ça soit plus logique et éviter d'autres problèmes comme celui-ci. Pour ce cas particulier, je t'invite à rajouter une variable au début du script : local StartVolume = 20; Et de remplacer les fonctions SpeakersActions() et SpeakersFade() par celles-ci : local function SpeakersAction() Debug("green", "[SpeakersAction] -> Début de la fonction"); if #SpeakerAction > 0 then for i=1,#SpeakerAction do if tonumber(SpeakerAction[i].slider) ~= nil then fibaro:call(SpeakerAction[i].id, "setSlider", tostring(SpeakerAction[i].slider), tostring(StartVolume)); Debug("grey", "[SpeakersAction] [VD "..SpeakerAction[i].id.."] Le slider "..SpeakerAction[i].slider.." est à "..StartVolume.." %."); fibaro:sleep(tempo*1000); elseif tonumber(SpeakerAction[i].btn) ~= nil then fibaro:call(SpeakerAction[i].id, "pressButton", tostring(SpeakerAction[i].btn)); Debug("grey", "[SpeakersAction] [VD "..SpeakerAction[i].id.."] Le bouton "..SpeakerAction[i].btn.." a été appuyé."); fibaro:sleep(tempo*1000); end end else Debug("yellow","Aucune enceinte à traiter dans cette fonction"); end Debug("purple", "[SpeakersAction] -> Fin de la fonction"); end local function SpeakersFade(VolMax,TpsFade) Debug("green", "[SpeakersFade] -> Début de la fonction"); if #SpeakerAction > 0 then for i=StartVolume,VolMax do for j=1,#SpeakerAction do if tonumber(SpeakerAction[j].slider) ~= nil then fibaro:call(SpeakerAction[j].id, "setSlider", tostring(SpeakerAction[j].slider), i); local Pourcentage = math.floor(i*100/VolMax); Debug("grey", "[SpeakersFade] [VD "..SpeakerAction[j].id.."] Slider "..SpeakerAction[j].slider.." à "..Pourcentage.."% ("..i..") de la valeur "..VolMax, Pourcentage); end -- Condition y'a-t'il un slider ? end -- Boucle entrée par entrée fibaro:sleep(math.floor(TpsFade/VolMax*1000)); end -- Boucle envoi volume else Debug("yellow","Aucune enceinte à traiter dans cette fonction"); end -- Check nb enceintes Debug("purple", "[SpeakersFade] -> Fin de la fonction"); end Si cela fonctionne bien pour toi, je rajouterai l'option dans le script de la première page Pour le moment, ce n'est pas possible. Dis-m'en plus s'il-te-plaît. Sais-tu comment lancer un tel programme sur ton module, en LUA? C'est quelque chose que je peux également prévoir bien évidemment. À l'heure actuelle, les Roller Shutter sont bien pris en charge. Cependant, ils sont traités au même niveau que la lumière, c'est-à-dire qu'ils vont participer à la simulation de cette aube. Donc, les volets roulants peuvent s'ouvrir simultanément ou à la place des éclairages, mais avant l'heure du réveil, afin d'être totalement ouverts à l'heure du réveil. Aussi, il est possible de faire en sorte que la scène ne se démarre qu'à l'heure du réveil, donc simulation d'aube qui démarrerait qu'à partir de l'heure du réveil et les enceintes seulement après cette simulation. Pour cela, il suffit de modifier la valeur de la variable StartScene (par n'importe quelle autre valeur) au début de la Boucle Principale du VD.
  15. Ah oui, il est possible que l'ID de ton slider ne soit pas correct... Si ton VD Sonos est celui d'origine, le slider doit être le numéro 15.
  16. Pour voir ce qu'il se passe du côté enceintes, essayons cette nouvelle scène, dans laquelle tu peux bien évidemment changer les paramètres de couleurs comme bon te semble. -- -- Scène Réveil Paramétrable BETA -- -- Date : 19 Mars 2020 -- Auteur : J3R3M --
  17. Bravo, tu assures Pour palier à cela, il faudrait simplement que je modifie le VD, mais sans HC2, c'est plutôt complexe... On y arrive enfin! Merci à toi de ces tests dans un premier temps! Exactement, tu paramètres ta couleur d'arrivée dans la ligne du début et le script fait le fade de chacune des couleurs pour que ça soit proportionnel! Je te fais une nouvelle version de la scène en test à la suite de ce message. On a réussi pour la lumière, on va réussir pour Sonos va!
  18. @Did, au temps pour moi! Ça a l'air de venir du script. Je viens de le coller dans un éditeur et c'est nettement plus simple pour voir ce qu'il se passe... J'ai modifié la scène comme ci-dessous. Si tu peux simplement éditer ta scène actuelle et la remplacer par celle-ci s'il-te-plaît, en la limitant à une seule instance simultanée. -- -- Scène Réveil Paramétrable BETA -- -- Date : 19 Mars 2020 -- Auteur : J3R3M --
  19. Parfait. Depuis le tableau des Variables Globales, tu ne peux pas voir le contenu des tableaux, seul l'accolade apparait. Le réveil est paramétré! Et bien supprime cette scène définitivement, s'il-te-plaît. Cette procédure est la bonne! Il faut simplement la reproduire une nouvelle fois avec le dernier code de scène fourni dans les messages précédents. Ensuite, repérer l'ID de cette scène qui vient d'être créée et le mettre à jour dans le VD, comme expliqué juste au-dessus
  20. J'essayais simplement de te montrer pourquoi il y avait un problème de ton côté pour le moment. C'est pour cela que je te proposais de supprimer les scènes créées pour le réveil, non pas les copier/coller, ni essayer un autre code puisqu'il y a manifestement un problème dans le traitement de ces scènes. Une fois ces scènes supprimées, copie/colle simplement la scène complète ci-dessus et enregistre directement celle-ci, sans faire d'autres essais que celui de cette scène dans son intégralité, ni modification. Après avoir enregistré cette scène, reporte son ID dans le VD associé au niveau de la variable SceneID. Reconfigure un réveil depuis le VD et démarre la scène manuellement. Le DEBUG de la fonction LightsFade() ne doit pas du tout comporter un message tel que : [DEBUG] 18:54:56: [LightsFade] [RGBW 20] Allumé à 100% de la valeur prédéfinie (100) Mais des messages comme celui-ci : [DEBUG] 18:54:56: [LightsFade] [RGBW 20] [Puiss réglée: 100] [25%] Fact:0.25 - R:0 - G:0 - B:0 - W:64 Si la variable "REVEIL_CHAMBRE" est à zéro, reconfigurer un réveil depuis le VD devrait régler le problème.
  21. Voici la partie de la fonction LightsFade() qui nous intéresse : elseif ( LightsList[j].typ == "RGBW" and LightsList[j].mode == "AND" ) or ( LightsList[j].typ == "RGBW" and Soleil.Etat == 1 and LightsList[j].mode == "OR" and SunState() ) then local facteur = i*Puissance/10000; local red,green,blue,white = math.floor(LightsList[j].r*facteur),math.floor(LightsList[j].g*facteur),math.floor(LightsList[j].b*facteur),math.floor(LightsList[j].w*facteur); fibaro:call(LightsList[j].id, "setColor", red, green, blue, white); Debug("grey","[LightsFade] ["..LightsList[j].typ.." "..LightsList[j].id.."] [Puiss réglée: "..Puissance.."] ["..i.."%] Fact:"..facteur.." - R:"..red.." - G:"..green.." - B:"..blue.." - W:"..white, i); end -- Condition modes Comme tu peux le constater, la ligne de DEBUG est la suivante : Debug("grey","[LightsFade] ["..LightsList[j].typ.." "..LightsList[j].id.."] [Puiss réglée: "..Puissance.."] ["..i.."%] Fact:"..facteur.." - R:"..red.." - G:"..green.." - B:"..blue.." - W:"..white, i); Si autre chose s'affiche, ce n'est pas normal. Il y a un problème dans le traitement de la scène, comme si elle avait mémorisé une version précédente de la scène. Je l'ai déjà vécu et la seule solution que j'avais trouvé était la suppression de la scène et la création d'une nouvelle pour y copier le code.
  22. Si tu as supprimé la scène précédente, le VD ne devrait plus pouvoir la lancer. La nouvelle scène créée aura forcément un nouvel ID car ils s'incrémentent automatiquement à chaque création de nouvelle scène, qu'elle existe encore ou non
  23. As-tu bien supprimé la scène et mis directement ce code dans une nouvelle ? Tout en changeant l'ID de la scène dans le VD associé. Comme dit précédemment, si le DEBUG ne ressemble pas à ce que j'ai cité ci-dessus, c'est que les modifications de la scène n'ont pas été prises en compte. Pour une raison obscure, sans aucun doute, mais elles ne le sont pas. Dans la scène, le DEBUG ne ressemble plus à cela depuis quelques tests déjà...
  24. On va d'abord se concentrer sur la lumière, on verra le VD Sonos par la suite, si tu le veux bien. Oublions également les versions de tests effectués auparavant, ne rétrogradons pas et n'utilisons pas des scènes ou morceaux de code effectués auparavant. Je te laisse rééssayer avec la dernière scène complète proposée ci-dessus. Si le Debug de LightsFade() ne se présente pas sous la forme : [LightsFade] [RBGW 20] [Puiss réglée: "..Puissance.."] ["..i.."%] Fact:"..facteur.." - R:"..red.." - G:"..green.." - B:"..blue.." - W:"..white Resupprime la scène et recommence directement avec la scène ci-dessus, sans essayer quoi que ce soit d'autre auparavant s'il-te-plaît.
×
×
  • Créer...