• Amministratore
  •  
    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.
     

MiBandWFTool

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

Moderatori: asoo, lvpokka, Internal error, Watchmens

Regole del forum
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.
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

MiBandWFTool

Messaggio da 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!
History log
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]
Ultima modifica di lvpokka il 02 ago 2020, 19:41, modificato 24 volte in totale.
thankkien

Messaggio da thankkien »

Hello GIK-Team, thank you for continuing this project. Yesterday after receiving news that bandbbs did not pursue it, I was very sad. Fortunately, they have publicized it and you are continuing this work.

But maybe this version has a more serious error. The image quality after packaging is too bad, the preview still has many errors. Even if I install it into miband, some components are gone.

Anyway, thank you, wish you have better products for the community
Max88
WF maker
Messaggi: 21
Iscritto il: 30 mag 2019, 17:54
Località: Italia
Has thanked: 13 times
Contatta:

Messaggio da Max88 »

weather doesn't show on band. my bin gets compiled without errors, but on band 4 i don't see info about weather.
just the icon with "?"
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

Max88 ha scritto: 08 lug 2019, 15:32
weather doesn't show on band. my bin gets compiled without errors, but on band 4 i don't see info about weather.
just the icon with "?"
Could you please provide your bin file?
Max88
WF maker
Messaggi: 21
Iscritto il: 30 mag 2019, 17:54
Località: Italia
Has thanked: 13 times
Contatta:

Messaggio da Max88 »

lvpokka ha scritto: 08 lug 2019, 16:41
Max88 ha scritto: 08 lug 2019, 15:32
weather doesn't show on band. my bin gets compiled without errors, but on band 4 i don't see info about weather.
just the icon with "?"
Could you please provide your bin file?
here it is

it could be my mistake obviously. at least that's what i hope so it could be fixed XD
thankkien

Messaggio da thankkien »

I think in the next version(1.3), it should be re-added transparency effect. That makes image quality smoother. And there seems to be a lot of errors for the self-made watch face (no wallpaper, battery icon at no time, am / pm has disappeared)
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

* I assume transparent effect is not possible, if you look closer on stock firmware to make smooth image they using part of background image to make "transparency" effect

* Self made - Did you extract some other watch face and use it as template? Did you resize images or just changed colors? Did you add ownwrited json items?
p.s. There is problem with BottomRight* item, if you are changing image size
thankkien

Messaggio da thankkien »

lvpokka ha scritto: 09 lug 2019, 13:32
* I assume transparent effect is not possible, if you look closer on stock firmware to make smooth image they using part of background image to make "transparency" effect

* Self made - Did you extract some other watch face and use it as template? Did you resize images or just changed colors? Did you add ownwrited json items?
p.s. There is problem with BottomRight* item, if you are changing image size
I'm not sure you developed it from any version of amazfitbiptool. But I used to use bandbbs's mod that @osmat posted on the forum. And the transparent effect can absolutely exist.

I created a completely new watch face. I have referenced some code in .json files. And as I said, It perfectly valid in the version of bandbbs.
Avatar utente
lukbe
WF maker
Messaggi: 18
Iscritto il: 02 giu 2018, 08:09
Località: Czech
Has thanked: 1 time
Been thanked: 8 times
Contatta:

Messaggio da lukbe »

Hello,
i tested this version (MiBandWFTool_1.2.zip) on my WF and it does not work.

After loading in to mi band is on the screen only graphic information about steps and nothin more.

It is this bin file: 00_v2_czech_09072019_nok-3080-38f2abd88c-3080-3ff76a872a.bin
here: https://amazfitwatchfaces.com/mi-band-4/view/83

here is really any prblem with transparency, because with AmazfitBipTools_Mi4_1.0.3 my WF wotk fine!
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

UPDATE*

v1.3.3
https://yadi.sk/d/To9OZUcxNp_qGg

- bug fixes
- added 2 versions, both with transparency but Palette version uses less memory if images are simple.

P.S.(if v1.3.* is unpacking images with black background, it's mean that previously transparency was cutoff, please use new images or from previous build to fix watchface files)
Ultima modifica di lvpokka il 10 lug 2019, 17:29, modificato 5 volte in totale.
gavan82

Messaggio da gavan82 »

hi there,
can anyone please tell precisely, what I need to carefully do to edit the 0000.png
does it need to have same color palette or else?
mutlab
WF maker
Messaggi: 3
Iscritto il: 09 lug 2019, 13:26
Contatta:

Messaggio da mutlab »

Ciao,
I used the version 1.3.2 : the package is compiled with my .json but while the .gif show what I (think) is right, the .bin on the Mi Band 4 is wrong!

If you want to debug:
*ThisSite*/mi-band-4/view/770

v1.2

I used the RAW compiler.
Thanks in advance

L
Avatar utente
lukbe
WF maker
Messaggi: 18
Iscritto il: 02 giu 2018, 08:09
Località: Czech
Has thanked: 1 time
Been thanked: 8 times
Contatta:

Messaggio da lukbe »

I used version of this tool 1.3.2 and here is problem with part of json named like: Status. Please can you share example of this part. Thank you

As you can see bellow, here is few commands named unknown. This is unpacked json from original WF.

Codice: Seleziona tutto

  "Status": {
    "DoNotDisturb": {
      "Coordinates": {
        "X": 6,
        "Y": 10,
        "Unknown3": 17,
        "Unknown4": 2,
        "Unknown5": 1
      },
      "ImageIndexOn": 43
    },
    "Lock": {
      "Coordinates": {
        "X": 23,
        "Y": 10,
        "Unknown3": 17,
        "Unknown4": 2,
        "Unknown5": 1
      },
      "ImageIndexOn": 44
    },
    "Bluetooth": {
      "Coordinates": {
        "X": 40,
        "Y": 10,
        "Unknown3": 12,
        "Unknown4": 2,
        "Unknown5": 1
      },
      "ImageIndexOff": 42
    },
    "Battery": {
      "Unknown1": 0,
      "Icon": {
        "X": 93,
        "Y": 10,
        "ImageIndex": 45,
        "ImagesCount": 9
      }
    }
  }
}
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

Please check fixed one https://yadi.sk/d/To9OZUcxNp_qGg v1.3.3

Updated*
Added circular/linear step progress on preview
Ultima modifica di lvpokka il 10 lug 2019, 19:56, modificato 2 volte in totale.
Avatar utente
lukbe
WF maker
Messaggi: 18
Iscritto il: 02 giu 2018, 08:09
Località: Czech
Has thanked: 1 time
Been thanked: 8 times
Contatta:

Messaggio da lukbe »

Perfect, now it is ok...
Do you have idea why weather does not work ? Is it problem with FW?
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

Not exposed still, looks like its part of "fantastic" upgrade with new watchfaces :D
gavan82

Messaggio da gavan82 »

what is the difference pallete image mode and raw image mode?
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

Palette mode store only unique pixels for image (like zip file) but if hq image is used then it's more efficient to use raw mode, it will store image pixel by pixel)
Therefore if image is simple and use 5-20 unique pixels, it's good to use palette mode.
Solution: Just check .bin size and use smaller one.
mutlab
WF maker
Messaggi: 3
Iscritto il: 09 lug 2019, 13:26
Contatta:

Messaggio da mutlab »

Ciao
with V1.3.3 the code

Codice: Seleziona tutto

  "Date": {
    "MonthAndDay": {
      "OneLine": {
        "Number": {
          "TopLeftX": 5,
          "TopLeftY": 119,
          "BottomRightX": 70,
          "BottomRightY": 132,
          "Alignment": "TopLeft",
          "Spacing": 1,
          "ImageIndex": 21,
          "ImagesCount": 10
        },
        "DelimiterImageIndex": 31
      },
      "TwoDigitsMonth": true,
      "TwoDigitsDay": true
    },
    "WeekDay": {
      "X": 85,
      "Y": 123,
      "ImageIndex": 32,
      "ImagesCount": 7
    }
  },
  "StepsProgress": {
    "Linear": {
is compiled, while

Codice: Seleziona tutto

  "Date": {
    "MonthAndDay": {
      "Separate": {
        "Month": {
          "TopLeftX": 45,
          "TopLeftY": 119,
          "BottomRightX": 70,
          "BottomRightY": 132,
          "Alignment": "TopLeft",
          "Spacing": 0,
          "ImageIndex": 21,
          "ImagesCount": 10
        },
        "Day": {
          "TopLeftX": 5,
          "TopLeftY": 119,
          "BottomRightX": 30,
          "BottomRightY": 132,
          "Alignment": "TopLeft",
          "Spacing": 0,
          "ImageIndex": 21,
          "ImagesCount": 10
        }
      },
      "TwoDigitsMonth": true,
      "TwoDigitsDay": true
   },
  "StepsProgress": {
    "Linear": {
return the following error:
Newtonsoft.Json.JsonSerializationException: Could not find member 'StepsProgress' on object of type 'Date'. Path 'Date.StepsProgress', line 108, position 17.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
at WatchFace.Program.ReadWatchFaceConfig(String jsonFileName)
But the member StepsProgress is defined!
user_test

Messaggio da user_test »

lvpokka ha scritto: 10 lug 2019, 19:55
Palette mode store only unique pixels for image (like zip file) but if hq image is used then it's more efficient to use raw mode, it will store image pixel by pixel)
Therefore if image is simple and use 5-20 unique pixels, it's good to use palette mode.
Solution: Just check .bin size and use smaller one.
I am having a problem with the Palette Version which is the one which I need to make a WF with animation because of the size.
The bin is well compiled, and the gif animation appears to be ok, but when I install it into the Mi Band, the screen is all black and can not see anything expect one number of the battery.

Could you please tell me if I am doing something wrong or if there is a bug which will be fixed in your next version?

Really appreciate your work, thank you so much!
Allegati
Pokeball_packed.zip
(307.93 KiB) Scaricato 893 volte
mutlab
WF maker
Messaggi: 3
Iscritto il: 09 lug 2019, 13:26
Contatta:

Messaggio da mutlab »

mutlab ha scritto: 11 lug 2019, 08:24
Ciao
with V1.3.3 the code

Codice: Seleziona tutto

  "Date": {
    "MonthAndDay": {
      "OneLine": {
        "Number": {
          "TopLeftX": 5,
          "TopLeftY": 119,
          "BottomRightX": 70,
          "BottomRightY": 132,
          "Alignment": "TopLeft",
          "Spacing": 1,
          "ImageIndex": 21,
          "ImagesCount": 10
        },
        "DelimiterImageIndex": 31
      },
      "TwoDigitsMonth": true,
      "TwoDigitsDay": true
    },
    "WeekDay": {
      "X": 85,
      "Y": 123,
      "ImageIndex": 32,
      "ImagesCount": 7
    }
  },
  "StepsProgress": {
    "Linear": {
is compiled, while

[...]

But the member StepsProgress is defined!
sorry..It was myfault. forget about it
thankkien

Messaggio da thankkien »

* 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
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

user_test ha scritto: 11 lug 2019, 08:30
I am having a problem with the Palette Version which is the one which I need to make a WF with animation because of the size.
The bin is well compiled, and the gif animation appears to be ok, but when I install it into the Mi Band, the screen is all black and can not see anything expect one number of the battery.

Could you please tell me if I am doing something wrong or if there is a bug which will be fixed in your next version?

Really appreciate your work, thank you so much!
Images are ok, you have problems with json
"TopLeftX": 30,
"TopLeftY": 213,
"BottomRightX": 76,
"BottomRightY": 158,
please check TopLeft BottomRight?
Ultima modifica di lvpokka il 11 lug 2019, 11:35, modificato 3 volte in totale.
lvpokka
Messaggi: 178
Iscritto il: 07 lug 2019, 20:22
Località: L1
Has thanked: 19 times
Been thanked: 152 times
Contatta:

Messaggio da lvpokka »

thankkien ha scritto: 11 lug 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
user_test

Messaggio da user_test »

lvpokka ha scritto: 11 lug 2019, 11:26
user_test ha scritto: 11 lug 2019, 08:30
I am having a problem with the Palette Version which is the one which I need to make a WF with animation because of the size.
The bin is well compiled, and the gif animation appears to be ok, but when I install it into the Mi Band, the screen is all black and can not see anything expect one number of the battery.

Could you please tell me if I am doing something wrong or if there is a bug which will be fixed in your next version?

Really appreciate your work, thank you so much!
Images are ok, you have problems with json
"TopLeftX": 30,
"TopLeftY": 213,
"BottomRightX": 76,
"BottomRightY": 158,
please check TopLeft BottomRight?
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.
Rispondi

Torna a “Watchfaces tools”

Chi c’è in linea

Visitano il forum: awesome1123 e 2 ospiti