Comments (9)
Great, could you give me your modbus version?
from nilan.
Sorry, forgot that bit - version 21. Thanks!
from nilan.
Seems like the issue is with modbus version 21 devices. The registers are there, but don't return any value. It is not the first time modbus version 21 is being a problem.
Since there is only one occurance of each error, can you check if you have any unavailable entities?
from nilan.
No unavailable entities, and no entities named something like the list I added above - it maybe seems that it tries to create them and couldn't, so errored?
Thanks for your help with this one - appreciate it!
from nilan.
I've encoutered the same issue (see #78). I've traced the uncreated entities to these register definitions:
CTS602HoldingRegisters.air_temp_heat_select 1209
CTS602HoldingRegisters.central_heat_heat_select 1801
CTS602HoldingRegisters.central_heat_heat_type 1807
CTS602HoldingRegisters.air_flow_inlet_min 4015
CTS602HoldingRegisters.air_flow_exhaust_min 4016
CTS602HoldingRegisters.air_flow_exhaust_max 4017
CTS602HoldingRegisters.air_temp_temp_min_cpr 1502
CTS602HoldingRegisters.air_temp_cpr_restart 1503
CTS602HoldingRegisters.central_heat_reg_time 1808
They all seem to be (newer?) registers that aren't present on our devices (or firmware versions). A quick fix could be of course to just in device.py
change all of the if result is not None
to sth like if result is not None and len(result.registers) > 0
.
Alternatively, that check could pushed down into a small helper function that wraps self._modbus.async_pymodbus_call
, so it need not be repeated all over.
from nilan.
The problem is either: 1. Your device model does not support these functions, which is an easy fix or 2. Your modbus version does not support these functions, which is more complicated since...
... I designed the software thinking register capabilities are compounding compared to modbus version. Modbus 20 and 21 seem to be outliers since it is where Nilan changed to HMI panel type. 19 is the newest for the old panels and 22 is the newest ive encountered for the touch panel. 19 and 22 have pretty much all functionality available.
This will take time to figure out since Im on a long business trip and dont have access to a developement environment.
from nilan.
Also modbus should not be able to return an empty register. This might be an issue with the newer pymodbus which also needs investigation.
It should give a register not found error.
from nilan.
Fair enough :)
I might be leaning towards your explanation (2), since a cursory glance at the options that are available in the (user) menu on my touch control panel don't really relate to the register names here. However, they might be locked under factory/installer settings though, which has some sort of "password" on it that I don't know... and the guys that installed it years ago of course no longer exist... 🙈
Either way, feel free to let it sit for a while, since the important part is working. The integration accepts changes fine, too (now automating Nilan to do extra cooling when our solar cells have excess power).
from nilan.
On cts602 no registers require a password. Only if you access them via the hmi panel. The password for service settings is 2.
I cannot remember the installer password but it was written in some forum. There is nothing you should change so better to not go there, device breaking stuff.
from nilan.
Related Issues (20)
- If connection fails during setup, integration must be reloaded
- Add support for VGU180 EK HOT 4
- Add support for Nilan CompactS HOT 3
- Fan mode missing from automation actions HOT 2
- Nilan Compact P Air 9 support
- CTS700 on a Compact P HOT 2
- Latest update created orphaned device HOT 6
- Can't initialize integration after 2024.4 HOT 8
- Could not read errors - poss since 1.2.14 HOT 11
- Elfin EW11 HOT 2
- Modbus Error: [Connection] Not connected[AsyncModbusTcpClient 192.168.68.122:502] HOT 1
- 1.2.15 causes MODBUS communication to fail HOT 2
- Could not exclusively lock port /dev/ttyUSB0 HOT 1
- Failed to call service HOT 1
- Home Assistant 2023.9 broke Nilan integration - "Failed to set up"
- Doesn't work with 2023.9? HOT 1
- Issues with 2023.9.0 and 2023.9.1 Core update HOT 1
- Feature request - NILAN Gateway integration directly? HOT 1
- Set Fan Level
- Central heating control HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nilan.