Jalle19 / eda-modbus-bridge

An HTTP/MQTT bridge for Enervent EDA ventilation units
GNU General Public License v3.0
14 stars 3 forks source link

Holding registers 3x0051 and 3x0052 #112

Closed pkuronen22 closed 4 months ago

pkuronen22 commented 4 months ago

These are fan speed controls for in and out air fans. They work with my 2014 Enervent Pingvin EDE but are not included in this project and according to documentation these are not supported. For some reason they work with my model which is just a basic EDE with heating coils.

Example commands with modbus-cli using cheap Waveshare TCP-RTU bridge:

Can you include these in your implementation? Thanks for your efforts for this!

Jalle19 commented 4 months ago

I haven't tested these myself, I've only tested that register 53 doesn't work.

Out of curiosity, what software/firmware version does your Pingvin have?

pkuronen22 commented 4 months ago

I tried reading 3x599 for firmware version but got something like "5" as answer. How to get the firmware version properly?

Request: Could you include 3x0051 and 3x0052 fresh / waste air adjustment of 20-100 to the integration?

Using modbus home assistant integration seems to not know how to do it straight. Have no idea someone decided to define the registry interactions with such manner where you can only write temperatures or some fan buttons. Command line script modbus-cli integration would work better than home assistant modbus integration in this case.

Jalle19 commented 4 months ago

Register 599 should give you a three-digit number, which you then divide by 100 to get the firmware version. You can also check it from your device's control panel, if you have one with a display.

pkuronen22 commented 4 months ago

I got 558 so is it 5.58 then.

modbus 192.168.xx.xx 599 -s 1
Parsed 0 registers definitions from 1 files
599: 558 0x22e

Edit: i am using waveshare rs485 to tcp rail mountable converter. Just to let you know.

pkuronen22 commented 4 months ago

I got 558 so is it 5.58 then.

modbus 192.168.xx.xx 599 -s 1 Parsed 0 registers definitions from 1 files 599: 558 0x22e

Edit: i am using waveshare rs485 to tcp rail mountable converter. Just to let you know.

I got supply and waste air working using automation call service modbus but if you can include them in the integration it would be most useful. Thanks :)

Jalle19 commented 4 months ago

I'll see what I can do, I've been reluctant exposing settings that can let the user screw up their ventilation completely (e.g. by accidentally configuring a constant over-pressure), but I can definitely see why these would be useful to have. It's a shame there's no register for controlling the fan speed easily like on the control panels.

pkuronen22 commented 4 months ago

I'll see what I can do, I've been reluctant exposing settings that can let the user screw up their ventilation completely (e.g. by accidentally configuring a constant over-pressure), but I can definitely see why these would be useful to have. It's a shame there's no register for controlling the fan speed easily like on the control panels.

Quite understandable. I will check up on here if you manage to do it. Meanwhile I will screw up my system with my own glue.

Jalle19 commented 4 months ago

I experimented with these registers a bit today. Changing the ventilation level from the control panel doesn't change the values of registers 51 and 52. Changing register 53 changes what the control panel displays, but not the actual ventilation level.

I'm reluctant to expose registers 51 and 52 since AFAICT they should only be adjusted when the unit is commissioned, not during normal operation. If you figure out a way to make changes to register 53 "stick", i.e. emulate whatever the control panel is doing, let me know.

pkuronen22 commented 3 months ago

I misled you here unintentionally. Found it out myself too that 51 and 52 control the relative percentages of waste and fresh air while 53 controls the overall air volume. Would be more logical to have one register for "balance" only as the air volume literally seems to go down when you increase 51 or 52 while 53 is at 100.

I am considering implementing 51-52 with one slider and 53 will be the master slider.

The 53 is working normally as expected using the Waveshare RTU-Ethernet din module. I made a helper number limited between 20-100 and adjusting that triggers an automation that calls modbus service holding reg 53 with the helper input number value.

pkuronen22 commented 3 months ago

Sorry for crawling the topic a bit here but I stuck a RS485 dongle to my 2004 Enervent AC Pingvin RS485 port. I am getting definately data from there but so far nothing that makes sense. If you have any leads on any of it I would be grateful of that. I have read in a taloLogger thread that some old models may be using modbus but timings are not same but using some kind of "stream" mode and detecting modbus frames from the stream of data might work.

Jalle19 commented 3 months ago

The symptoms you describe sounds like what happens when you try to connect via the OP1 and OP2 ports instead of the Freeway port. But the unit could definitely just be too old, the earlist register lists I've used as reference have been dated ~2009.