Open andibaciu opened 8 months ago
@andibaciu I tried reversing the firmware with Ghidra, with limited success. However, I was able to understand from the binary that the following commands have a description in the firmware:
0x03C4 -> "Read PM Mass concentration, VOC Index, Relative humidity, Temperature"
0x03D2 -> "Read VOC Raw Value"
0x03F5 -> "Read Raw Humidity, Raw Temperature and Delta Temperature"
This info is from some kind of command line interface which exists in the firmware. However, I was not able to use it. It looks like the UART has been disabled, as well as most of the debug feature via SWD.
So you were right: the mystery value is a temperature offset.
Trying to understand the algorithm from the decompiled code was not possible for me. I was also suspecting it has to do with the dew point formula, but I wasn't able to understand the algorithms in the firmware and gave up.
@fenderle , after some tests I stop using dewpoint formula and I use a formula for interpolation. Next link is an ESPEasy plugin for this IKEA Device and on the source code you'll find all the algarithm and formula (search for bool P167_data_struct::calculateValue() function). https://github.com/andibaciu/ESPeasy-plugin-for-IKEA-VINDSTYRKA
Thanks for your research and for your confirmation about my supposition for MYSTERY_WORD!
You can find last version of this plugin (prepared for integration in ESPEasy Project) on this link: https://github.com/letscontrolit/ESPEasy/tree/mega (plugin P167)
Hello, I made some assumptions about the MYSTERY WORD... You have all the data and explanations in the attached xls file. The data are exactly from your logs, for which I thank you once again @just-oblivious All the best!
sen5x_logging_data.xlsx