Exec Binding OS not supported, please manually split commands!

After updating openhab I got problems with my Python script.

In paper-UI I see two different versions of the Exec binding 2.5.1 & 2.5.2, I’m unable to use the 2.5.1.
Before the upgrade openhab was using 2.5.1, and the script executed just fine.

The script execute perfectly from the command line, but in OH it gives me this:

08:34:43.411 [INFO ] [ipse.smarthome.model.script.net2 exec] - Result:OS not supported, please manually split commands!
08:34:43.412 [WARN ] [ing.exec.internal.handler.ExecHandler] - OS Linux not supported, please manually split commands!

My Rule is:

rule	"Paxton Door"
	when
		Item Net2 received command
	then 
		switch(receivedCommand) {
  		    case 1: {
     		     net2_Args.sendCommand("--did 3962475 --rid Relay1 --rea TimedOpen --ret 500 --fla 3")		
    		            }
    		    case 2: {
   		     net2_Args.sendCommand("--did 6612642 --rid Relay1 --rea TimedOpen --ret 30000 --fla 3")
  	      		}
		    case 3: {
   		     net2_Args.sendCommand("--did 1265688 --rid Relay1 --rea TimedOpen --ret 30000 --fla 3")
  	    		    }
		    case 4: {
   		     net2_Args.sendCommand("--did 6203980 --rid Relay1 --rea TimedOpen --ret 30000 --fla 3")
  	     		    }
		    case 5: {
   		     net2_Args.sendCommand("--did 1265688 --rid Relay1 --rea TimedOpen --ret 30000 --fla 3")
  	     		    }
		    case 6: {
   		     net2_Args.sendCommand("--did 6626578 --rid Relay1 --rea TimedOpen --ret 30000 --fla 3")
  	     		    }
 	  				 }

	net2_Run.sendCommand(ON)
	logInfo("net2 run", "Result:" + net2_Run.state )
      // the Run indicator state will go ON shortly, and return OFF when script finished
end


 rule "process your results"
 when
   Item net2_Run changed from OFF to ON
 then
      // Logging of raw command line result
   logInfo("net2 exec", "Result:" + net2_Out.state )
   Net2status.postUpdate(net2_Out.state)
   Net2.postUpdate(OFF)

end

I have no idea what the meaning Please manually split command means?

Comment only - I suspect this is related to this change

Do you happen to know if this change was ported to executeCommandLine? I couldn’t find a PR but with the OH 3 stuff I’m sure I missed it if it’s there.

This is accurate. A quick scan shows that the change snuck through with a missing break statement in a switch.

@Nanna_Agesen should file a defect, if she wishes. I’ll submit a fix for this tonight.

    case LINUX:
    case MAC:
    case SOLARIS:
        // assume sh is present, should all be POSIX-compliant
        shell = SHELL_NIX;
        logger.debug("OS: *NIX ({})", getOperatingSystemName());
        cmdArray = createCmdArray(shell, "-c", commandLine);

    default:
        logger.debug("OS: Unknown ({})", getOperatingSystemName());
1 Like

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.