haklein / soehnle-webconnect-dataservice

This php script attempts to emulate the terminated Soehnle/Leifheit data service for the Webconnect body scales like the 063340
MIT License
1 stars 1 forks source link

Analysis support #1

Open tbertels opened 3 years ago

tbertels commented 3 years ago

I have access to a Soehnle Web Connect Analysis (product number 063340) and to a Soehnle Body Balance Comfort F5, so I could compare the values to try and discover a pattern. I just need a cable to power the box of the 063340.

But does the scale do the analysis locally (like the Body Balance Comfort F5,) or does it just send the resistance values to the server and receives the results? What does the data sent look like?

haklein commented 3 years ago

It just sends the resistance values. Nothing is calculated locally. Here are some samples: 24e4e4090672a961020200d88601b809c4ebba299a10e10fb50000000000514b3131 24e4e4090672a961020200d88601b809c4f3f91536000000000000000000365387a3 24e4e4090672a961020200d88601b809c49c5214f0000000000000000000a29b39f8 24e4e4090672a961020200d88601b809c50e60154a000000000000000000ebed82a3 24e4e4090672a961020200d88601b809c50f28154000000000000000000017360ae1 24e4e4090672a961020200d88601b809c4fb37154a00000000000000000039b03ad6 24e4e4090672a961020200d88601b809c51f371554000000000000000000f3f8ff24 24e4e4090672a961020200d88601b809c5034d298610c813510000000000fecb4ccd 24e4e4090672a961020200d88601b809c4fcc4150e000000000000000000e081a7b0 24e4e4090672a961020200d88601b809c4de0a14f0000000000000000000453d31ea

tbertels commented 3 years ago

Thanks!

I've been researching a little bit about BIA equations and I've checked the frequencies used by the Soehnle Body Balance Comfort F5 63687 (type 7351) with an old analog oscilloscope.

The Comfort F5 uses two frequencies: around 53.33 kHz and around 6.15 kHz. These are estimates, the first one has a 75 ms interval in the x4 setting, or 18.75 ms -> 1000/18.75 = 53.33 kHz. The second one has a 650 ms interval in the x4 setting, so 162.5 ms -> 1000/162.5 = 6.15 kHz. Looking at the frequencies listed in the latest NHANES Bioelectrical Impedance Analysis data info, I wonder if the 53.33 kHz couldn't actually be 54 kHz. Though these were measured with a hands and feet Bio-Impedance Spectrum Analyzer and only covers 8-49 years old. So I'm not sure if Soehnle used that data at all.

I'm hoping to be able to check the frequencies of the 063340 in a little less than two weeks.

About the data you sent above, and based on the code, we can start from what is known:

24e4e4090672a961020200d88601b809c50e60154a000000000000000000ebed82a3
-- [data_id] (24)
  ------------ [mac] (e4e4090672a9)
              ------ [id1] (610202)
                    ------ [id2] (00d886)
                                      ---- [weight] (154a)

which leaves

                          ------------ (01b809c50e60)

                                          -------------------------- (000000000000000000ebed82a3)

We can actually remove 01b809c from the useful data.

That leaves us with the useful data (the second group being the weight):

4ebba 299a 10e10fb50000000000514b3131
4f3f9 1536 000000000000000000365387a3
49c52 14f0 000000000000000000a29b39f8
50e60 154a 000000000000000000ebed82a3
50f28 1540 00000000000000000017360ae1
4fb37 154a 00000000000000000039b03ad6
51f37 1554 000000000000000000f3f8ff24
5034d 2986 10c813510000000000fecb4ccd
4fcc4 150e 000000000000000000e081a7b0
4de0a 14f0 000000000000000000453d31ea

I notice those 10e10fb50 and 10c813510. Were these the only weightings with bare feet?

I'm asking that because in decimal, it's 4530961232 and 4504761616. 450 ohms is the average resistance in a study based on foot-to-foot BIA.

Anyway, I found a power adapter for the box of the 063340, so I'll soon be able to get more data. I also found this inside the Comfort F5:

DSC_3010

It's the wireless module that sends the data to the remote screen. I'll connect an Arduino to try and read that data. I'm pretty sure the remote screen receives the weight and does the calculation since that's where we store our sex, age and height. So we could get lucky and get the same kind of data as with the 063340, plus the results on the screen. That should make it easier to try and find the equation(s) used. Though it may not be that easy if we look at these equations.

tbertels commented 3 years ago

I captured more data and I think those first numbers really are the impedances. Four hex numbers per impedance. Here's the data (z = impedance):

weight: 77.6 z1: 463.2 z2: 531.7 - 80792 121814c5000000000005c90fcc
weight: 77.6 z1: 462.2 z2: 528.9 - 492fd 120e14a900000000007a078473
weight: 67.4 z1: 653.4 z2: 733.2 - 493ff 19861ca400000000007f624d9a
weight: 67.4 z1: 654 z2: 733.8 - 4941f 198c1caa0000000000e14e3592
weight: 67.4 z1: 654 z2: 734.9 - 49439 198c1cb50000000000e4c2fbc4
weight: 105.9 z1: 487.4 z2: 576.2 - 4bb65 130a168200000000005262a1c5
weight: 105.9 z1: 493.1 z2: 579.8 - 49373 134316a60000000000f2d5efa7
weight: 105.9 z1: 491 z2: 576.5 - 49391 132e168500000000009cadb022

Heres' with socks:

weight: 105.9 resis1: 0 resis2: 0 - 493d3 0000000000000000007337bb02

The data received when the scale checks the connection to the server has to be removed:

weight: 166.44 resis1: 0 resis2: 0 - 0413a 00000000000000000056673fc6
weight: 0.16 resis1: 0 resis2: 0 - a0000 00000000000000000024fefb55

Based on the manual of the Web Connect Analysis, the frequencies used are 50 and 5 kHz. The Comfort F5 probably uses the same ones, but I'll try and recheck both with an Arduino and FreqCount.

haklein commented 3 years ago

I can attach a digital scope and measure, if you tell me where to put the probes.

tbertels commented 3 years ago

On the Comfort F5, I connected the ground probe to the negative pole of the batteries and the other probe to one of the four metallic plates:

178721-soehnle-body-balance-comfort-f5

Even though it's glass on the Web Connect Analysis I still think there's a thin layer of metal on it and we can see it's split in four too. So you can try to put the other probe on one of them:

image

tbertels commented 3 years ago

The best equation I've found as of yet is the one from Segal et al., 1988 from my link above: (0.00132Ht*Ht) + (0.3052BM) – (0.04394R) – 0.1676A) + 22.66827 Ht = height, BM = body mass, R = resistance, A = age, so the sex is not taken into account.

I'll compare the results with the Comfort F5 this week-end.

I'm still not sure which of the two impedance values is measured at 5 KHz / 50 KHz. The way to determine that is two compare the values when weighting normally and when weighting with each hands on each side on both front and back measuring parts. But we have to check in which order the frequencies are used and only put the hands on the scale during one frequency measurement. Then we can check which value changed.