Made a Face Works in Preview But Broken on Watch

Hey, so I’m a little frustrated here. I had a face I made that I liked that I wanted to do more with. So I dug into expressions and subscribed to pro to make use of those expressions and made a watch that has a chronograph functionality within a digital display I wanted, and the previews worked the whole way through. However the second I send it to the watch it doesn’t work. Still perfect in preview, but at first only the chronograph worked while the time displayed broken, but now neither work and its just blank in the digital display. I checked the logic and tags for my expressions and they’re right, so what the hell?

Here’s the watch if anyone can help iggzy - Digilog - watch face for Apple Watch, Samsung Gear S3, Huawei Watch, and more - Facer

Edit: I made some changes in testing to get the digital time to show up at all so its useable for now, but the chronograph elements still have the opacity expressions I was trying to use but seem to not work.

1 Like

A very quick look at one element inside I saw this formula:
$#SWES#<10&&#SWISRUNNING#==1?0:$
That seems to be missing the “else” part of the condition, right after the colon (:). Maybe that works alright on the preview but doesn’t fly on actual watches.
Was just heading off to bed so can’t really look any deeper but, after fixing that ^ my suggestion would be to check out all your expressions and pay close attention to any tiny thing that might be off.

1 Like

So I had that because I don’t want it to show anything if false. But that is also just a 0 because #DhZ# and #DmZ# weren’t working with the expression in use. I don’t believe it should cause the other layers that show the actual time to break.

But thanks for the attempt before you call it a night!

So some more testing and evidently it doesn’t like an expression for Opacity, but it also bugged out on an expression for the text to just switch to the Chronometer from the time expression. So maybe I’m just not getting expressions. Where am I supposed to be using these if they don’t work on the actual watch in the Text or in the making it visible? Is there some other way to affect visibility with an expression that I’m not seeing?

I figured it out but still don’t get why. According to the documentation the #SWISRUNNING# tag should be 0 or 1 for false or true. But evidently the watch needed it to be literally “false” or “true” to be accepted?

I’ve learned the hard way, (with the help of others), that Samsung watches are very happy with a 0 or 1, but WearOS watches are only happy with true or false. I ran up against this issue with the #DISDAYTIME# tag for day or night. I now only use true or false in the “else” portion of all that type of expression.

@iggy880 and @mrantisocialguy in WearOS you CAN use 0 and 1 if you make it a number with parentheses: (#SWISRUNNING#)=1 or #SWISRUNNING#=true (at least on my Fossil)

@AllenMiquel the empty else part does seem to work on my Fossil, so I guess it is one of those “something different somewhere else”?

1 Like

Interesting! I’ll have to play with my test watch faces and TicWatch and see how it reacts.

UPDATE: Well my test TicWatch E isn’t happy with the parenthesis either. I tried with the two that I know cause it problems. I did the #DISDAYTIME# with 0&1 and also the #DTIMEFORMAT# which it normally ignores as well. It failed to react to either one using parenthesis with a single = and a double = (==). I just wish I could find an answer to make it accept the #DTIMEFORMAT# tag to filter am/pm in or out of 12 or 24 hour time settings.