Expire on PLAYER Item

from time to time I forget to switch off my squeezeboxes or stop Alexa from streaming radio, so I tried to use the expire binding to pause the player after some hours.

it seems that expire does not work for a PLAYER item? I could do the workaround via timers but expire would be more elegant…

Player Echospot_Bad_Player  "Player" channel="amazonechocontrol:echospot:xxx:player", expire="30s,command=PAUSE"
2020-01-01 14:51:21.150 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'my.items'

2020-01-01 14:51:21.187 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'expire' of item 'Echospot_Bad_Player' could not be parsed correctly.
org.eclipse.smarthome.model.item.BindingConfigParseException: cannot process unknown item type Player
	at org.openhab.core.binding.internal.BindingConfigReaderDelegate.getOpenHABItem(BindingConfigReaderDelegate.java:91) ~[?:?]
	at org.openhab.core.binding.internal.BindingConfigReaderDelegate.getOpenHABItem(BindingConfigReaderDelegate.java:60) ~[?:?]
	at org.openhab.core.binding.internal.BindingConfigReaderDelegate.validateItemType(BindingConfigReaderDelegate.java:43) ~[?:?]
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:368) ~[?:?]
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:338) ~[?:?]
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:210) ~[?:?]
	at org.eclipse.smarthome.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:404) ~[?:?]
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:311) ~[?:?]
	at org.eclipse.smarthome.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:149) ~[?:?]
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.checkFile(FolderObserver.java:247) ~[?:?]
	at org.eclipse.smarthome.model.core.internal.folder.FolderObserver.processWatchEvent(FolderObserver.java:310) ~[?:?]
	at org.eclipse.smarthome.core.service.WatchQueueReader.lambda$3(WatchQueueReader.java:323) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_232]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_232]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_232]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_232]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_232]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_232]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]

It seems like it doesn’t work.
What you can do is make a virtual switch with the expire binding and create a rule that stops the player.

1 Like