Script execution of rule with UID 'spotify-2' failed: An error occurred during the script execution: index=1, size=1 in spot
I saw there was a change to the way it executes command line, so I managed to fix the array error, but this is a new one
I believe it’s one of the first 2 rules
rule "Spotify run script"
when
Item spotify_forceupadte received update
then
var resp = executeCommandLine("/usr/bin/python /etc/openhab2/scripts/spotify.py", 5000)
// logInfo("Spotify", resp)
end
rule "Spotify Action"
when
Item spotify_action received update
then
var resp = executeCommandLine("/usr/bin/python /etc/openhab/scripts/spotify.py", + spotify_action.state.toString, 5000)
// logInfo("Spotify", resp)
end
rule "spotify live update"
when
Time cron "0/30 * * * * ?"
then
if (spotify_current_playing.state == ON && parse(spotify_lastConnectionDateTime.state.toString).plusSeconds(40).isBefore(now)) {
sendCommand(spotify_forceupadte, ON)
}
end
rule "spotify update"
when
Time cron "0 0/30 * * * ?"
then
logInfo("Spotify", "Chron prelock")
if (parse(spotify_lastConnectionDateTime.state.toString).plusSeconds(45).isBefore(now)) {
sendCommand(spotify_forceupadte, ON)
}
end
This tells you it is complaining about the second rule from file spotify.rules, for a head start in debugging.
This unhelpful but common message tells you it has something to do with “arrays”.
But wait, I don’t have arrays in my rule?
In this context it is usually talking about the ‘array’ of arguments (x,y,z) to some function.
logInfo("test")
for an example will produce that same error, because logInfo() wants at least two parameters.
So here you’ve only one function, executeCommandLine(), and can deduce there is something wrong with its parameters.
rule "Spotify Action"
when
Item spotify_action received update
then
var resp = executeCommandLine("/usr/bin/python /etc/openhab/scripts/spotify.py", + spotify_action.state.toString, 5000)
// problem is here ^^^
// logInfo("Spotify", resp)
end
Either use comma or plus, not both. I guess you have to also add a space.