971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 (modifié) j'ai fait le test local currentDate = os.date("%H:%M") local jours_en_anglais = os.date("%A", os.time()) ----Heure ON local heure = fibaro:getValue(423, "ui.lblTime.value") fibaro:debug(heure) ----Heure OFF local heure2 = fibaro:getValue(423, "ui.lblTime2.value") fibaro:debug(heure2) ----Date local jours_en_anglais = fibaro:getValue(423, "ui.lblDays.value") fibaro:debug(jours_en_anglais) if currentDate == heure then fibaro:call(14, "turnOn") end if currentDate == heure2 then fibaro:call(14, "turnOff") end le debug me renvoi FRIDAY mai ma lampe 14 s'allume toujours Modifié le 20 août 2018 par 971jmd
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 (modifié) je ne sais pas comment faire ça (en rouge) if currentDate == heure et jour == ui.lblDays.value then fibaro:call(14, "turnOn") end Modifié le 20 août 2018 par 971jmd
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 j'ai tester ça, mai ma lampe clignote tic tac tic tac local currentDate = os.date("%H:%M") fibaro:debug(currentDate) local currentDate2 = os.date("%A") fibaro:debug(currentDate2) ----Heure ON local heure = fibaro:getValue(423, "ui.lblTime.value") fibaro:debug(heure) ----Heure OFF local heure2 = fibaro:getValue(423, "ui.lblTime2.value") fibaro:debug(heure2) ----Date local jours_en_anglais = fibaro:getValue(423, "ui.lblDays.value") fibaro:debug(jours_en_anglais) if currentDate == heure and jours_en_anglais then fibaro:call(14, "turnOn") end if currentDate == heure and jours_en_anglais then fibaro:call(14, "turnOff") end
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 enfin ça fonctionne bien mai pour les finition j'ai un petit problème a résoudre comment recoupé la valeur de ll LABEL et la convertir je m'explique, la label lblDays envois un valeur en anglais Monday, Tuesday..... local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value") donc comme je vais affichée dans la LABEL lblDays lundi, mardi...... je cherche une moyen de transformer: si lundi alors Monday directement dans la Boucle principale
Steven Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Voici un exemple local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value") local jours = {lundi="Monday", mardi="Tuesday", mercredi="Wednesday", jeudi="Thursday", vendredi="Friday", samedi="Saturday", dimanche="Sunday"} print(jours[Jour_VD])
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 salut merci quel est la fonction de print(jours[Jour_VD])
Steven Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Si tu test un minimum tu trouveras par toi même.
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 ce que je comprend il fait la liaison entre jours et Jour_VD
Steven Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 jours est un tableau. Un tableau peut être composé de clé et valeur ... chaque clé étant liée à une valeur jours = { lundi = "Monday" } dans cet exemple, jours est un tableau contenant 1 clé "lundi" et une valeur "Monday" en faisant jours[lundi] ... ce dernier retourne la valeur (Monday) associée à la clé "lundi". 1
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 j'ai trouver un petit moment pour tester j'ai fait simple pour tester local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value") local jours = {Monday="Lundi"} print(jours[Jour_VD]) j'ai une erreur [ERROR] 12:13:52: line 115: attempt to concatenate local 'deviceId' (a nil value)
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 autant pour moi j'ai oublier pour le teste le local alarmClockDevice = fibaro:getSelfId()
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 (modifié) mai comment afficher le résultat dans un debug local alarmClockDevice = fibaro:getSelfId() local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value") local jours = {Monday="Lundi"} print(jours[Jour_VD]) fibaro:debug(jours) [DEBUG] 12:22:41: table: 0x85da290 [DEBUG] 12:22:44: table: 0x85db428 [DEBUG] 12:22:47: table: 0x85dbbd0 Modifié le 21 août 2018 par 971jmd
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 j'ai trouver fibaro:debug(jours[Jour_VD])
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 (modifié) j'ai une erreur sur l’intégration [ERROR] 13:45:33: line 21: bad argument #1 to 'gsub' (string expected, got nil) j'ai vérifier le tableau il fonctionne très bien, Lundi = monday..... local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value") local joursfr = {ALL="ALL", Weekday= "Weekday", Weekend="Weekend", lundi="Monday", mardi="Tuesday", mercredi="Wednesday", jeudi="Thursday", vendredi="Friday", samedi="Saturday", dimanche="Sunday"} print(joursfr[Jour_VD]) local dayfound = false local jours = (joursfr[Jour_VD]) jours = string.gsub(jours, "All", "Weekday,Weekend") jours = string.gsub(jours, "Weekday", "Monday,Tuesday,Wednesday,Thursday,Friday") jours = string.gsub(jours, "Weekend", "Saturday,Sunday") if (string.find(jours, os.date("%A"))) then dayfound = true end Modifié le 21 août 2018 par 971jmd
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 j'ai trouver quand il compare il compare le probleme vient des minuscule et majuscule... 1
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 j'ai quand même un petit soucie avec les espaces : jour de la semaine
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 je suis bloquée avec une condition entre LABEL ça ne fonctionne pas si Label5 contien la valeur Prog_1 alors affichée bonjour dans la lblTime2 local alarmClockDevice = fibaro:getSelfId() if fibaro:call(alarmClockDevice,"getProperty","ui.Label5.value", "Prog_1") then fibaro:call(alarmClockDevice:getSelfId(), "setProperty", "ui.lblTime2.value", "Bonjour") end
jjacques68 Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 tu as mis getProperty dans la condition au lieu de setProperty
jjacques68 Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 et puis c’est pas getValue plutôt ?
jjacques68 Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Il y a 3 heures, 971jmd a dit : local Jour_VD = fibaro:getValue(alarmClockDevice, "ui.lblDays.value")
971jmd Posté(e) le 21 août 2018 Auteur Signaler Posté(e) le 21 août 2018 (modifié) if fibaro:call(alarmClockDevice,"getProperty","ui.Label5.value", "Prog_1") then fibaro:call(alarmClockDevice:getSelfId(), "setProperty", "ui.lblTime2.value", "Bonjour") end GET vérifie la valeur (Prog_1) dans la label5 et SET écrit bonjour dans la LBTime2 si LABEL5 a la valeur Prog_1 mai ça ne fonctionne pas Modifié le 21 août 2018 par 971jmd
jjacques68 Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 moi perso je ferais : if fibaro:getValue(fibaro:getSelfId(),"ui.Label5.value") == "Prog_1" then fibaro:call(fibaro:getSelfId(), "setProperty", "ui.lblTime2.value", "Bonjour") end Je ne connais pas le getProperty...
Dragoniacs Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Essaye if fibaro:getValue(alarmClockDevice,"ui.Label5.value") == "Prog_1"Envoyé de mon SM-A520F en utilisant Tapatalk
Dragoniacs Posté(e) le 21 août 2018 Signaler Posté(e) le 21 août 2018 Ah ben pareil que@jjacques68 !Envoyé de mon SM-A520F en utilisant Tapatalk
Messages recommandés