Homeatic IP GATEWAY-EXTRAS system variable maximum size?

I tried to send a timestamp from openhab to ccu3 to do some more stuff time based on the ccu3 itself and not having openhab to care about this. Therefore I want to send a pure number (unix timestamp) from obenhab to ccu3. During testing I found out that there is an interesting behaviour as soon as I exceed a specific value value. For test purpose I could successfully send the following number from openhab to ccu3:

HomematicIP_Thermostat_Alle_Manual_Mode_Endtime.sendCommand(9999999)

By just adding one more ccu3 is not updateing any more and I get an error log

HomematicIP_Thermostat_Alle_Manual_Mode_Endtime.sendCommand(10000000)
2022-02-15 14:34:16.231 [ERROR] [ternal.handler.HomematicThingHandler] - 
java.io.IOException: 
	at org.openhab.binding.homematic.internal.communicator.CcuGateway.sendScript(CcuGateway.java:223) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.communicator.CcuGateway.sendScriptByName(CcuGateway.java:190) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.communicator.CcuGateway.setVariable(CcuGateway.java:156) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway$1.execute(AbstractHomematicGateway.java:687) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.misc.DelayedExecuter.start(DelayedExecuter.java:65) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.sendDatapoint(AbstractHomematicGateway.java:670) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.communicator.AbstractHomematicGateway.sendDatapoint(AbstractHomematicGateway.java:649) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.handler.HomematicThingHandler.sendDatapoint(HomematicThingHandler.java:364) ~[bundleFile:?]
	at org.openhab.binding.homematic.internal.handler.HomematicThingHandler.handleCommand(HomematicThingHandler.java:340) [bundleFile:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
	at org.openhab.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [bundleFile:?]
	at com.sun.proxy.$Proxy1091.handleCommand(Unknown Source) [?:?]
	at org.openhab.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:80) [bundleFile:?]
	at org.openhab.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:48) [bundleFile:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
	at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
	at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
	at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: com.thoughtworks.xstream.io.StreamException: 
	at com.thoughtworks.xstream.io.xml.StaxReader.pullNextEvent(StaxReader.java:74) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxReader.<init>(StaxReader.java:45) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createStaxReader(StaxDriver.java:173) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createReader(StaxDriver.java:92) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1261) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1252) ~[bundleFile:1.4.18]
	at org.openhab.binding.homematic.internal.communicator.CcuGateway.sendScript(CcuGateway.java:221) ~[bundleFile:?]
	... 27 more
Caused by: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
 at [row,col {unknown-source}]: [1,0]
	at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:701) ~[?:?]
	at com.ctc.wstx.sr.BasicStreamReader.handleEOF(BasicStreamReader.java:2235) ~[?:?]
	at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2141) ~[?:?]
	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1180) ~[?:?]
	at com.thoughtworks.xstream.io.xml.StaxReader.pullNextEvent(StaxReader.java:58) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxReader.<init>(StaxReader.java:45) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createStaxReader(StaxDriver.java:173) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.io.xml.StaxDriver.createReader(StaxDriver.java:92) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1261) ~[bundleFile:1.4.18]
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1252) ~[bundleFile:1.4.18]
	at org.openhab.binding.homematic.internal.communicator.CcuGateway.sendScript(CcuGateway.java:221) ~[bundleFile:?]
	... 27 more

Relevant part of item file

Number                  HomematicIP_Thermostat_Alle_Manual_Mode_Endtime      "Thermostat_Alle_Manual_Mode_Endtime"                                                                              {channel="homematic:GATEWAY-EXTRAS-CCU3:ccu3:GWE00000000:1#Thermostat_Alle_Manual_Mode_Endtime"}

CCU3 variable definition for completeness

Looks like some limitation on the number from openhab to ccu3. Is this known and on purpose? Happy to help bugfixing if this is a not expected behavior. Otherwise: Any suggestion how to transfer a unix timestamp from openhab to ccu3 then?

Thanks and best

When changing the number on CCU side, Opehab gets the update accordingly.

Really looks like a bug.
See also issue on github: https://github.com/openhab/openhab-addons/issues/12301

Tested successfully with the fix. Thank you!

1 Like