Page 2 of 26
MiBandWFTool
Posted: 08 Jul 2019, 12:57
by lvpokka
Author
lvpokka
Tool Description
1. The tool is based on a modified version of AmazfitBipTools, thanks to the original open source .
2. The tool supports unpacking, packing of the official watch face bin file.
3. Mi band 4 supports 16,581,375 colors.
4. Mi band 5 supports 15,499,008 colors.
How to
1. Unzip
MiBandWFTool_X.X.zip.
2. Download
.bin file from catalog or get standard watchface file.
3. Drag the
.bin file to
WatchFace.exe (in step 1. , get the decompressed file)
(if there is only one log file, the decompression failed).
4. There are two ways to modify the dial.
- is to modify the corresponding image file and replace it with what we want.
- is to modify the corresponding json file and modify the position of the image.
5. After all the modifications are completed, drag the modified json into
WatchFace.exe in step 1 to get the corresponding bin file
(the file name depends on the name of the bin. If the .bin file is not generated, the package is wrong)
6. Copy the newly generated bin file to the corresponding directory of the mobile phone, and the synchronization will be completed. (This step is not very clear, you can refer to the original tutorial) above, you're done!
What's new
- added animation support
- fixed pulse and weather
- removed color restrictions for images
- analog clock support
ver1.2
- Added compatibility for Pulse progress bar
ver1.3
- added full support for transparent images
- drawing 20 frames for preview GIF
ver1.3.2
- bug fixes
- added 2 versions, both with transparency but Palette version uses less memory if images are simple.
ver1.3.3
- Added circular/linear step progress on preview
Stable v1.3.6
- locked transparency for palette mode, support only (0 and 255) values
- palette mode fix
Stable v1.3.7
v1.3.7 (cosmetic changes, you can use 1.3.6 if everything suits)
- Fixed GIF preview (Pulse rendering, Step segments, Kilometer drawing, Calories)
- Added the ability to choose which Set of images to use for WeekDays. (Config file WatchFace.exe.config)
- STRONGLY fixed json examples in README.
(to avoid problems, pack 1.3.6 and unpack 1.3.7 for a smooth transition)
Stable v1.3.8
- Removed image order dependency for json (sorting images no longer required)
- Fixed display bugs
Important: the order of the images should be from 0000 to XXXX without gaps.
v1.3.9
- Removed dependence on images order 0000->XXXX
- Calories rendering fixed
- Added ability to change Preview Speed (available from 50ms - 1000ms)
- TimeElement DrawingOrder hardcoded to 1234 (not used by MiBand4)
v1.4.1
- Other bugfixes
- New WF support
- Added new elements (time delimiter / step icon / linear progress )
v2.1.4
- Added support Mi Band 5 wfaces
- Pandafix (new unknown element)
- BugFixes
v2.1.5
- Preview bugfixes
- [WFPreview] Added Copy/Paste/Save ability
- [WFPreview] Added ability to replace watchface header
Mi Band 4 WF Tool
v1.4.2
- Added miles image support
NOTE:
- if your using image for MilesSuffixImageIndex, then KmSuffixImageIndex is required! you can use the same image for it
Mi Band 5 WF Tool
v2.1.6
- Preview bugfixes
- Watchfaces generating with random header identifier
- Fixed problem with Windows scaling, DPI is tied to 96
- [WFPreview] Removed ability to clone watchface header
Mi Band 6 WF Tool
v4.1.0
- Added Lunar calendar
- Bug fixes
- New preview generator, should be pixel perfect (big thx to Johnson070)
MiBandWFTool_4.1.0.zip
MiBandWFTool_2.1.6.zip [
alt url] [
alt url 2]
MiBandWFTool_1.4.2.zip [
alt url] [
alt url 2]
Re: MiBandWFTool
Posted: 11 Jul 2019, 13:42
by lvpokka
user_test wrote: 11 Jul 2019, 13:21
Sorry buy I can't understand you. So the problem in my json is that some BottomRightX and BottomRightY are not correct, and for that reason the Watchface is not showing the elements right?
It means that if I adjust the BottomRights positions to match exactly the size of elements, all the elements will be shown?
Thank you in advice.
Yes please) it can be bigger but ideally the same as size because it trying to fix some elements in miband4
also i assume AnimationImage -> X3 should be set to 100
Re: MiBandWFTool
Posted: 11 Jul 2019, 14:00
by user_test
lvpokka wrote: 11 Jul 2019, 13:42
Yes please) it can be bigger but ideally the same as size because it trying to fix some elements in miband4
also i assume AnimationImage -> X3 should be set to 100
I made this one with all your recomendations, X3 = 100, and all the BottomRight setted right.
But the problem persists, maybe I am forgetting something in the json? Could you please provide a correct Json to check if there is any difference which could be causing the problem?
Thank you for your help, hope I can fix it or at least detect where the problem is.
Re: MiBandWFTool
Posted: 11 Jul 2019, 15:15
by lukbe
lvpokka wrote: 11 Jul 2019, 11:32
thankkien wrote: 11 Jul 2019, 10:38
* Does anyone know how to add calories?
It is not supported yet?
** My proposal for the new version
/ Why don't we allow it to be named freely. I think adding new languages to the watch face will be simpler.
/ Now if I remove the day of the week in Chinese, it will fail. I have to add 14 image files for Chinese weekdays and 2 image files for morning and afternoon. Memory waste is too great
-named freely, there is just 1,2,3,4,5.. text is just for linking with data and sequence ) btw English is universal language
WeekDay
DayAmPm
Battery>Icon
Is required, but you can use ultra small memory)) please x=0 y=0 and make image of 1 black pixel!
btw. you can use only 7 images for WeekDay or 14 or 21 but remember all files should go from 0000 -> X without missing if you remove image you should rename all images after
I have questions to the images for weekday.
In the case when I used only 7 images, I changed name of each image and I edited json file. After loading bin file in to mi band, here was not week day displayed!
Why?
Re: MiBandWFTool
Posted: 11 Jul 2019, 17:09
by lvpokka
[mention]lukbe[/mention] Please provide files, i will verify)
Re: MiBandWFTool
Posted: 11 Jul 2019, 17:25
by Anonymous86
[mention]lvpokka[/mention]
Maybe a documentation or similar would be really nice. What is possible with which json part. I don't want to look thousand examples.
What means X2, Y2, X3? What is BottomRight, etc.?
What must be used in the json?
I often get error in rendering. Its really annoying.
Re: MiBandWFTool
Posted: 11 Jul 2019, 17:27
by lukbe
lvpokka wrote: 11 Jul 2019, 17:09
@lukbe Please provide files, i will verify)
Re: MiBandWFTool
Posted: 11 Jul 2019, 17:54
by DarkForgotten
Hi! How can I add day, month and week day to a watchface?
Re: MiBandWFTool
Posted: 11 Jul 2019, 19:01
by lvpokka
[mention]DarkForgotten[/mention] unpack similar watchface with existing items, and combine with you owrn
Re: MiBandWFTool
Posted: 11 Jul 2019, 19:07
by 2Dead2Live
I`m having problem with animations bcs after i proced my json to bin it`s unable to instal on my mi band 4 but prievew is ok. When i tried proceding other working theme with animation it couldn`t work . Is there some solution to it or i`m doing something wrong ? :/
Re: MiBandWFTool
Posted: 11 Jul 2019, 19:25
by lukbe
Can you tell me size of the bin file? I think that maximum size of the WF is 300 kB...
Re: MiBandWFTool
Posted: 11 Jul 2019, 19:32
by lvpokka
lukbe wrote: 11 Jul 2019, 17:27
lvpokka wrote: 11 Jul 2019, 17:09
@lukbe Please provide files, i will verify)
please swap in json
Activity <-> Date
its wrong position thats why he skip it on miband4
Re: MiBandWFTool
Posted: 11 Jul 2019, 19:35
by lvpokka
You also could try to check
https://yadi.sk/d/YlLUcnz7VD9MqA
PaletteImageMode
you can create in raw.cfg near .json with content like 1,3,66, and it will user RAW storage for 1 3 and 66 images.) it could help you to save space
p.s read log for more info
Re: MiBandWFTool
Posted: 11 Jul 2019, 21:25
by user_test
lvpokka wrote: 11 Jul 2019, 19:35
You also could try to check
https://yadi.sk/d/YlLUcnz7VD9MqA
PaletteImageMode
you can create in raw.cfg near .json with content like 1,3,66, and it will user RAW storage for 1 3 and 66 images.) it could help you to save space
p.s read log for more info
Well I have been trying your last version 1.3.5 to compile the watchface with animation and thanks to the raw.cfg file I've been able to create a bin of 290Kb compressing only the animation and the weekDays (i mean I put in raw.cfg all the files except the ones for animation and the weekDay)
When I install the bin, all the digits, background, icons are shown correctly but the animation and the weekDays.
I think there is a problem with the Palette version which makes the images invisibles or something?
Could you check it please? I can attach you my working watchface if you need it.
Thank you, really appreciate your tool and hope it can be improved to make animated watchfaces properly.
Re: MiBandWFTool
Posted: 11 Jul 2019, 21:49
by Anonymous86
[mention]lvpokka[/mention]
I like your tool, but its not matured. I try now over 10h to make a watch face but often i get render errors.
Maybe a documentation or similar would be really nice. What is possible with which json part. I don't want to look thousand examples.
What means X2, Y2, X3? What is BottomRight, etc.?
What must be used in the json?
I often get error in rendering. Its really annoying.
Maybe you make a Github-Repository to work with others together?
Thank You really much for your work.
Re: MiBandWFTool
Posted: 11 Jul 2019, 21:49
by lvpokka
[mention]user_test[/mention] Yes sure i need data for testing...
[mention]Anonymous86 [/mention] Please add your files for check
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:06
by lvpokka
Anonymous86 wrote: 11 Jul 2019, 21:49
I like your tool, but its not matured. I try now over 10h to make a watch face but often i get render errors.
Maybe a documentation or similar would be really nice. What is possible with which json part. I don't want to look thousand examples.
matured??)))) after verifying your work i can sudgest you to be more patient and carefull.. too many mistakes in json
Right json, please compare with yours
Code: Select all
{
"Background": {
"Image": {
"X": 0,
"Y": 0,
"ImageIndex": 0
}
},
"Time": {
"Hours": {
"Tens": {
"X": 5,
"Y": 25,
"ImageIndex": 1,
"ImagesCount": 3
},
"Ones": {
"X": 30,
"Y": 25,
"ImageIndex": 1,
"ImagesCount": 10
}
},
"Minutes": {
"Tens": {
"X": 70,
"Y": 25,
"ImageIndex": 1,
"ImagesCount": 6
},
"Ones": {
"X": 95,
"Y": 25,
"ImageIndex": 1,
"ImagesCount": 10
}
}
},
"Date": {
"MonthAndDay": {
"Separate": {
"Month": {
"TopLeftX": 60,
"TopLeftY": 75,
"BottomRightX": 74,
"BottomRightY": 84,
"Alignment": "Center",
"Spacing": 1,
"ImageIndex": 11,
"ImagesCount": 10
},
"Day": {
"TopLeftX": 40,
"TopLeftY": 75,
"BottomRightX": 54,
"BottomRightY": 84,
"Alignment": "Center",
"Spacing": 1,
"ImageIndex": 11,
"ImagesCount": 10
}
},
"TwoDigitsMonth": true,
"TwoDigitsDay": true
},
"WeekDay": {
"X": 45,
"Y": 90,
"ImageIndex": 47,
"ImagesCount": 7
},
"DayAmPm": {
"TopLeftX": 78,
"TopLeftY": 74,
"ImageIndexAMCN": 46,
"ImageIndexPMCN": 47,
"ImageIndexAMEN": 46,
"ImageIndexPMEN": 47
}
},
"Activity": {
"Steps": {
"Step": {
"TopLeftX": 20,
"TopLeftY": 225,
"BottomRightX": 58,
"BottomRightY": 234,
"Alignment": "TopCenter",
"Spacing": 1,
"ImageIndex": 11,
"ImagesCount": 10
}
},
"Distance": {
"Number": {
"TopLeftX": 66,
"TopLeftY": 225,
"BottomRightX": 113,
"BottomRightY": 234,
"Alignment": "Center",
"Spacing": 1,
"ImageIndex": 21,
"ImagesCount": 10
},
"SuffixImageIndex": 41,
"DecimalPointImageIndex": 42
}
},
"Status": {
"DoNotDisturb": {
"Coordinates": {
"X": 2,
"Y": 2,
"X2": 1,
"Y2": 1,
"X3": 1
},
"ImageIndexOn": 43
},
"Lock": {
"Coordinates": {
"X": 15,
"Y": 2,
"X2": 1,
"Y2": 1,
"X3": 1
},
"ImageIndexOn": 44
},
"Bluetooth": {
"Coordinates": {
"X": 28,
"Y": 2,
"X2": 1,
"Y2": 1,
"X3": 1
},
"ImageIndexOff": 45
},
"Battery": {
"Text": {
"TopLeftX": 0,
"TopLeftY": 0,
"BottomRightX": 0,
"BottomRightY": 0,
"Alignment": 0,
"Spacing": 0,
"ImageIndex": 0,
"ImagesCount": 0
},
"Text2": {
"TopLeftX": 71,
"TopLeftY": 3,
"BottomRightX": 88,
"BottomRightY": 12,
"Alignment": "Center",
"Spacing": 0,
"ImageIndex": 21,
"ImagesCount": 10
},
"Icon": {
"X": 92,
"Y": 2,
"ImageIndex": 31,
"ImagesCount": 9
}
}
}
}
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:08
by user_test
lvpokka wrote: 11 Jul 2019, 21:49
@user_test Yes sure i need data for testing...
@Anonymous86 Please add your files for check
Here you have.
As you can see, the raw.cfg contains all except the WEEKDay's images, the ones for AM/PM and one of the Animation images. If you install the bin you can see everything right but the animation (which only shows the img which is in raw) and the WeekDays.
I've tryed same resources and Json in Tools0.0.2 and it makes the bin with all the images and low size.
Hope you can fix it. If you need some help, I will do my best.
Thank you very much
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:16
by lvpokka
[mention]user_test[/mention]
one more time
"Activity" should go AFTER "Date" structure in JSON!
upd.
your animation x y is ok but it's overlapping Steps! make image smaller size for test
and fix steps coordinates also
"Step": {
"TopLeftX": 30,
"TopLeftY": 213,
"BottomRightX": 124,
"BottomRightY": 238,
upd.
Why your using so many raw images? it's consuming space, or you want different quality or it's not showed in miband4? if not then maybe animation is also not showed because your not using raw for it? also what for 69 index in raw.cfg
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:40
by DarkForgotten
I've tried to edit a watchface I really like adding date, month and day of the week. I managed to add all (more or less) but when I sync the watchface with the band the background is completely black.
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:42
by lvpokka
[mention]DarkForgotten[/mention] black is because you should use raw or create or save image differently. black images meaning that previosly transparency effect was cut off and you should unpack it at least with 1.2 version to get old images without transparency
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:48
by user_test
lvpokka wrote: 11 Jul 2019, 22:16
@user_test
one more time
"Activity" should go AFTER "Date" structure in JSON!
upd.
your animation x y is ok but it's overlapping Steps! make image smaller size for test
and fix steps coordinates also
"Step": {
"TopLeftX": 30,
"TopLeftY": 213,
"BottomRightX": 124,
"BottomRightY": 238,
upd.
Why your using so many raw images? it's consuming space, or you want different quality or it's not showed in miband4? if not then maybe animation is also not showed because your not using raw for it? also what for 69 index in raw.cfg
I really appreciate your work, but please read my previous comment in which I told you that after tests I send you the files prepared with all in raw except the 69 img (which is one from the animation) and if you install the bin in the mi band 4, you can see that all the images which are in RAW are ok and the band shows them. But that ones that I've not included in raw AREN'T shown in mi band.
The order or the coordinates are not the problem because if I add all the images as RAW, the watchface looks well (obviusly for that I've to keep some of the images not in raw in order to decrease size).
The problem is about the images which we want to get compressed in Palette mode (that images which I've not included in raw.cfg are not shown in mi band 4. The resto of images which are included in raw.cfg are shown correctly without any problem of Json order or coordinates).
Please check the bin in a mi band 4 so you can understand what I'am writting.
Anyway, here I attach you the json fixed as you said with Activity after Date and coordinates perfectly fitted. If you compile the bin with your PaletteImage version 1.3.5, and try to install it in Mi Band 4 you will see nothing.
And as I said, that's because with the Palette version the images seems to disappear, so if you put some of the images in raw.cfg, you will see that images in the Mi Band 4, but not the rest.
Thank you
Re: MiBandWFTool
Posted: 11 Jul 2019, 22:59
by DarkForgotten
Using RawImageMode the background is now on, my other issues are that the day of the week (LUN, MAR, GIO, ...) doesn't appear on the band and the days have wrong yellow font but I used the same files of the month (the grey one).
Re: MiBandWFTool
Posted: 12 Jul 2019, 07:03
by zmr1992
How do you synchronize bin files larger than 300kb to the bracelet?
Re: MiBandWFTool
Posted: 12 Jul 2019, 07:13
by DarkForgotten
Hi managed to move all in the correct position but I think there's an error in the date. The day has random numbers and wrong fonts.
Also the day of the week doesn't appear on the band.
"Date": {
"MonthAndDay": {
"Separate": {
"Month": {
"TopLeftX": 98,
"TopLeftY": 100,
"BottomRightX": 74,
"BottomRightY": 84,
"Alignment": "Center",
"Spacing": -1,
"ImageIndex": 66,
"ImagesCount": 10
},
"Day": {
"TopLeftX": 78,
"TopLeftY": 100,
"BottomRightX": 54,
"BottomRightY": 84,
"Alignment": "Center",
"Spacing": -1,
"ImageIndex": 66,
"ImagesCount": 10
}
},
"TwoDigitsMonth": true,
"TwoDigitsDay": true
},
"WeekDay": {
"X": 94,
"Y": 116,
"ImageIndex": 76,
"ImagesCount": 7
Re: MiBandWFTool
Posted: 12 Jul 2019, 07:18
by user_test
zmr1992 wrote: 12 Jul 2019, 07:03
How do you synchronize bin files larger than 300kb to the bracelet?
You can't, that's why the PalleteImage version of the Tool is very interesting. Because with that tool you are supposed to get lower size bins altought you get poor quality.
But as you can read in my earlier messages, there seems to be a problem with the tool and the images compressed are not shown in Mi Band 4.
I am waiting for the author of the tools to have a fix for that