Opacity doesn't work anymore for hour and date

Hi,

I’ve created some watch faces called “24 faces in 1”.
As named, each hour there is a new watch face, new image, hour, date, battery.
I played with opacity and conditionals to display a personalized watch face for an hour.
For example between 14h00 and 145h59, I use this for all the elements :
$#Db#==14?100:0$

For three years there was no issue, but since one month, I think, all the hour and date elements are displayed simultaneously, the algorithm for the opacity doesn’t work anymore.

Should I wait for an update which will fix this problem ?

Do i need to change the expression ?

Thanks for your help.

1 Like

#Db# is Hour in day using user’s preferred format (12 hour or 24 hour clock).
If you are using a 12 hour format then values will be 1 to 12 only.

#Dk# Hour in Day (1-24). This can be used in specific cases where #Db# does not work.

2 Likes

@ramzi.nbr . There have been some changes in the syntax rules recently . I keep finding errors on my old Faces . Show us the inspectable link . It will be something very simple . Like a space or something .
You have to be careful with faces like that don’t push the memory limit with Big Images. You must have quite a few layers on that one . I must say Congratulations . I don’t think I have seen anything like that before . I guess it is quite a Popular Face .
.
It looks to me like you have used Stroke on the Text a bit .That causes problems on the newer watches . Also Some Fonts suddenly cause Issues .
.
.

Hi,

Thanks for your answer.

Here is the inspectable link for the Dragon Ball one :

For reminder those watch faces have worked like a charm for three years and without any modification, the opacity syntax stopped working as expected.
It must due to an update.

Thanks.

1 Like

Hi,

Good remark, many thanks.

But the user’s preferred format is indeed 24 hour.

And the opacity stopped working without any modification, neither in the watch face, nor in the Facer app.

Have you another idea ?

Thanks.

1 Like

Sadly my Laptop is off now . I will look at you Inspectable tomorrow . I do not recognise the link but I will see .

I suspect your problem is more related to watch SW update, than Facer.
You do not write what watch are you having trouble with, but on my Gear S3 I see no problem.

I looked for some troublesome expressions, but could not find anything significant (nothing that should cause the elements to show all at once).
2 things I would do differently to streamline the face:

  • the already mentioned use of #Db#, I would use #DH# or #Dk# to bypass any user settings mismatch.
  • the hour texts do not need any tags or expressions. When you turning them on/off using opacity, the texts can be just plain numbers in text field
2 Likes

Hi,

I have tested by replacing #Db# to #DH#, unfortunately I have the same issue.
With #Dk#, it doesn’t work, the element isn’t displayed.

Sorry, but what do you mean by ?

My watch is a Fossil Gen 6.

But you have pointed the problem, it works on my brother’s Galaxy Watch 3.

1 Like

I mean this:
since you have separate layer for each hour text (or even separate digits) that is turned on and off by expression for its opacity, you do not need to calculate the text for it (it wont change the whole hour, its not like minutes), you can directly write there the result (2 in the example on attached image)

2 Likes

Ok, excellent !
It looks so evident now. :grinning:
Many thanks @petruuccios

To sum up this issue :

  • It happens on Fossil Gen 6, maybe other brands, since more than one month.

  • I’ve tested with #DH# or #Dk# with no success.

  • I’ve tested others fonts, same issue.

I’ve noticed something very strange, the elements which are displayed without take into account the opacity expression are displayed in black and it’s only the elements linked to hours after the current hour which are displayed.

I mean, if it’s 3pm, the elements linked to 3pm will be displayed as expected, and all the elements linked to hours after 3pm will also be displayed in black.
The elements linked to hours before 3pm will not be displayed. :thinking:

1 Like

I think this is internally coming from same source, which if broken should give same result, still I would try to substitute each #Db# with expression (floor((#DNOW#/1000/60/60-#DOFST#/60)%24)), to rule out the hour tags.

Or maybe try using coordinates instead of opacity to get the texts out of screen when not due.
for example the X for the text field is 20 and should appear on #DH#==14. I would make of it something like this (20+500*(14-#DH#)). That should return the correct coordinate only when the hour matches and adds 0 to the actual coordinate.

2 Likes

Yes, it makes the job !
Thanks @petruuccios, the workaround by using coordinates is working.

I will update the watch faces and forget opacity.

Thanks you all for your help.

2 Likes