This seemed to work on the first try, then I saw that M4 is out so I decided to give it a try with that one as well - interesting results:
The sendCommand lines now look like this:
BF_Heating_Pump.sendCommand(gHneed.state.toString)
GF_Heating_Pump.sendCommand(GF_Heat_Need.state.toString)
FF_Heating_Pump.sendCommand(FF_Heat_Need.state.toString)
And here are the logs, first time everything looked fine:
...
2020-12-01 09:08:50.624 [INFO ] [org.openhab.ui.internal.UIService ] - Started UI on port 8081
2020-12-01 09:08:50.676 [INFO ] [al.discovery.SoulissGatewayDiscovery] - Starting org.openhab.binding.souliss - Version: 3.0.0.202010181638
2020-12-01 09:08:50.677 [INFO ] [al.discovery.SoulissGatewayDiscovery] - Starting Servers
...
2020-12-01 09:10:03.554 [INFO ] [core.model.script.heating_mode.rules] - Executing 'System started' rule for Heating
2020-12-01 09:32:50.477 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: OFF
2020-12-01 09:32:50.478 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:32:50.479 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: ON
2020-12-01 09:32:50.480 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: OFF
2020-12-01 09:32:50.481 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: ON
2020-12-01 09:32:50.481 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: OFF
2020-12-01 09:32:50.482 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: ON
2020-12-01 09:32:50.526 [INFO ] [liss.handler.SoulissGatewayJobHealty] - Packet Execution timeout - Removed
2020-12-01 09:32:51.537 [INFO ] [liss.handler.SoulissGatewayJobHealty] - Packet Execution timeout - Removed
Then I decided to disable OH2.5 and replace with OH3 now that “everything works” and faced this with M4:
2020-12-01 09:37:45.545 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'heating_mode.rules'
2020-12-01 09:37:46.469 [INFO ] [el.core.internal.ModelRepositoryImpl] - Validation issues found in configuration model 'heating_mode.rules', using it anyway:
There is no context to infer the closure's argument types from. Consider typing the arguments or put the closures into a typed context.
There is no context to infer the closure's argument types from. Consider typing the arguments or put the closures into a typed context.
There is no context to infer the closure's argument types from. Consider typing the arguments or put the closures into a typed context.
...
2020-12-01 09:37:47.462 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.souliss-3.0.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.souliss [208]
Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)"
at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
...
2020-12-01 09:38:52.729 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: NULL
2020-12-01 09:38:52.730 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:38:52.731 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: NULL
2020-12-01 09:38:52.732 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: NULL
2020-12-01 09:38:52.732 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: NULL
2020-12-01 09:38:52.733 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: NULL
2020-12-01 09:38:52.734 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: NULL
2020-12-01 09:38:52.738 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'BF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:38:52.740 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'GF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:38:52.746 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'FF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:38:52.909 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = <redacted>, base URL = http://localhost:8080)
2020-12-01 09:38:52.964 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: NULL
2020-12-01 09:38:52.966 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:38:52.966 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: NULL
2020-12-01 09:38:52.968 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: NULL
2020-12-01 09:38:52.969 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: NULL
2020-12-01 09:38:52.970 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: OFF
2020-12-01 09:38:52.970 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: NULL
2020-12-01 09:38:52.972 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'BF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:38:52.973 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'GF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:38:53.432 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: OFF
2020-12-01 09:38:53.434 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:38:53.436 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: OFF
2020-12-01 09:38:53.437 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: OFF
2020-12-01 09:38:53.438 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: OFF
2020-12-01 09:38:53.439 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: OFF
2020-12-01 09:38:53.440 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: ON
2020-12-01 09:39:02.590 [INFO ] [core.model.script.heating_mode.rules] - Executing 'System started' rule for Heating
Then I decided to roll back to M3 but seems the souliss plugin no longer loads as I got the same error with M3 (souliss controls my relays)
2020-12-01 09:40:12.567 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/openhab/addons/org.openhab.binding.souliss-3.0.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.souliss [208]
Unresolved requirement: Import-Package: org.apache.commons.lang; version="[2.6.0,3.0.0)"
at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
...
2020-12-01 09:41:16.917 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: NULL
2020-12-01 09:41:16.918 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:41:16.919 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: NULL
2020-12-01 09:41:16.920 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: NULL
2020-12-01 09:41:16.922 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: NULL
2020-12-01 09:41:16.923 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: NULL
2020-12-01 09:41:16.924 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: NULL
2020-12-01 09:41:16.926 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'BF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:16.932 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'GF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:16.938 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'FF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:17.064 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: NULL
2020-12-01 09:41:17.065 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:41:17.066 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: NULL
2020-12-01 09:41:17.067 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: NULL
2020-12-01 09:41:17.068 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: NULL
2020-12-01 09:41:17.069 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: OFF
2020-12-01 09:41:17.070 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: NULL
2020-12-01 09:41:17.071 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'BF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:17.073 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'GF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:17.074 [ERROR] [org.openhab.core.items.GenericItem ] - Tried to set invalid state 0.0 (DecimalType) on item gGShutter of type RollershutterItem, ignoring it
2020-12-01 09:41:17.118 [ERROR] [org.openhab.core.items.GenericItem ] - Tried to set invalid state 0.0 (DecimalType) on item gDoor of type ContactItem, ignoring it
2020-12-01 09:41:17.123 [ERROR] [org.openhab.core.items.GenericItem ] - Tried to set invalid state 0.0 (DecimalType) on item gHneed of type SwitchItem, ignoring it
2020-12-01 09:41:17.197 [ERROR] [org.openhab.core.items.GenericItem ] - Tried to set invalid state 0.0 (DecimalType) on item gMotion of type SwitchItem, ignoring it
2020-12-01 09:41:17.441 [INFO ] [enhab.core.model.script.ghneed.debug] - gHneed state is: NULL
2020-12-01 09:41:17.443 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heat_need state is: OFF
2020-12-01 09:41:17.444 [INFO ] [enhab.core.model.script.ghneed.debug] - BF_Heating_Pump state is: OFF
2020-12-01 09:41:17.445 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heat_need state is: OFF
2020-12-01 09:41:17.446 [INFO ] [enhab.core.model.script.ghneed.debug] - GF_Heating_Pump state is: OFF
2020-12-01 09:41:17.447 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heat_need state is: OFF
2020-12-01 09:41:17.448 [INFO ] [enhab.core.model.script.ghneed.debug] - FF_Heating_Pump state is: ON
2020-12-01 09:41:17.449 [WARN ] [b.core.model.script.actions.BusEvent] - Cannot convert 'NULL' to a command type which item 'BF_Heating_Pump' accepts: [OnOffType, RefreshType].
2020-12-01 09:41:17.479 [ERROR] [org.openhab.core.items.GenericItem ] - Tried to set invalid state 1.0 (DecimalType) on item gFaucet of type SwitchItem, ignoring it
2020-12-01 09:41:27.329 [INFO ] [core.model.script.heating_mode.rules] - Executing 'System started' rule for Heating
2020-12-01 09:42:27.728 [INFO ] [liss.handler.SoulissGatewayJobHealty] - Packet Execution timeout - Removed
2020-12-01 09:42:32.864 [INFO ] [liss.handler.SoulissGatewayJobHealty] - Packet Execution timeout - Removed
Interestingly enough, the packet execution timeout messages mean that the souliss messages were sent (I see those timeouts everytime I change the state of the relay) but for now I rolled back to 2.5. Got a bit of work to do so most likely I’ll take another look with M4 on the weekend.