Closed juntta closed 11 months ago
Do you have any analog sensors/inputs? It will be hard to implement them correctly without someone who can verify the values.
The rest of the readings should be straight-forward to implement. I'm thinking the fan speed values could be exposed to Home Assistant as disabled by default sensors, since one is not supposed to change them nilly willy.
I have 6 analog sensors: 2 co2's, 2 temperature and 2 humidity. So glad to help with this one too.
I think I saw somewhere in the registry spreadsheet that register values 1-50 are read-only values so disabled sensors sounds like smart move. As well as reserved ones too, since there was some cautionary text about changing those too.
It seems my machine was configured to have two RH sensors and two CO2 sensors, although none of those are actually present so the values reported have been 0 :shrug:
Can you try the https://github.com/Jalle19/eda-modbus-bridge/tree/more-sensors branch? If you enable debug logging (-v
or --debug
) it should log something like this when it retrieves the readings:
2023-09-11T11:21:02.258Z [modbus] debug: AI sensor types:
{
data: [ 0, 0, 0, 0, 0, 0 ],
buffer: Buffer(12) [Uint8Array] [
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0
]
}
2023-09-11T11:21:02.290Z [modbus] debug: Reading holding register address 23, length 6
2023-09-11T11:21:02.322Z [modbus] debug: Reading holding register address 511, length 7
2023-09-11T11:21:02.322Z [modbus] debug: AI sensor values:
{
data: [ 0, 0, 0, 0, 0, 0 ],
buffer: Buffer(12) [Uint8Array] [
0, 0, 0, 0, 0,
0, 0, 0, 0, 0,
0, 0
]
}
2023-09-11T11:21:02.323Z [modbus] debug: AI sensor readings:
{}
In your case there should be something other than zeroes everywhere.
I also added roomTemperatureAvg
, for me it reports 0 since I don't have any room temperature sensors (and despite what they say, OP1 doesn't seem to actually report any values).
Thanks, I’ll try to test this tonight
Also fan speed (both supply and exhaust, hreg 3 & 4) seems to be missing
These registers correspond to OP3 and OP4 control panel temperature sensors and are 0 in my case, so I think it doesn't make sense to support these. This is the first time I've seen a discrepancy in the register lists for various devices.
Also fan speed (both supply and exhaust, hreg 3 & 4) seems to be missing
These registers correspond to OP3 and OP4 control panel temperature sensors and are 0 in my case, so I think it doesn't make sense to support these. This is the first time I've seen a discrepancy in the register lists for various devices.
hmm, could it be so that there are different registers for different units (or product families/generations)? Seems like so…
Fan levels are nice to have info so these can be ignored. But if there some important settings in some registers which refer to different place in registers depending about model, could there be different sources (registry listing) for different model? Sounds like a big change… :(
Everything is possible but I would prefer to keep things simple.
Seems to work, mqtt explorer on macOs shows:
Is humidity 2 supposed to be zero?
Good point! Currently sensor is disconnected - second bathroom is under renovation :)
Also fan speed (both supply and exhaust, hreg 3 & 4) seems to be missing
These registers correspond to OP3 and OP4 control panel temperature sensors and are 0 in my case, so I think it doesn't make sense to support these. This is the first time I've seen a discrepancy in the register lists for various devices.
I just compared this older registry file: https://github.com/Jalle19/eda-modbus-bridge/blob/master/docs/EDA_Modbus_Registers_2011_09_14.pdf with the newer models registry: https://github.com/Jalle19/eda-modbus-bridge/blob/master/docs/eAirMD-modbus-register-list-public.xlsx and there definitely are some differences.
F. ex. those fan speeds are at registries 51 &. 52 in the older file and 3 & 4 in the newer. 50-103 are packed with data in the old one and newer one those registries are "reserved" (maybe empty). Lots of other similar differences as well so.
Anyway, most essential registries match with both so I'm happy with these. But if you want and have energy to develop this further, I can help to dig out data and test!
Thank you so far for your great work!
I'll tidy up the support for analog inputs before making a pull request, thanks for testing! I'll have to add plumbing for Home Assistant too so the sensors show up there.
I tested this once more and no issues raised!
It seems there are some sensors data missing (at least from mqtt side) with Pelican HP eAir modbus.
List of findings (source: eAirMD-modbus-register-list-public):
First row is kind of self explanatiory. :) Second: Analog input values are extra sensors (Co2, Humidity and room temperatures)
Also fan speed (both supply and exhaust, hreg 3 & 4) seems to be missing. Although there are eda/readings/ventilationLevelActual and eda/readings/ventilationLevelTarget but they are not the same.