Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MISTERY WORD #2

Open
andibaciu opened this issue Feb 6, 2024 · 2 comments
Open

MISTERY WORD #2

andibaciu opened this issue Feb 6, 2024 · 2 comments

Comments

@andibaciu
Copy link

andibaciu commented Feb 6, 2024

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

@fenderle
Copy link

fenderle commented Jul 21, 2024

@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.

@andibaciu
Copy link
Author

andibaciu commented Jul 22, 2024

@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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants