Aller au contenu

time et variable local


Messages recommandés

Posté(e) (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 

 

caplundi.PNG.9c3be1702243b0e729d06495643567f2.PNG

Modifié par 971jmd
Posté(e) (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é par 971jmd
Posté(e)

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

 

Posté(e)

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

 

:P

 

 

 

Posté(e)

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

 

Posté(e)

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

  • Like 1
Posté(e)

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)
Posté(e) (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é par 971jmd
Posté(e) (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é par 971jmd
Posté(e)

je suis bloquée avec une condition entre LABEL  ça ne fonctionne pas :15:

 

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

 

Posté(e) (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é par 971jmd
Posté(e)

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

×
×
  • Créer...