KNX2 ThingHandler.dispose NPE

OH2.4.0 Snapshot Build #1292
org.openhab.binding.knx binding Build # 2.4.0.201805280907 (KNXv2)

short version of the issue: When editing KNX.things with OH2 running and then saving the file, I get NPE: An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@77cdb3b5': null (One entry for every Thing defined)

With the following /etc/openhab2/things/KNX.things:

Bridge	knx:ip:GIRA2167 "GIRA KNX/IP Router" @ "KNX" [
	type="ROUTER",
	ipAddress="224.0.23.12",
	portNumber=3671,
	localIp="172.16.13.100",
	readingPause=50,
	responseTimeout=10,
	readRetriesLimit=3,
	autoReconnectPeriod=1,
	localSourceAddr="1.2.200" ]
	{
		Thing device GW90741_1 "Switch Actuator 1" @ "KNX" [ address="1.1.1", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_11		"Channel 1.1"		[ ga="1/0/8+<1/2/8" ]
			Type	switch	:	Ch_12		"Channel 1.2"		[ ga="1/0/9+<1/2/9" ]
			Type	switch	:	Ch_13		"Channel 1.3"		[ ga="1/0/10+<1/2/12" ]
			Type	switch	:	Ch_14		"Channel 1.4"		[ ga="1/0/11+<1/2/11" ]
		}
		Thing device GW90741_2 "Switch Actuator 2" @ "KNX" [ address="1.1.2", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_21		"Channel 2.1"		[ ga="1/0/6+<1/2/6" ]
			Type	switch	:	Ch_22		"Channel 2.2"		[ ga="1/0/7+<1/2/7" ]
			Type	switch	:	Ch_23		"Channel 2.3"		[ ga="1/0/1+<1/2/1" ]
			Type	switch	:	Ch_24		"Channel 2.4"		[ ga="1/0/2+<1/2/2" ]
		}
		Thing device GW90741_3 "Switch Actuator 3" @ "KNX" [ address="1.1.3", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_31		"Channel 3.1"		[ ga="1/0/3+<1/2/3" ]
			Type	switch	:	Ch_32		"Channel 3.2"		[ ga="1/0/4+<1/2/4" ]
			Type	switch	:	Ch_33		"Channel 3.3"		[ ga="1/0/5+<1/2/5" ]
			Type	switch	:	Ch_34		"Channel 3.4"		[ ga="1/0/14+<1/2/14" ]
		}
		Thing device GW90741_4 "Switch Actuator 4" @ "KNX" [ address="1.1.4", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_41		"Channel 4.1"		[ ga="1/0/12+<1/2/12" ]
			Type	switch	:	Ch_42		"Channel 4.2"		[ ga="1/0/13+<1/2/13" ]
			Type	switch	:	Ch_43		"Channel 4.3"		[ ga="1/0/14+<1/2/14" ]
			Type	switch	:	Ch_44		"Channel 4.4"		[ ga="1/0/15+<1/2/15" ]
		}
		Thing device GW90741_5 "Switch Actuator 5" @ "KNX" [ address="1.1.5", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_51		"Channel 5.1"		[ ga="1/0/16+<1/2/16" ]
			Type	switch	:	Ch_52		"Channel 5.2"		[ ga="1/0/17+<1/2/17" ]
			Type	switch	:	Ch_53		"Channel 5.3"		[ ga="1/0/18+<1/2/18" ]
			Type	switch	:	Ch_54		"Channel 5.4"		[ ga="1/0/19+<1/2/19" ]
		}
		Thing device GW90741_6 "Switch Actuator 6" @ "KNX" [ address="1.1.6", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_61		"Channel 6.1"		[ ga="1/1/0+<1/2/20" ]
			Type	switch	:	Ch_62		"Channel 6.2"		[ ga="1/1/1+<1/2/21" ]
			Type	switch	:	Ch_63		"Channel 6.3"		[ ga="1/1/2+<1/2/22" ]
			Type	switch	:	Ch_64		"Channel 6.4"		[ ga="1/1/9+<1/2/29" ]
		}
		Thing device GW90741_7 "Switch Actuator 7" @ "KNX" [ address="1.1.7", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_71		"Channel 7.1"		[ ga="1/1/3+<1/2/23" ]
			Type	switch	:	Ch_72		"Channel 7.2"		[ ga="1/1/4+<1/2/24" ]
			Type	switch	:	Ch_73		"Channel 7.3"		[ ga="1/1/7+<1/2/27" ]
			Type	switch	:	Ch_74		"Channel 7.4"		[ ga="1/1/8+<1/2/28" ]
		}
		Thing device GW90741_8 "Switch Actuator 8" @ "KNX" [ address="1.1.8", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_81		"Channel 8.1"		[ ga="1/1/10+<1/2/30" ]
			Type	switch	:	Ch_82		"Channel 8.2"		[ ga="1/1/11+<1/2/31" ]
			Type	switch	:	Ch_83		"Channel 8.3"		[ ga="1/1/12+<1/2/32" ]
			Type	switch	:	Ch_84		"Channel 8.4"		[ ga="1/1/13+<1/2/33" ]
		}
		Thing device GW90741_9 "Switch Actuator 9" @ "KNX" [ address="1.1.9", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	switch	:	Ch_91		"Channel 9.1"		[ ga="1/1/5+<1/2/25" ]
			Type	switch	:	Ch_92		"Channel 9.2"		[ ga="1/1/6+<1/2/26" ]
			Type	switch	:	Ch_93		"Channel 9.3"		[ ga="1/0/35+<1/2/35" ]
			Type	switch	:	Ch_94		"Channel 9.4"		[ ga="1/0/36+<1/2/36" ]
		}
		Thing device GW90857_10 "Shutter Actuator 10" @ "KNX" [ address="1.1.10", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	rollershutter :	Ch_101		"Channel 10.1"		[ upDown="2/1/0", stopMove="2/1/1", position="2/3/10+<2/2/10" ]
			Type	rollershutter :	Ch_102		"Channel 10.2"		[ upDown="2/1/2", stopMove="2/1/3", position="2/3/12+<2/2/12" ]
			Type	rollershutter :	Ch_103		"Channel 10.3"		[ upDown="2/1/4", stopMove="2/1/5", position="2/3/14+<2/2/14" ]
			Type	rollershutter :	Ch_104		"Channel 10.4"		[ upDown="2/1/6", stopMove="2/1/7", position="2/3/16+<2/2/16" ]
		}
		Thing device GW90857_11 "Shutter Actuator 11" @ "KNX" [ address="1.1.11", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	rollershutter :	Ch_111		"Channel 11.1"		[ upDown="2/1/8", stopMove="2/1/9", position="2/3/18+<2/2/18" ]
			Type	rollershutter :	Ch_112		"Channel 11.2"		[ upDown="2/0/0", stopMove="2/0/1", position="2/3/0+<2/2/0" ]
			Type	rollershutter :	Ch_113		"Channel 11.3"		[ upDown="2/0/2", stopMove="2/0/3", position="2/3/2+<2/2/2" ]
			Type	rollershutter :	Ch_114		"Channel 11.4"		[ upDown="2/0/4", stopMove="2/0/5", position="2/3/4+<2/2/4" ]
		}
		Thing device GW90857_12 "Shutter Actuator 12" @ "KNX" [ address="1.1.12", fetch=false, pingInterval=600, readInterval=0 ]
		{
			Type	rollershutter :	Ch_121		"Channel 12.1"		[ upDown="2/0/6", stopMove="2/0/7", position="2/3/6+<2/2/6" ]
			Type	rollershutter :	Ch_122		"Channel 12.2"		[ upDown="2/0/8", stopMove="2/0/9", position="2/3/8+<2/2/8" ]
		}
		Thing device PM30D01_C "3P Energy Meter Current" @ "KNX" [ address="1.1.32", fetch=false, pingInterval=600, readInterval=10 ]
		{
			Type	number	:	Ch_CL1		"Channel CL1"		[ ga="14.019:<3/1/1" ]
			Type	number	:	Ch_CL2		"Channel CL2"		[ ga="14.019:<3/1/2" ]
			Type	number	:	Ch_CL3		"Channel CL3"		[ ga="14.019:<3/1/3" ]
		}
		Thing device PM30D01_V "3P Energy Meter Voltage" @ "KNX" [ address="1.1.32", fetch=false, pingInterval=600, readInterval=300 ]
		{
			Type	number	:	Ch_VL1N		"Channel VL1N"		[ ga="14.028:<3/2/1" ]
			Type	number	:	Ch_VL2N		"Channel VL2N"		[ ga="14.028:<3/2/2" ]
			Type	number	:	Ch_VL3N		"Channel VL3N"		[ ga="14.028:<3/2/3" ]
			Type	number	:	Ch_VL12		"Channel VL12"		[ ga="14.028:<3/2/4" ]
			Type	number	:	Ch_VL23		"Channel VL23"		[ ga="14.028:<3/2/5" ]
			Type	number	:	Ch_VL31		"Channel VL31"		[ ga="14.028:<3/2/6" ]
		}
		Thing device PM30D01_P "3P Energy Meter Power" @ "KNX" [ address="1.1.32", fetch=false, pingInterval=600, readInterval=300 ]
		{
			Type	number	:	Ch_ACPSum	"Channel ACPSum"	[ ga="14.056:<3/3/1" ]
			Type	number	:	Ch_ACPL1	"Channel ACPL1"		[ ga="14.056:<3/3/2" ]
			Type	number	:	Ch_ACPL2	"Channel ACPL2"		[ ga="14.056:<3/3/3" ]
			Type	number	:	Ch_ACPL3	"Channel ACPL3"		[ ga="14.056:<3/3/4" ]
			Type	number	:	Ch_APPSum	"Channel APPSum"	[ ga="14.056:<3/3/5" ]
			Type	number	:	Ch_APPL1	"Channel APPL1"		[ ga="14.056:<3/3/6" ]
			Type	number	:	Ch_APPL2	"Channel APPL2"		[ ga="14.056:<3/3/7" ]
			Type	number	:	Ch_APPL3	"Channel APPL3"		[ ga="14.056:<3/3/8" ]
			Type	number	:	Ch_RPSum	"Channel RPSum"		[ ga="14.056:<3/3/9" ]
			Type	number	:	Ch_RPL1		"Channel RPL1"		[ ga="14.056:<3/3/10" ]
			Type	number	:	Ch_RPL2		"Channel RPL2"		[ ga="14.056:<3/3/11" ]
			Type	number	:	Ch_RPL3		"Channel RPL3"		[ ga="14.056:<3/3/12" ]
			Type	number	:	Ch_PFSum	"Channel PFSum"		[ ga="14.056:<3/3/13" ]
			Type	number	:	Ch_PFL1		"Channel PFL1"		[ ga="14.056:<3/3/14" ]
			Type	number	:	Ch_PFL2		"Channel PFL2"		[ ga="14.056:<3/3/15" ]
			Type	number	:	Ch_PFL3		"Channel PFL3"		[ ga="14.056:<3/3/16" ]
		}
		Thing device PM30D01_E "3P Energy Meter Energy" @ "KNX" [ address="1.1.32", fetch=false, pingInterval=600, readInterval=300 ]
		{
			Type	number	:	Ch_AEISum	"Channel AEISum"	[ ga="13.010:<3/4/1" ]
			Type	number	:	Ch_AEIL1	"Channel AEIL1"		[ ga="13.010:<3/4/2" ]
			Type	number	:	Ch_AEIL2	"Channel AEIL2"		[ ga="13.010:<3/4/3" ]
			Type	number	:	Ch_AEIL3	"Channel AEIL3"		[ ga="13.010:<3/4/4" ]
			Type	number	:	Ch_AEESum	"Channel AEESum"	[ ga="13.010:<3/4/5" ]
			Type	number	:	Ch_AEEL1	"Channel AEEL1"		[ ga="13.010:<3/4/6" ]
			Type	number	:	Ch_AEEL2	"Channel AEEL2"		[ ga="13.010:<3/4/7" ]
			Type	number	:	Ch_AEEL3	"Channel AEEL3"		[ ga="13.010:<3/4/8" ]
			Type	number	:	Ch_REISum	"Channel REISum"	[ ga="13.012:<3/4/9" ]
			Type	number	:	Ch_REIL1	"Channel REIL1"		[ ga="13.012:<3/4/10" ]
			Type	number	:	Ch_REIL2	"Channel REIL2"		[ ga="13.012:<3/4/11" ]
			Type	number	:	Ch_REIL3	"Channel REIL3"		[ ga="13.012:<3/4/12" ]
			Type	number	:	Ch_REESum	"Channel REESum"	[ ga="13.012:<3/4/13" ]
			Type	number	:	Ch_REEL1	"Channel REEL1"		[ ga="13.012:<3/4/14" ]
			Type	number	:	Ch_REEL2	"Channel REEL2"		[ ga="13.012:<3/4/15" ]
			Type	number	:	Ch_REEL3	"Channel REEL3"		[ ga="13.012:<3/4/16" ]
		}
		Thing device PM30D01_F "3P Energy Meter Frequency" @ "KNX" [ address="1.1.32", fetch=false, pingInterval=600, readInterval=300 ]
		{
			Type	number	:	Ch_FR		"Channel FR"		[ ga="14.033:<3/5/1" ]
		}
	}

Everything works fine under normal operations.

When I edit the file (using vi) and change a parameter (e.g. readInterval) and save it, the following errors pop up in openhab.log

2018-05-31 09:28:16.292 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@77cdb3b5': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.298 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_1': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.302 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@2e106e9f': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.303 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_2': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.305 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@6a4f2e3a': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.305 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_3': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.310 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@276989ed': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.311 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_4': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.315 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@3d23d6ae': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.316 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_5': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.320 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@10ea3303': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.320 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_6': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.323 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.dispose()' on 'org.openhab.binding.knx.internal.handler.DeviceThingHandler@347f1da': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
2018-05-31 09:28:16.324 [ERROR] [ome.core.thing.internal.ThingManager] - Exception occurred while disposing handler of thing 'knx:device:GIRA2167:GW90741_7': null
java.lang.NullPointerException: null
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.detachFromClient(AbstractKNXThingHandler.java:208) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at org.openhab.binding.knx.handler.AbstractKNXThingHandler.dispose(AbstractKNXThingHandler.java:133) [222:org.openhab.binding.knx:2.4.0.201805280907]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201805241348]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]

[...] One entry for every Thing defined [...]

2018-05-31 09:28:16.395 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'KNX.things'
2018-05-31 09:28:17.586 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'KNX.things'

I am not sure if there is an error in my configs or this is a bug of the binding and deserves a github issue…
Anyone else seeing the same NPE when modifying the *.things file on a live system to change some KNX parameters?

I am experiencing exactly the same behaviour so you’re not alone.

Br, Chris.

1 Like

Here we go :slight_smile:

Interesting to see that you have been able to define things with an underscore („_“) in the name. All Items I had defined with this didn‘t get loaded at all. After removing the underscore, they got loaded as expected…