Mi Band 4 on Sailfish XA2 Ultra

So, I have been up and running for some days now. It is great that some features, like step count, works really well. Heart beat also seems to be working.

However, it is a bit disappointing that some features are not there at all or just are not correct. I should say that the custom MiFit app does not work as well as the Notifications for Mi Band app that is developed by a third party (either).

Sleep tracking is just strange. It says on the screen that it will update at noon. Why? Ok, I can live with that, but would rather just be able to sync the band when I get up in the morning. Other than that sleep tracking is annoyingly misleading. Yesterday I apparently slept for 3.8 hours. It should be closer to six if it were correct.

Bike tracking. I finally got Kuri working (don’t know how) but it is not logging my heartbeat from the Amazfish app. I am neither able to tell the Mi Band that I am biking and therefore it won’t calculate it. The biking workouts do not end up in Amazfish either. That would be cool.

Kudos to Piggz for developing a great app! Unfortunately it does not do it for me at the moment.

I am keeping an Android phone for things related to my small start up company. I need Google and Facebook ads. I will keep most personal data out of that phone, though. I might use a third party app on that phone to do the Mi Band stuff on there.

Sorry to see you go.

Regarding Kuri not logging the heartrate, ive looked into it an its a bug introduced in the new Kuri Record page, which wasnt in the older Laufhelden (which is what Kuri is forked from). Ill log a bug there and try to get the dev to put the code right.

Regarding sleep tracking, its always hit and miss. I have an algorithm which seems to work about perfectly for me, but it depends on the settings you have enabled and how you wear the watch I guess.

The “updates at midday” is there because I was too lazy to work out when you were definitely awake, so picked midday as a reasonable cut off point. With some more work I could probably work out from the device.

Issue logged here https://gitlab.com/elBoberido/kuri/-/issues/1

right, never paid attention that Laufhelden could read HRM from Amazfish, very nice! I’ll try that on my next run, and will compare with my Suunto watch to see the difference.

I’m not gone yet. You have really done an amazing job with this app.

Sleep tracking:
The Mi Fit app is not very reliable either, the third party app (Notifications and Fitness for Mi Band) works best for me. Yet again, how reliable are those trackings anyway?

Heartrate monitoring:
It would be great if it could work. I want an as reliable tracking of my habits as possible. But I don’t think that is any of Xaomi’s business…

App integration:
Would it be possible to get the workouts from Kuri or Laufhelden (?) to register in Amazfish in the Workout view?

I will try if Laufhelden retrieves my heartbeat.

Thank you and keep up the good work!

Im not sure about registering the Kuri workouts in amazfish … the ones in Amazfish are really just a list of activities, you can cant to anything with them, thats why I export them to Kuri/Laufhelden, there are a lot more features there for viewing/exporting the workouts.

True about the HR data being private. Did you know I store all the data in a Kexi database, so you can copy it to your desktop linux machine, open in in Kexi and perform your own analysis on the data? Just because you havnt got the heartrate data synced to Kuri, doesnt mean it hasnt been gathered every minute by amazfish. You should be able to see it in simple graphs if you select the “Data Graphs” option in main page pulley menu. Its not really confirmed as working on the Band 4, but so long as they didnt change the protocol it should work.


I have been testing too and have also expired what have been described by martinbook85. Anyway, I will put some points up what issues there are.

  • Trying to connect HRM to Meerun the app will crash.
    Connecting HRM to Laufhelden is possible but when trying to save a workout the app will crash.
    Connecting HRM with Kuri (not Kurri, he was one of the best ice hockey players in the world :blush:) is not possible.
  • I cannot see My Sleep (No data). I have activated “Use HRM for Sleep Detection” but when went to sleep I did nor activate the DND on my MiBand 4. Must I do that?
  • The Steps chart is not showing the steps, only a thick line at the bottom of the chart.
  • The Heartrate chart for the current day is working (VO2 Max is 0% but that my fault :blush:).
  • The Sports Activities screen seems to be working. I did a workout on the MiBand. After ending it, it was possible to “Download Next Activiti”. I can here see the start time end time and total time. GPS was not active; at the moment it takes a while to activate the GPS.
  • It is not possible to see the previously days Steps and Heartrate and maybe also the Sleep.
  • The main screen seems to work.
  • The “Data Graphs” screen, all the 3 charts works – but in my case from 6:47 to current time. Why not from midnight? It is a very useful screen.

When correcting the above, this app will be extremely useful. If I find further, both now and after upgrade, I will let you know if you like?

I have now been working with the Amarfish for little week. What I have learnt, with referent to my earlier input.

  • It is possible to see the Sleep data. After 5 days of use, it is possible to see the sleep between e.g. Tuesday the 8 and Wednesday the 9, if you have chosen to see Wednesday the 9.
    Nice to change after my opinion: The Deep sleep shows e.g. 0:34 which means you have had a deep sleep for 1 hour and 34 minutes – 0:33 minus 23:00; why not show 1:34 :blush:
  • Nice to change after my opinion: Able to change when to start the sleep.
  • The steps are showed on the main screen but is not transferred correct to the Steps screen/chart.
  • No issue with the start time on the charts :blush:
  • Not able to connect to Kuri.

And one more thing :blush:
Where to find the Kexi database, like to copy the file to my computer.

there used to be a note from Adam recommending to create a symlink to the amazfish.kexi file, but it’s true i can no longer find it.

Anyway, the file is there:



Thanks cartron
I have used Cargo Dock to copy the file.

After looking into the kexi-file I have notice some strange things. More to come after some more testing.

Concerning the Amazfish and Mi Band 4.

There is a transfer issue between the Amazfish and Mi Band 4. What happens is that data for exactly 1 hour, maybe 12 or 16 or 18 times a day are not stored in the KEXI-database. The main screen with connection info, steps and heartrate looks like working fine.

So – the connection between Amazfish and Mi Band 4 is OK, and the transfer of steps and heartrate works fine to the maim screen; the issue is that these data is not stored in the KEXI-database.

Yesterday I was doing some sport for 1 hour and 15 minutes and here the issue started 5 minutes in the sport activity, so I was only able to se the heartrate for the first 5 minutes and the last 10 minutes.

This issue result in, that all the charts (Step, Sleep and Heartrate) are not usable cause of these many 1 hour dropout.

Hi Again :blush:

I have found out what cause the non-registration of data for 1 hour in the kexi-databse. Not what’s wrong with the codes, but what action on the Mi Band 4/App that cause it.

Every time you choose to take a download from the App, there will be no registration of data to the kexi.database for the next 1 hour.

This means, to get the best out of the App Amazfish, I think I will only once Pr. day download data and that will be 1 hour before 11 o-clock in the evening. I that case the sleep will be monitored correct and I will miss only 1 hour of data pr. day.

Remember to turn of the “Sync activity data each hour” in the setting menu.

hum not sure i experienced this issue - maybe worth opening an issue on Github?


Try to go to the Heartrate screen and look at different days, If you see different thickness of the pillars then you sure have the issue.

Its quite possible that the data format changed on the band4. I have the same issue in the GTS and the 0.9 firmware, as they added a PAI function. I have a fix, just havnt had time! Currently, the fix is only for the GTS, ill have to see if it affects other devices. And also bear in mind that ive never tested against any of the bands, really, youre lucky it works at all :wink:

I can understand that :slight_smile:

In a world like this we are all testers and hopefully there is a fix to solve the issue :sun_with_face:

Hi Piggz

Do you have some documentation on what the difference numbers in “Activity Kind” stands for?
I’m right now working on an Excel.

1 Like


If you like, you can find a copy of my not finish Excel book on the below link:

Please do the following to get the data into the Excel.

  1. Copy the amazfish.kexi file to the computer.
  2. Open the database with the KEXI program.
  3. Right click on the database and choose Export.
  4. Click Copy.
  5. Open the Excel and paste the data in cell A1, sheet Data
  6. Open Sheet Charts where you can change the year, month and date.
  7. For Sleep charts see Sheet Sleep. Data goes from 12 midday to 12 midday next day.
1 Like


Lately I have been looking a bit more into the KEXI data file and can now see what piggz meant by “I have an algorithm which seems to work about perfectly for me”. The figures in the KEXI data file do not show directly what kind of sleep you have during the night. There are different figures for sleep such as 112,122,123 and 124 but what the different figures are showing I do not know.

I have just updated my Excel with my way of seeing what kind of sleep you have, by analyzing the pulse and with knowledge from some sleep homepages.

There are some issues, if you are lying down and relaxing the Band think you are sleeping.

As it is now, I’m only updating ones a day since I will lose an hour og data. Sometimes I lose more than 1 hour and do not know why :frowning:

As I can see, the sleeping registration may be different from the different Bands on the marked. To clarify the sleep only from the pulse will never be correct. Having a device around you head measuring the activity “up there”, is the only 100% correct way to do it.

Test of the different Bands/app should include a sleeping test against a correct measurement of your brain activity. That could be fun to see. :blush:

1 Like

It is great that your two great minds work alongside each other on this! Would love to have a working native app for my miband 4 (thinking about getting mi band 5 soon).

For right now I had to go back to using “mi band notifications and…” app. Too many features on my Mi band 4 are not working on Amazfish.