Commit e77d124
committed
[ankersolix] Detect illegal data address precisely
Distinguish a genuine protocol-level rejection from a general
communication failure using openHAB Core's public
ModbusSlaveErrorResponseException/ILLEGAL_DATA_ACCESS instead of the
previous ONLINE-status heuristic: a device can only respond with this
exception if it is actually reachable and explicitly rejected the
register, whereas connection/IO failures surface as different
exception types.
Also use maxTries=1 for optional registers, since retrying a
permanently absent register cannot succeed. This reduces the one-time
log footprint from openHAB Core from three lines (two WARN, one ERROR)
to a single ERROR line, directly followed by the binding's own INFO
note explaining the situation.
Update tests and README accordingly.
Signed-off-by: Thorben Grove <moin@thorbengrove.de>1 parent 3273710 commit e77d124
3 files changed
Lines changed: 30 additions & 18 deletions
File tree
- bundles/org.openhab.binding.modbus.ankersolix
- src
- main/java/org/openhab/binding/modbus/ankersolix/internal
- test/java/org/openhab/binding/modbus/ankersolix/internal
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
254 | 254 | | |
255 | 255 | | |
256 | 256 | | |
257 | | - | |
| 257 | + | |
Lines changed: 12 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
151 | 152 | | |
152 | 153 | | |
153 | 154 | | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
154 | 158 | | |
155 | | - | |
| 159 | + | |
156 | 160 | | |
157 | 161 | | |
158 | 162 | | |
| |||
204 | 208 | | |
205 | 209 | | |
206 | 210 | | |
207 | | - | |
208 | | - | |
| 211 | + | |
| 212 | + | |
209 | 213 | | |
210 | | - | |
| 214 | + | |
211 | 215 | | |
212 | 216 | | |
213 | | - | |
214 | | - | |
215 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
216 | 221 | | |
217 | 222 | | |
218 | 223 | | |
| |||
Lines changed: 17 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
304 | 305 | | |
305 | 306 | | |
306 | 307 | | |
307 | | - | |
| 308 | + | |
308 | 309 | | |
309 | 310 | | |
310 | 311 | | |
| |||
317 | 318 | | |
318 | 319 | | |
319 | 320 | | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
| 321 | + | |
| 322 | + | |
326 | 323 | | |
327 | 324 | | |
328 | 325 | | |
329 | 326 | | |
330 | | - | |
331 | | - | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
332 | 330 | | |
333 | | - | |
| 331 | + | |
334 | 332 | | |
335 | 333 | | |
336 | 334 | | |
| |||
449 | 447 | | |
450 | 448 | | |
451 | 449 | | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
452 | 459 | | |
0 commit comments