• Administrador
  •  
    Support Ukraine
    If you experience any problems with the forum (it is not visible, there is no way to post messages, or some functionality does not work), please let us know. If you have problems with registration or you did not receive confirmation letter, let us know and we will activate your account manually.
    If you get an "The submitted form was invalid. Try submitting again" error, delete cookies, then try again.
     

Complete Json Syntax Guide for GTR

This forum is designed to discuss and develop tools creating watch faces.

Moderadores: asoo, lvpokka, Internal error, Watchmens

Reglas del Foro
All communication in this branch should only be in English.
To discuss tools that are not in this section, use the “Watchfaces tools (discussion)” forum.
Responder
hikashi
WF maker
Mensajes: 16
Registrado: 18 Nov 2019, 14:48
Has thanked: 1 time
Been thanked: 14 times
Contactar:

Complete Json Syntax Guide for GTR

Mensaje por hikashi »

This guide is meant for the py amazfit tool developed by dpeddi and co. Download the py_amazfit_tool fix array branch here:https://github.com/amazfitbip/py_amazfi ... /fix_array

Thanks dpeddi, loly and gthalpo for the continuous development on the py amazfit tool. You guys are amazing!

The syntax will be updated time to time due to the changes and update in the commit.

Some syntax has not been tested and may not work.

BACKGROUND

Código: Seleccionar todo

  "Background": {
    "Image": {	#Image
      "X": 0,
      "Y": 0,
      "ImageIndex": 0
    },
    "Preview": {
      "X": 0,
      "Y": 0,
      "ImageIndex": 1
    }
    "FrontImage": {    #not much of a use. You can delete this. 
    	"X": 0,
      	"Y": 0,
      "ImageIndex": 2
  },
DIGITAL TIME

Código: Seleccionar todo

"Time": {
	"Hours": {
		"Tens": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
		"Ones": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
			},
			
	"Minutes": {
		"Tens": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
		"Ones": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
			},
			
	"Seconds": {
		"Tens": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
		"Ones": {				#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0"
			"ImagesCount" : 10	#0 to 9
			},
			},
			
	"AmPm": {
		"X": 1,	#coordinateX
		"Y": 2, 	#coordinateY
		"ImageIndexAMCN": 1,	#Image index number for AMPM chinese? You can delete CN and replace with EN
		"ImageIndexPMCN": 2,
		"ImageIndexAMEN": 1,
		"ImageIndexPMEN": 2 
		},
		
	"Delimiter: {	#Image for ':'
     		 "X": 0,
      		"Y": 0,
      		"ImageIndex": 0
      		},
      		},
		
ACTIVITY(Its a long list. Separated into pulse, calories, steps and distance

Código: Seleccionar todo

"Activity": {
Pulse

Código: Seleccionar todo

	"Pulse": {		#Number
		"TopLeftX": 0,
		"TopLeftY": 0,
		"BottomRightX": 0,
		"BottomRightY": 0,
		"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
		"Spacing":	1,		#Number of pixel space in between number
		"ImageIndex": 1,
		"ImagesCount": 10
		},
		
	"PulseMeter": {	#CircleScale
		"CenterX": 0,
		"CenterY": 0,
		"RadiusX": 5, 
		"RadiusY": 5,
		"StartAngle": 0,		#Circle scale will always rotate clockwise. Zero angle starts from north.
		"EndAngle": 360,	#If starting angle from 3rd and 4th quadrant, use negative angle ie -90
		"Width": 2,		#Pixel width of the circle line
		"Flatness": 0,		#End tip of the scale,  0 for round tip, 180 for flat tip
		"ImageIndex":		#Used for image clipping. Not working for the moment.
		}, 
		
	"ColouredSquares": {		#IconSet, 
		"ImageIndex": 1, 	#Starting image index
		"Coordinates": [		#6 images is recommended for heart rate. 
			{			#Image 1 "Relaxed"
			"X": 0,
			"Y": 0
			},
			{			#Image 2 "Light work"
			"X": 1,
			"Y": 1
			},
			{			#Image 3 "Intense work"
			"X": 2,
			"Y": 2
			},			
			{			#Image 4 "Aerobic region"
			"X": 3,
			"Y": 3
			},
			{			#Image 5 "Anaerobic region"
			"X": 4,
			"Y": 4
			},
			{			#Image 6 "VO2max"
			"X": 5,
			"Y": 5
			}
			]
			},
		
	"PulseGraph":	{		
		"ClockHand":	{	#Clockhand Analog dial for heart rate
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
				},
			"Shape":	{
				"X": 0,
				"Y": 0
				},
			"Sector":	{	#Starts from 50bpm and end at 200 bpm. 
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
				},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
				}
				}
				},	
Calories

Código: Seleccionar todo

	"Calories": {		#Number
		"TopLeftX": 0,
		"TopLeftY": 0,
		"BottomRightX": 0,
		"BottomRightY": 0,
		"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
		"Spacing":	1,		#Number of pixel space in between number
		"ImageIndex": 1,
		"ImagesCount": 10
		},
		
	"CaloriesGraph":	{
		"Circle":	{	#CircleScale
			"CenterX": 0,
			"CenterY": 0,
			"RadiusX": 5, 
			"RadiusY": 5,
			"StartAngle": 0,		#Circle scale will always rotate clockwise. Zero angle starts from north.
			"EndAngle": 360,	#If starting angle from 3rd and 4th quadrant, use negative angle ie -90
			"Width": 2,		#Pixel width of the circle line
			"Flatness": 0,		#End tip of the scale,  0 for round tip, 180 for flat tip
			"ImageIndex":		#Used for image clipping. Not working for the moment.
			}, 
			
		"Clockhand":	{	#Clockhand
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}
				}
			},	
Steps

Código: Seleccionar todo

	"Steps":	{	#FormattedNumber
		"Step":	{	#Number
			"TopLeftX": 0,
			"TopLeftY": 0,
			"BottomRightX": 0,
			"BottomRightY": 0,
			"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
			"Spacing":	1,		#Number of pixel space in between number
			"ImageIndex": 1,
			"ImagesCount": 10
				},
			},
			
	"StepsGoal":	{	#Number
			"TopLeftX": 0,
			"TopLeftY": 0,
			"BottomRightX": 0,
			"BottomRightY": 0,
			"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
			"Spacing":	1,		#Number of pixel space in between number
			"ImageIndex": 1,
			"ImagesCount": 10
				},
				
	"StarImage":	{	#Image that appears when step goal reached
		"X": 0,
 		"Y": 0,
 		"ImageIndex": 0
    		},
Distance

Código: Seleccionar todo

	"Distance":	{
		"Number":	{	#Number
			"TopLeftX": 0,
			"TopLeftY": 0,
			"BottomRightX": 0,
			"BottomRightY": 0,
			"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
			"Spacing":	1,		#Number of pixel space in between number
			"ImageIndex": 1,
			"ImagesCount": 10
				},
		"SuffixImageIndex": 0,	#image for "km"
		"DecimalPointImageIndex": 0
		}
DATE

Código: Seleccionar todo

"Date":	{
	"MonthAndDay":	{
		"Seperate":	{
			"Month":	{	#Number
				"TopLeftX": 0,
				"TopLeftY": 0,
				"BottomRightX": 0,
				"BottomRightY": 0,
				"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
				"Spacing":	1,		#Number of pixel space in between number
				"ImageIndex": 1,
				"ImagesCount": 10
					},
				
			"MonthName":	{		#ImageSet
				"X": 1,			#coordinateX
				"Y": 2,			#coordinateY
				"ImageIndex": 3,	#Starting Index number from the image number "Jan"
				"ImagesCount" : 12	#Jan to Dec
				},
			
			"Day":	{	#Number
				"TopLeftX": 0,
				"TopLeftY": 0,
				"BottomRightX": 0,
				"BottomRightY": 0,
				"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
				"Spacing":	1,		#Number of pixel space in between number
				"ImageIndex": 1,
				"ImagesCount": 10
					},
				},
		"OneLine":	{
			"Number":	{	#Number
				"TopLeftX": 0,
				"TopLeftY": 0,
				"BottomRightX": 0,
				"BottomRightY": 0,
				"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
				"Spacing":	1,		#Number of pixel space in between number
				"ImageIndex": 1,
				"ImagesCount": 10
				},
			"DelimiterImageIndex":	0	#Image index for seperator "/" or "."
			}
		"TwoDigitsMonth":	,	#True or False
		"TwoDigitsDay":		#True or False
		},
	
	"WeekDay":	{	#ImageSet
		"X": 1,			#coordinateX
		"Y": 2,			#coordinateY
		"ImageIndex": 3,	#Starting Index number from the image number "Monday"
		"ImagesCount" : 7	#Mon to Sun
		},

	"Year":	{
		"OneLine":		{
			"Number":	{	#Number
				"TopLeftX": 0,
				"TopLeftY": 0,
				"BottomRightX": 0,
				"BottomRightY": 0,
				"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
				"Spacing":	1,		#Number of pixel space in between number
				"ImageIndex": 1,
				"ImagesCount": 10
				},
			"DelimiterImageIndex":	0	#Image index for seperator "/" or "."
			}
		},
		
	"WeekDayProgress":	{	#IconSet, 
			"ImageIndex": 1, 	#Starting image index
			"Coordinates": [		#7 images is recommended for weekday. 
				{			#Image 1 "Mon"
				"X": 0,
				"Y": 0
				},
				{			#Image 2 "Tue"
				"X": 1,
				"Y": 1
				},
				{			#Image 3 "Wed"
				"X": 2,
				"Y": 2
				},			
				{			#Image 4 "Thu"
				"X": 3,
				"Y": 3
				},
				{			#Image 5 "Fri"
				"X": 4,
				"Y": 4
				},
				{			#Image 6 "Sat"
				"X": 5,
				"Y": 5
				},
				{			#Image 7 "Sun"
				"X": 6,
				"Y": 6
				}
				]
			}
	},			
WEATHER

Código: Seleccionar todo

"Weather": {
	"Icon":	{
		"Images":	{	#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "Partly Cloudy"
			"ImagesCount" : 25	#PartlyCloudy, CloudyRain, CloudySnow, Sunny, Cloudy, LightRain, LightSnow, Rain, Snow, HeavySnow, HeavyRain, SandStorm, SnowyRain, Fog, Haze, Storm, VeryHeavySnow, FloatingDust, DownPour, Hail, HailStorm, HeavyDownPour, BlowingDust, Tornado, VeryHeavyDownPour
				},
		"NoWeatherImageIndex": 0
			},
			
	"Temperature":	{
		 "Current":	{	#Number
					"TopLeftX": 0,
					"TopLeftY": 0,
					"BottomRightX": 0,
					"BottomRightY": 0,
					"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
					"Spacing":	1,		#Number of pixel space in between number
					"ImageIndex": 1,
					"ImagesCount": 10 
		 			},
		 "Today":	{
		 	"Seperate":	{
		 		"Day":		{	#Number
					"TopLeftX": 0,
					"TopLeftY": 0,
					"BottomRightX": 0,
					"BottomRightY": 0,
					"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
					"Spacing":	1,		#Number of pixel space in between number
					"ImageIndex": 1,
					"ImagesCount": 10 
		 					},
		 		"Night":		{	#Number
					"TopLeftX": 0,
					"TopLeftY": 0,
					"BottomRightX": 0,
					"BottomRightY": 0,
					"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
					"Spacing":	1,		#Number of pixel space in between number
					"ImageIndex": 1,
					"ImagesCount": 10 
		 					}
		 				},
		 	"AppendDegreesForBoth" :		#True or False
		 		},
		 "Symbols":	{
		 	"MinusImageIndex": 0,
		 	"DegreesImageIndex":0,
		 	"NoDataImageIndex":	0
		 			},
		 "TemperatureMeter":	{	#CircleScale
		 	"CenterX": 0,
			"CenterY": 0,
			"RadiusX": 5, 
			"RadiusY": 5,
			"StartAngle": 0,		#Circle scale will always rotate clockwise. Zero angle starts from north.
			"EndAngle": 360,	#If starting angle from 3rd and 4th quadrant, use negative angle ie -90
			"Width": 2,		#Pixel width of the circle line
			"Flatness": 0,		#End tip of the scale,  0 for round tip, 180 for flat tip
			"ImageIndex":		#Used for image clipping. Not working for the moment.
		 					}
		 				}
		 			}
STEPS PROGRESS

Código: Seleccionar todo

"StepsProgress":	{
	"Sliced"			{	#IconSet, 
			"ImageIndex": 1, 	#Starting image index
			"Coordinates": [		#11 images is recommended for step progress. 
				{			#Image 1 "0%"
				"X": 0,
				"Y": 0
				},
				{			#Image 2 "10%"
				"X": 1,
				"Y": 1
				},
				{			#Image 3 "20%"
				"X": 2,
				"Y": 2
				},			
				{			#Image 4 "30%"
				"X": 3,
				"Y": 3
				},
				{			#Image 5 "40%"
				"X": 4,
				"Y": 4
				},
				{			#Image 6 "50%"
				"X": 5,
				"Y": 5
				},
				{			#Image 7 "60%"
				"X": 6,
				"Y": 6
				},
				{			#Image 8"70%"
				"X": 7,
				"Y": 7
				},
				{			#Image 9"80%"
				"X": 8,
				"Y": 8
				},
				{			#Image 10"80%"
				"X": 9,
				"Y": 9
				},				
				{			#Image 11 "100%"
				"X": 10,
				"Y": 10
				}
				]
					},
					
	"Circle"			{	#CircleScale
		 	"CenterX": 0,
			"CenterY": 0,
			"RadiusX": 5, 
			"RadiusY": 5,
			"StartAngle": 0,		#Circle scale will always rotate clockwise. Zero angle starts from north.
			"EndAngle": 360,	#If starting angle from 3rd and 4th quadrant, use negative angle ie -90
			"Width": 2,		#Pixel width of the circle line
			"Flatness": 0,		#End tip of the scale,  0 for round tip, 180 for flat tip
			"ImageIndex":		#Used for image clipping. Not working for the moment.	
					},
	"ClockHand"		{	#Analog dial for step progress
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
					}	
				}
STATUS

Código: Seleccionar todo

"Status":	{
	"Bluetooth":	{
		"Coordinates":	{
			"X": 0,
			"Y": 0
					},
		"ImageIndexOn": 0	,
		"ImageIndexOff: 1	
				},
	"Alarm":	{
		"Coordinates":	{
			"X": 0,
			"Y": 0
					},
		"ImageIndexOn": 0	,
		"ImageIndexOff: 1	
				},
	"Lock":	{
		"Coordinates":	{
			"X": 0,
			"Y": 0
					},
		"ImageIndexOn": 0	,
		"ImageIndexOff: 1	
				},
	"DoNotDisturb":	{
		"Coordinates":	{
			"X": 0,
			"Y": 0
					},
		"ImageIndexOn": 0	,
		"ImageIndexOff: 1	
				},				
		}	
BATTERY

Código: Seleccionar todo

"Battery":	{
	"Text":	{	#Number
		"TopLeftX": 0,
		"TopLeftY": 0,
		"BottomRightX": 0,
		"BottomRightY": 0,
		"Alignment": ,		#TopLeft, TopCenter, TopRight, Left, Center, Right, BottomLeft, BottomCenter, BottomRight
		"Spacing":	1,		#Number of pixel space in between number
		"ImageIndex": 1,
		"ImagesCount": 10 
			},
	"Images":	{	#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number from the image number "0%"
			"ImagesCount" : 11 	#From 0% to 100%
			},
	"Icons":	{	#IconSet
			"ImageIndex": 1, 	#Starting image index
			"Coordinates": [		#11 images is recommended for Battery. 
				{			#Image 1 "0%"
				"X": 0,
				"Y": 0
				},
				{			#Image 2 "10%"
				"X": 1,
				"Y": 1
				},
				{			#Image 3 "20%"
				"X": 2,
				"Y": 2
				},			
				{			#Image 4 "30%"
				"X": 3,
				"Y": 3
				},
				{			#Image 5 "40%"
				"X": 4,
				"Y": 4
				},
				{			#Image 6 "50%"
				"X": 5,
				"Y": 5
				},
				{			#Image 7 "60%"
				"X": 6,
				"Y": 6
				},
				{			#Image 8"70%"
				"X": 7,
				"Y": 7
				},
				{			#Image 9"80%"
				"X": 8,
				"Y": 8
				},
				{			#Image 10"80%"
				"X": 9,
				"Y": 9
				},				
				{			#Image 11 "100%"
				"X": 10,
				"Y": 10
				}
				]
			},
	"Unknown4":	{	#Analog dial for battery life indicator
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
				},
	"Percent":		{
		"X": 0,
		"Y": 1,
		"ImageIndex": 2
				},
	"Scale":		{	#CircleScale
		"CenterX": 0,
		"CenterY": 0,
		"RadiusX": 5, 
		"RadiusY": 5,
		"StartAngle": 0,		#Circle scale will always rotate clockwise. Zero angle starts from north.
		"EndAngle": 360,	#If starting angle from 3rd and 4th quadrant, use negative angle ie -90
		"Width": 2,		#Pixel width of the circle line
		"Flatness": 0,		#End tip of the scale,  0 for round tip, 180 for flat tip
		"ImageIndex":		#Used for image clipping. Not working for the moment.	
				}
		}
ANALOG DIALS FOR TIME

Código: Seleccionar todo

"AnalogDialFace":	{
	"Hours":			{
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
					},
	"Minutes":			{
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
					},
	Seconds":			{
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
					}
				}
ANIMATION

Código: Seleccionar todo

"Unknown11":	{
	"Unknown11_1":	[	#motion path animation
		{	#Object 1. You can add more objects
		"Unknown11d1p1":	0,	#unknown
		"Unknown11d1p2":	{	#Coordinate of initial position
			"X": 0,
			"Y": 0
						},
		"Unknown11d1p2":	{	#Coordinate of final position
			"X": 1,
			"Y": 1
						},
		"ImageIndex": 2,	#Image object
		"Unknown11d1p5":	2000,	#movement speed of object
		"Unknown11d1p6":0,		#unknown
		"Unknown11d1p7": 0,	#unknown
		"Unknown11d1p8": 1,	#unknown
		"Unknown11d1p9": 0,	#unknown
		"Unknown11d1p10": 0	#bounce?
		},
		{	#Object 2. You can add more objects
		"Unknown11d1p1":	0,	#unknown
		"Unknown11d1p2":	{	#Coordinate of initial position
			"X": 0,
			"Y": 0
						},
		"Unknown11d1p2":	{	#Coordinate of final position
			"X": 1,
			"Y": 1
						},
		"ImageIndex": 2,	#Image object
		"Unknown11d1p5":	2000,	#movement speed of object
		"Unknown11d1p6":0,		#unknown
		"Unknown11d1p7": 0,	#unknown
		"Unknown11d1p8": 1,	#unknown
		"Unknown11d1p9": 0,	#unknown
		"Unknown11d1p10": 0	#bounce?
		}
					],
					
	"Unknown11_2":	{	#Frame by frame animation
		"Unknown11d2p1":	{	#ImageSet
			"X": 1,			#coordinateX
			"Y": 2,			#coordinateY
			"ImageIndex": 3,	#Starting Index number
			"ImagesCount" : 10	#Depending on number of animation frames set
						},
		"Unknown11d2p2": 100,		#Animation speed
		"Unknown11d2p3": 0	,		#unknown
		"Unknown11d2p4": 17000	,	#Animation time
		"Unknown11d2p5": 100	,	#Pause time
					}
			}

ANALOG DIALS FOR DATE, DAY AND MONTH

Código: Seleccionar todo

"DaysProgress":	{
	"AnalogMonth":	{
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
				},
	"UnknownField2":	{	#This is for analog date
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
					},
	"AnalogDOW":	{		#Day of the week
			"OnlyBorder": false,
			"Color":	"0x00000000",
			"CenterOffset":	{
				"X": 0,
				"Y": 0
					},
			"Shape":	{
				"X": 0,
				"Y": 0
					},
			"Sector":	{	
				"StartAngle": 0,	#Analog dial requires addition of 2 more digits for decimal points. 
				"EndAngle": 36000	#example 360.00 written as 36000
					},
			"Image":	{	#Image for the analog dial
				"X": 0,
				"Y": 0,
				"ImageIndex": 1
					}	
				}		
			}
SHORTCUTS

Código: Seleccionar todo

"ShortCuts" :	{
	"State" :		{	#Steps?
		"Element":	{
			"TopLeftX": 0,
			"TopLeftY": 0,
			"Width": 10,
			"Height": 10
					}
				},
	"Pulse" :		{
		"Element":	{
			"TopLeftX": 0,
			"TopLeftY": 0,
			"Width": 10,
			"Height": 10
					}
				},
	"Weather" :	{
		"Element":	{
			"TopLeftX": 0,
			"TopLeftY": 0,
			"Width": 10,
			"Height": 10
					}
				},
	"Unknown4" :	{	#PowerSaver?
		"Element":	{
			"TopLeftX": 0,
			"TopLeftY": 0,
			"Width": 10,
			"Height": 10
					}
				},
			}
hikashi
WF maker
Mensajes: 16
Registrado: 18 Nov 2019, 14:48
Has thanked: 1 time
Been thanked: 14 times
Contactar:

Mensaje por hikashi »

Reference work in progress.
shirumitsu
WF maker
Mensajes: 15
Registrado: 07 Jul 2019, 01:48
Ubicación: Brazil
Has thanked: 2 times
Been thanked: 1 time
Contactar:

Mensaje por shirumitsu »

can you explain better how to put an animation?
Avatar de Usuario
Maikeldevil
Mensajes: 64
Registrado: 17 Ago 2019, 12:05
Ubicación: unknown
Has thanked: 3 times
Been thanked: 44 times
Contactar:

Mensaje por Maikeldevil »

I see in the PY code (Our tool to create our GTR watchfaces) there is worked on child parent base, i also see that the function dayprogress hasnt got its own element yet. I have a problem that i try to get this function dayprogress behind other elements, ideal would be behind the background.

Also in the background there we have a option to set the X and Y for this element but it doesnt work. When image is smaller then 454 x 454 on the gtr its shown in the left upper corner, if we could fix this i can fix my date problem. (rotating date behind clock).

Please help!
goma
Mensajes: 1
Registrado: 25 Mar 2020, 21:19
Ubicación: Portugal
Contactar:

Mensaje por goma »

is it possible to put the time in a different time zone? i.e add a few hours to the displayed time?
If I want to display dual time, has to be with an analog display?
Melmers
WF maker
Mensajes: 2
Registrado: 02 Abr 2020, 05:20
Ubicación: Phoenix
Contactar:

Mensaje por Melmers »

I see moon phase icons on a few watchfaces but the display is never active.
Is there any hope for moon phase data?

Current Phase, Moonrise, moonset, sunrise, sunset?
Maybe in the weather data?
Most weather sources have that information too.

Sure would help make some watchfaces a lot nicer :-)
taw_bip
WF maker
Mensajes: 130
Registrado: 12 Abr 2018, 16:29
Has thanked: 123 times
Been thanked: 19 times
Contactar:

Mensaje por taw_bip »

Regarding JSON syntax, I have a Verge Lite and was looking to layer images in a certain order, similar to the Bip watchface below where the day/date appears above the time. Is there any way to define the order elements display on a watchface?
https://amazfitwatchfaces.com/bip/view/23458
Avatar de Usuario
SashaCX75
Mensajes: 812
Registrado: 26 Oct 2019, 15:18
Ubicación: Ukraine
Has thanked: 13 times
Been thanked: 1007 times
Contactar:

Mensaje por SashaCX75 »

[mention]taw_bip[/mention]
At the moment, the order of drawing elements cannot be changed.
Avatar de Usuario
kyle
Mensajes: 23
Registrado: 22 Abr 2018, 14:32
Ubicación: CHINA
Has thanked: 3 times
Been thanked: 5 times
Contactar:

Mensaje por kyle »

之前没回复,这次要给大佬点个赞
Contact please email:[email protected]
如有需要可联系!
Sandro28
WF maker
Mensajes: 1
Registrado: 28 Abr 2020, 16:46
Ubicación: Tbilisi
Contactar:

Mensaje por Sandro28 »

Hello. I have Xiaomi Amazfit bip. can you explain how to add image ? "Background": {
"Image": { #Image
"X": 0,
"Y": 0,
"ImageIndex": 0
},
"Preview": {
"X": 0,
"Y": 0,
"ImageIndex": 1
}
"FrontImage": { #not much of a use. You can delete this.
"X": 0,
"Y": 0,
"ImageIndex": 2
},

I know that this cod must be ... but when I upload watchface in my amazfit I can not see the image (background). how can I fix it ? Or this cod is not for amazfit ?
Avatar de Usuario
SashaCX75
Mensajes: 812
Registrado: 26 Oct 2019, 15:18
Ubicación: Ukraine
Has thanked: 13 times
Been thanked: 1007 times
Contactar:

Mensaje por SashaCX75 »

[mention]Sandro28[/mention]
"Image" - watchface background
"Preview" - Preview on the clock
In amazfit, the preview image does not change.
This code is suitable for GTR. For Bip, the code may differ, depending on which program to package the bin file.
viper89
WF maker
Mensajes: 1
Registrado: 02 Ago 2020, 16:52
Ubicación: Venezia
Contactar:

Mensaje por viper89 »

Hi, there is any way to set layers? For example i want to put big seconds under hours and minutes thx
Avatar de Usuario
SashaCX75
Mensajes: 812
Registrado: 26 Oct 2019, 15:18
Ubicación: Ukraine
Has thanked: 13 times
Been thanked: 1007 times
Contactar:

Mensaje por SashaCX75 »

If you move the second hand from the center, it will be displayed below the minute and hour hands. The rendering order of other elements cannot be changed.
wanders
Mensajes: 19
Registrado: 02 Jul 2020, 00:06
Ubicación: Austin TX USA
Been thanked: 1 time
Contactar:

Mensaje por wanders »

I recently got a GTS and I wonder if there is watchface extract / encode / JSON support for three features which I know the watch supports, namely:

* sunrise time
* sunset time
* PAI value (maybe even a shortcut to PAI?)

I know that GTS / GTR are now older models, but I have to believe that the code is not that different from GTS 2. I also noticed that my GTS has an SpO2 sensor on it - what's up with that?

Thanks for any info...
Floooooo24
Mensajes: 1
Registrado: 02 Feb 2022, 16:31
Ubicación: German
Contactar:

Mensaje por Floooooo24 »

Hello Everyone,

is there a way, to display a graph of the Puls, like the preinstalled from amazfit bip s (one of the two customizable?

And ist there a way to display a Calender reminder, also like the preinstalled from amazfit bip s?
Spoiler
Calender reminder
Calender reminder
IMG_20220202_174325.png (780.5 KiB) Visto 19405 veces
Pulse Graph
Pulse Graph
IMG_20220202_174315_v2.png (759.36 KiB) Visto 19405 veces
Thank you for any infos
Flo
Responder

Volver a “Watchfaces tools”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado