Thanks, I will revert with more comments next week.
Obviously you should not get crash as you did, so have to improve the error handling the very least (the reason for the crash is invalid configuration, but still)
I need to make sure the addressing is crystal clear (in the docs), and if it is wrong, a helpful message would be shown in paper ui.
EDIT:
I have now improved the error handling and fixed some bugs as well related how the data was extracted from the registers.
I tested with below config with no errors (see the comments for changes compared to your version):
// type uint16 -> holding
Bridge poller Nilan_Holding_Control [ start=1000, length=8, refresh=1002, type="holding" ] {
// changes to data item:
// 1. readValueType holding -> uint16
// 2. writeValueType uint16 -> int16 (same thing when writing)
// 3. absolute addresses (0 -> 1000, 1 -> 1001 etc.)
// 4. writeMultipleEvenWithSingleRegister -> writeMultipleEvenWithSingleRegisterOrCoil
// 5. "true" -> true (should be boolean)
Thing data Nilan_Holding_Control [ readStart="1000", readValueType="uint16", writeStart="1000", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_RunSet [ readStart="1001", readValueType="uint16", writeStart="1001", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_ModeSet [ readStart="1002", readValueType="uint16", writeStart="1002", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_VentSet [ readStart="1003", readValueType="uint16", writeStart="1003", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_TempSet [ readStart="1004", readValueType="uint16", writeStart="1004", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_ServiceMode [ readStart="1005", readValueType="uint16", writeStart="1005", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_ServicePct [ readStart="1006", readValueType="uint16", writeStart="1006", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
Thing data Nilan_Control_Preset [ readStart="1007", readValueType="uint16", writeStart="1007", writeValueType="int16",writeType="holding", writeMultipleEvenWithSingleRegisterOrCoil=true ]
}