CAN Bus documentation?

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

KWolfe81

Active member
Joined
Nov 26, 2021
Messages
123
Reaction score
26
Location
Issaquah, WA
I know this is suuuper unlikely to happen, but I'm still going to try: can I put in a request for any information about the Command Bus protocol? I see that Carlos indicated that a Hydros Cloud API is on the future features list, but ideally, I'd skip the whole cloud thing and do all my integration locally (alternatively, if the developer API supports local connections, all the better!).
 
Question: would a technical discussion of the CAN bus protocol be permitted on this forum? (to be blunt, I'm talking about information found through reverse engineering).
 
Addendum: I want to be clear about my motivations as this is, understandably a touchy subject. I am attempting to solve the issue of real-time notifications of pump failures - a functionality that was promised with the Wave Engine, but is currently, for whatever reason, not sufficiently implemented. By sniffing the CAN bus traffic, I can obtain the status necessary and have my own microcontroller (ESP32, represent, right Don?) perform the status detection logic & notifications.

I'm not trying to make enemies. I am bought into the Hydros ecosystem and am a believer in the products. I can perform the work above on my own but feel that open systems are the best systems and that others may benefit through the free sharing of information. If the powers that be would prefer to keep information tight, I can respect that here and on other public forums.
 
just know that coralvue reserves the right to change protocol without notice between firmware revisions if needed. so what works now may not work in the future, but DIY stuff is encouraged. Just dont get mad if an update breaks your stuff
 
just know that coralvue reserves the right to change protocol without notice between firmware revisions if needed. so what works now may not work in the future, but DIY stuff is encouraged. Just dont get mad if an update breaks your stuff

Yup, 100% understood, and comes with the territory.
 
Success. 90% of the way there. Reading out pump state over the CAN bus, forwarded to MQTT, read by Home Assistant. Now all I need to do is set the alerts. I decided against blanket posting technical details, but if anyone is curious about how, feel free to ping me.

1709274970375.png
 
Success. 90% of the way there. Reading out pump state over the CAN bus, forwarded to MQTT, read by Home Assistant. Now all I need to do is set the alerts. I decided against blanket posting technical details, but if anyone is curious about how, feel free to ping me.

View attachment 4174
I'd definitely be interested in a technical breakdown of this if you still have it setup. Getting stuff into HA was my end goal anyway.
 
Shared the following in a private conversation, but for ye' who dare venture here from the future:

The hardware is pretty straightforward. You do need to have a collective already established so that the CAN bus is active. Your goal is to spy on these messages. Note: I didn't try to inject/send any messages as that wasn't my goal but should be possible if you can reverse-engineer the protocol enough.

Three pieces:

- Any microcontroller with CAN bus and Wifi peripherals. I'm using an ESP32S2, which I have a bunch of lying around from various projects. Generally, my MCU of choice as it's pretty versatile.
- Buck power adapter to go from Hydros's 24v down to the MCU's power supply (3.3v for the ESP32S2). Example
- CAN bus transceiver. Convert the differential CAN bus signals to appropriate MCU voltage levels. Example

Hydros isn't doing anything special with the CAN bus - it's sending messages at 250kbps. There's a whole bunch of dispirate Message IDs for various IO on each device. Unfortunately, you have to basically guess and figure out what the messages mean through trial/error/observation. I was able to do that by setting pump states and observing what changed but it does take some effort. If you get this far, I'll share what message IDs I found correspond to what message structures. For the most part, fields are sent as either 'int16_t' or 'floats' with various scale factors (e.g. voltage values represented in hundredths of volts).

Also, note: if you change your collective, I'm guessing the message IDs may also switch around on you. The protocol/message structs should be the same, but you may need to remap message IDs to specific IO.

I'll also mention there are some USB CAN bus adapters that'll let you do your reverse engineering on a PC, though unfortunately, many of them are quite expensive (PCAN-USB for example). There may be cheap ones out there, but I didn't bother going that route.
 
Man, I would give my left arm to have Home Assistant Integration with my Collective.
 
Man, I would give my left arm to have Home Assistant Integration with my Collective.
Have been actually making a parts list today for this thread. Was odd to get a reply. I really think that CoralVue is sleeping on how big of a want this is for people. Hydros markets itself on automation and Home Assistant is the leader in it for everything home automation. Having a generic API to where the community can develop on this stuff is going to be what puts the nail in the coffin of any other reef controller company.
 
Have been actually making a parts list today for this thread. Was odd to get a reply. I really think that CoralVue is sleeping on how big of a want this is for people. Hydros markets itself on automation and Home Assistant is the leader in it for everything home automation. Having a generic API to where the community can develop on this stuff is going to be what puts the nail in the coffin of any other reef controller company.

One could easily imagine a separate third-party CANBus module that handles the IO if CoralVue really can't handle the extra bandwidth (from firmware development, to Amazon Webservices, to support, etc) *cough* *cough*
 
One could easily imagine a separate third-party CANBus module that handles the IO if CoralVue really can't handle the extra bandwidth (from firmware development, to Amazon Webservices, to support, etc) *cough* *cough*
I'll send you my address. 👍
 
I would be willing to pay a few hundred bucks for GOOD Home Assistant Integration... I also wish our Hydros systems could run without AWS if necessary... But that's a different story.
 
I would be willing to pay a few hundred bucks for GOOD Home Assistant Integration... I also wish our Hydros systems could run without AWS if necessary... But that's a different story.
Agreed. I wish there was a more open line of communication on if any kind of API is realistically being developed. It's been radio silence for years on the topic.
 
Agreed. I wish there was a more open line of communication on if any kind of API is realistically being developed. It's been radio silence for years on the topic.
I know its on the list of possible future enhancements, but thats all I have heard. I've also heard that list is fairly long and I dont know the priority either. They only have a small dev team and alot of time and effort is focused on new products at the moment like Maven, that I do know.
 
I know its on the list of possible future enhancements, but thats all I have heard. I've also heard that list is fairly long and I dont know the priority either. They only have a small dev team and alot of time and effort is focused on new products at the moment like Maven, that I do know.
Totally makes sense. Hopefully my message comes across more as a kid waiting for someone to tell them when Christmas happens rather than complaining we don't have anything. Having a User Voice style voting system may be beneficial to the CoralVue at some point, but is probably a bit off topic for this thread lol. 😂
 
Back
Top