Custom weather icons - display issue

Hello!

I’ve been working on my new face for which I’ve decided to make my custom-made weather icons to be the centerpiece of it. I’ve created them in Inkscape and decided to try differentiating between day and night icons (for example clear weather during the day is represented by sun, and at night by moon).

Due to issues with #DISDAYTIME# tag, I can’t reliably use it to differentiate between night and day (it may work for some of you, but it sure doesn’t on my Ticwatch so can’t even test it properly…).
I came up with alternate expressions to cover for that and while initially everything seemed to have worked as intended, after an hour weather icons completely disappeared on my watch.

I can’t explain it. I’ve looked over my expression so many times that either I can’t see an error, or it’s my Ticwatch again.

So, I would like to request for your help, if you can spare a moment, please, and sync my draft of a watch face, then let me know your watch make and model and whether you can see weather icons correctly? Which weather icon was active at the time?

If it’s just my watch then to hell with it, I’ll continue working even if it doesn’t work for me but if it’s something that is repeated on other make and models then I guess I’ll just have to use regular set of icons, without differentiating between night and day.

Inspection enabled, maybe I really did make a mistake in expressions…
To all of you who decide to spend a minute or two helping out, thank you dozenfold!

EDIT: This is how it looks on my watch, I’ve added the #WCCI# control on top to show which weather icon is not working.

OK first things first WearOS and especially TicWatches in general are very picky about the Facer expressions with the #DISDAYTIME# tag in them. You MUST write it out as #DISDAYTIME# ==false or #DISDAYTIME# ==true. If you use #DISDAYTIME# ==0 or ==1 it will ONLY work on Samsung but not WearOS. In general if anything has a ==0 or ==1 in the expression except if you are using it in a time or number related expression use ==false or ==true to work on both Samsung and WearOS watches.

Do you have any experience, how do expressions like (#DISDAYTIME#*100) behave on different OS? For me this tag does not work well even with time machine in creator.

It won’t work because you can not multiply a fixed time. All you can do is use #DISDAYTIME# to test if it is before or after sunrise. The #DISDAYTIME# tag could be thought of as Day Is Daytime yes/no.

Thanks, Anti, yes, I always used true or false with this tag as that’s what I’ve found in the Tags thread.
Guess I’m too newb to remember time when it was 1 and 0 :wink:

And as if by magic, the icon works now. I’ll keep observing this as my suspicion is #DISDAYTIME# stops working on my watch when it actually is a day time.

Replacing #DISDAYTIME# with another expression is quite difficult due to the fact that if calculations are based on time or angle, then the 360 degree rotation can become the source of the pain. That’s because range from sunset to midnight is an increasing value, and after midnight it resets and starts from 0 until sunrise.
This poses challenges as a value can’t at the same time be smaller than 360-sunset (so that would be range from sunset until midnight) and higher than 0 until sunrise. So, for example, >260 and <60 at the same time. (The opposite, daytime of more than sunrise and less than sunset is true).

There’s no “IS NOT” logical operand in Facer so can’t create an expression where it’s nighttime if it’s not daytime…

For this, I’ve created several experimental expressions that relied upon calculating angle or value based on hours*60+minutes (be it sunrise or sunset) and it worked well for most of the time:

`((#Dk#*60)+#Dm#)>=((#WRH#*60)+#WRm#)&&((#Dk#*60)+#Dm#)<((#WSH#*60)+#WSm#)&&?100:0$`

This one calculates whether it is daytime now - it is “current time is greater than sunrise and smaller than sunset”.

Night time has proven to be a little bit trickier because of said value difference before and after midnight. I’ve employed “or” logical operand for this task thinking that as long as value is either greater than sunset, or smaller than sunrise, it should work as the daytime element won’t be visible anyway due to its separate expression.

`$((#Dk#*60)+#Dm#)<=((#WRH#*60)+#WRm#)||((#Dk#*60)+#Dm#)>((#WSH#*60)+#WSm#)?100:0$`

But when push came to shove and I had to add third expression and second AND logical operand - the weather #WCCI# for weather icon - suddenly weather icons got messed up. Night CLEAR icon (code 01) was displaying among few clouds (02) despite weather slider being hard pressed at CLEAR. I have not found solution to this and abandoned double “AND” expression for this purpose.

I hope those expressions help someone.

I’ve temporarily replaced all my expressions with #DISDAYTIME# and I’ll see how it work when sun sets in at 4:30 my time. Hopefully my (s)Ti(n)cwatch behaves well but something tells me it’s just he beginning of fun.

For the weather icons I always use the weather icon element in Facer Creator. I just replace the stock icons with the ones I want to use. Then I duplicate it and make a version for night. I use the tag $#DISDAYTIME#==false?160:999$ for night and $#DISDAYTIME#==true?160:999$ for day and put them in the X position box. Worked perfect on the two cheap TicWatches I used to use as a test watch. Both of those pieces of $#!% died on me in less than a year. I now use a remanufactured Fossil Q Explorer for testing. I’m never buying another cheap @$$ TicWatch ever again!

1 Like

I’ve observed this and until midnight, icons were working. Right after - they didn’t but I went to sleep.
This morning I saw that the icon is still missing, but this time it was icon code 04 Broken Clouds - one I haven’t differentiated between night and day versions for, so this led me to believe the problem is not with #DISDATIME# tag - especially that my sun/moon traveller icon that uses them works fine.

I’ve had a look and the only thing I could find was the condition #WCCI#==4, not 04. I’ve changed it to 04 (and all other single-digit icon codes as well) and will keep an eye on how it clashes with one of day/night icons.