-
Notifications
You must be signed in to change notification settings - Fork 11
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
feat(protocol): support atlantic odyssee heatpumps #69
base: main
Are you sure you want to change the base?
Conversation
I completed some data on the protocol table. 194 29 54 2 0 33 0 0 0 0 0 0 0 0 0 0 0 0 43 50 39 7 0 0 0 0 65 66 0 0 50 I think that 217 is also main "233" seems to be the voltage and the "1" after the power in Watt. I will confirm this soon. |
I've added the latest findings based on the document in your branch. Let me know if it works :) |
This is what i found for the byte 2 : off-peak hours Continuous Timer When i actived the super secret menu : And i disconnected the HMI, the 217 line is still here. PS : I will test the mod tomorrow. |
Your mod works in listenner mode. I found this : 193 : Byte 18 : Fan speed : 50 low / 100 high 217 : 217 31 209 0 232 0 230 1 210 0 77 241 88 0 14 1 208 0 0 1 0 0 2 0 0 0 0 0 0 0 0 0 43 194 : 194 29 54 2 0 33 0 0 0 0 0 0 0 0 0 0 0 0 44 50 52 16 0 0 0 0 65 66 0 0 49 Byte 5 : Byte 17 : |
Great news. Just incorporate your findings in the document and I will take care of adding them to the implementation. According to your finding there are many similarities to the NEXT protocol 👍 Regarding the super secret menu / error messages, I need you to go back to AquaDebug once and dump a whole series of messages (.csv) while opening the menu. I need to determine how the HMI is actually requesting errors. Maybe you can also share the amount of errors you have and create a photo of one of the errors shown in the super secret menu. |
super secret menu.csv |
These dumps are perfect 👍 I will add error message handling soon most likely tomorrow evening. Do you have a logic analyzer? To replicate the serial behavior in MITM mode we should use the same timing for the messages. And since there is a new message, I am not sure if the current behavior is still correct. If you don't have one, I might add some code which measures the frequency, but if you have a logic analyzer it would be probably easier... |
Sorry, i don't have a logic analyser. |
No worries, we will get there 👍 |
Are you sure with the values for Boost and Absence? I'd expected something else 🤔
Is there an option to set the number of runs of the anti-legionella mode per month or do you just have switch on/off?
You sure that this is really the voltage of the grid? We never had such thing before, it could be something else?
What is Off-Peak Hours, is that a mode on the same level to Always-On/Timer. Can you share a photo? |
Ok, intresting that there are so many differences between these heatpumps. How old is that machine. Is it from 2024? Actually I implemented and added most of the items from your last comments. Hope it works so far 👍 |
My machine is from 2015. |
🤯 |
It's old but it could be useful to other people who want to automate their old home. |
Yeah, absolutely. I just thought this is next-gen. Instead this is last-gen, but you are right. Do these old heatpumps have the option to use cozytouch? Regarding power consumption: Previous heatpumps had "totalPower" (heatpump and heatelement combined) and "powerHeatpump" and "powerHeatelement". Currently it is not clear if there is "totalPower" or "powerHeatpump" in Byte 5/6 of 217. You may want to run your machine on BOOST to identify it properly. Latest version should have all the things implemented you've provided, except power and grid voltage. Please test :) |
Ah, this looks very well 👍 Actually it is expected behavior: Updates to the MQTT broker are only send in case a value changes. Additionally there is a fixed time value set by
If you want all attributes to be updated every minute, you can set this for exampel to Since backends like homeassistant cache the last value, AquaMQTT does not need to rebroadcast values which haven't changed. Moreover, temperature values are filtered using kalman, so we remove the temperature sensor noise to reduce the amount of updates even more. |
Ok, good! I test boost tomorrow. |
I tested Boost, Byte 5/6 of 217 is totalpower. |
I added some code to determine the timing of the frames. I have not tested this on my heatpump, yet. But in theory, it should provide you frame timings e.g. to If this works, you may want to open the super secret menu once (so we also have the timing of the error message as well) and post a screenshot of MQTT explorer will all the timing values visible. I think I can deduce the message frequency from this information, needed by the MITM mode. Other possibility is a logic analyzer 🤷. But let's try this first, maybe we can get it work without that. |
This PR adds support for the protocol observed within an Calypso Odyssee device #68.
Help
Missing Features / Open Tasks:
How to help?
This branch contains a modified version of AquaMQTT which is meant to be installed in LISTENER mode. It is currently able to identify hmi, main, energy and extra messages from the new protocol #68 . These are provided to mqtt on the three topics:
aquamqtt/hmi/debug
aquamqtt/main/debug
aquamqtt/energy/debug
aquamqtt/extra/debug
aquamqtt/error/debug
The new protocol findings are documented within PROTOCOL_ODYSSEE.md
Tracing
Using the debug python script https://github.com/tspopp/AquaMQTT/blob/main/tools/debug.py you are able to record changing messages over time and identify which location holds what kind of attribute.
Create the python environment
Run the python script
How to help here?