-
Notifications
You must be signed in to change notification settings - Fork 163
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
[ATC] Support 19 byte ATC advertising format on UUID 0x181A #63
Comments
Hi curlyel thanks for this important information. I'll take a look. |
Yes, both share the same UUID, only different data length. The new firmware sends both formats: The initial ATC1441 (16byte) together with the 19 byte per default. The 19 byte format is not well described, just:
So the easiest way would be to simply ignore any 19 byte advertisment or ask @pvvx for a detailed explanation of his custom format. |
Hi curlyel, @ALL: If new format is needed, please provide detailed description of it and then I'll implement. Please notice that temperature output with 2 decimal places bounces a lot, so that would not give much benefits from my point of view. |
Works as expected! Many thanks for looking into it and providing a fix that quickly 👍 Though, I've asked Victor to provide more information about his custom format: pvvx/ATC_MiThermometer#26 (comment)
I'd aggree: The higher "precision" is not a real advantage or even the opposite - as you said ;-) |
Don't rely too much on this values. I've sensor with original firmware which even don't show a weak battery symbol. However when you connect to them, they reboot because battery can't supply enough current/voltage for the more power needed during connection. Are you sure that this battery level is really calculated like the one with original firmware? Author could also make assumptions about voltage range and calculate the battery level a bit different than with original firmware. Also original ATC firmware has precalculated battery level in byte 14. You can see it with |
Mmh... no. ;-)
Just tried: Works with Victor's firmware the same way with the '--battery' option. Many thanks again, happy now ;-) |
Did you try this with Victor's latest firmware? I get no data when running this on v2.0 of his firmware. If I set broadcast atc1441 it works, if set to custom, nothing. What version did you use? |
That's the intended behavior. JsBergbau has filtered out any 19byte (a.k.a. This means, if you set the format to The 19byte Therefore I sticked with |
@curlyel - thanks for info. I misunderstood the post thinking the 19byte custom was implemented. Only reason I was looking at this was to set calibration for a number of devices (i.e. get them as close to each other), but probably not a big benefit if the values bounce a lot. |
The format Victor uses for the 19bytes is as follows:
|
Reopening because of ongoing discussion.... |
Hello, |
can we try the new custom adveritising type with 0.01 resolution ? |
Hi xjustbmw. It it is really important I'll try to find some time and add support for the new format. This is not so trivial because of other features like the skip identical parameter must be taken into account. So if your PID still doesn't react well enough then you can try 0.01 resolution and for accurate values this capacitor is mandatory I would say. Please keep in mind that original firmware in connection mode uses 0.01 resolution. However these values bounce so much that these values weren't really useful for me, see #2 Perhaps with a capacitor the bouncing is gone. Hope to hear from you soon. |
Its perfectly usable at the moment even like this. temperature in room varies + - 0.2 degrees at most I am using an old raspberry pi using your script to inject data into influxdb/mqtt, nodered + tasmota esp8266 + a few pwm servos to control the supply air ventilation flow in each room Adding more stability of the sensors and resolution would be even better, perhaps a little bit of pid tuning as well :) |
Custom format is now supported in latest version v4.0. |
The initial ATC custom firmware from https://github.com/atc1441/ATC_MiThermometer advertises 16 byte data which are decoded by the MiTemperature script correctly.
Meanwhile the original author promotes a fork of his initial work because of some advantages:
This fork advertises in four formats:
Although the firmware has the option to omit some of these, the default would be to advertise all four formats. Since two of them share a single UUID
... the MiTemperature2 script messes up the new 19 byte advertisement which leads to false readings e.g.:
Therefore I suggest to either ignore (filter) the 19 byte advertisement or parse it correctly and introduce an option to choose between the "16 byte low res" and "19 byte hight-res" advertisements.
The text was updated successfully, but these errors were encountered: