Yamaha MusicCast binding revival

Feature request: if device turned off from outlet, change Power state to OFF

@martiniman Cool, thanks.
Regarding your feature request: you “cut” electricity so no electricity is used in standby? Let me dig in the API documentation if I can find something there. Or if the scheduler can take care of that.

As for me: I have been playing around with the new UI but I think I will stick to sitemaps for the time being. I’m halfway upgrading :slight_smile:

May be simple ping?

After doing a clean install of openhabian on my rpi 4 to fix a failed upgrade I’m now running on oh 3.1 with the latest version of the binding 0.83 beta
Its not connecting to any of my amps. the ip addresses are correct and im able to control them from the music cast app but in openhanded the things are showing “Error Handler”

here’s my logs.

2021-08-04 00:24:54.608 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'yamahamusiccast:device:7dd1065fdc:5643ee1cfa': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:388) ~[?:?]
	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) [?:?]
2021-08-04 00:24:57.721 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.net.NoRouteToHostException: No route to host
2021-08-04 00:24:57.723 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler@bfaa78': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:24:57.728 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'yamahamusiccast:device:7dd1065fdc:763ab186be': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:06.760 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.net.NoRouteToHostException: No route to host
2021-08-04 00:25:06.761 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler@125ffd4': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:06.764 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'yamahamusiccast:device:7dd1065fdc:b97ebd40a0': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:09.881 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.net.NoRouteToHostException: No route to host
2021-08-04 00:25:09.883 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler@18592f9': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:09.888 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'yamahamusiccast:device:7dd1065fdc:468ce1ca': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:19.400 [WARN ] [cast.internal.YamahaMusiccastHandler] - IO Exception - Features - java.util.concurrent.ExecutionException: java.net.NoRouteToHostException: No route to host
2021-08-04 00:25:19.403 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler@1ea8fbc': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]
2021-08-04 00:25:19.405 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'yamahamusiccast:device:7dd1065fdc:85a2e311': null
java.lang.NullPointerException: null
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.getNumberOfZones(YamahaMusiccastHandler.java:944) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.fillOptionsForMCLink(YamahaMusiccastHandler.java:882) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.refreshOnStartup(YamahaMusiccastHandler.java:434) ~[?:?]
	at org.openhab.binding.yamahamusiccast.internal.YamahaMusiccastHandler.initialize(YamahaMusiccastHandler.java:392) ~[?:?]
	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) [?:?]

Hello

I just updated to 0.83 today and itr went flawless. How are your bridge and items configured, text or UI?

Couldn’t this be achived by creating rules and when device not responding to ping x seconds a rule set the state to OFF?

Hi! After 4 days binding loose feedback

it was ui, that was the hint that I needed! using text config worked a treat.

ive got one question tho, I can link up the different zones ok but sending the command “standalone” doesn’t break the link.

does anyone have a copy of a rule file or an sitemap so I can see how the breaking of the link is meant to work?

Hi I’m sorry but I hardly never link rooms, and I don’t even have those channels set up yet anyway bvut if you configure channels needed for linking and maybe set binding log level to debug and use musiccast app then you might get a clue.

Pure sending standalone doesn’t do the trick, I figured that one out the hard way while testing.
You need to send a second command to set the input to net_radio , for instance.
I have that built in the binding now as a separate step. Perhaps this should be standard in there.

@martiniman I’m thinking of adding a check to see if the backgroundjob is still running every time the device is powered on via the binding. But updating the thing should re-initialise everything but you have already figured that one out, I’m sure!

In the meantime, I made a copy of the current repo: Repo for OH2.5
YamahaMusicCast will be used a basis and updated to OH3.1 soon.

Hi

My setup also stopped receiving udp ifno sometime during last night, it work perfectly since friday so 4 4.5days working.

I’m also getting a validtaion issue of my musiccast.things file system acept it on refresh but have issues

musiccast.things
//Yamaha Musiccast thing configuration

Bridge yamahamusiccast:bridge:b {

Thing yamahamusiccast:device:kitchen “YMC Kitchen” [host=“10.10.x.x”]

Thing yamahamusiccast:device:livingroom “YMC Vardagsrum” [host=“10.10.x.x”]

Thing yamahamusiccast:device:basement “YMC Källare” [host=“10.10.x.x”]

Thing yamahamusiccast:device:patio “YMC Altan” [host=“10.10.x.x”]

}

Validation issue for each of my devices:
Provide a thing type ID and a thing ID in this format:
<thingTypeId’’’> <thingId’’’>

Good solution! Waiting for it :slight_smile:

How to select this presets from binding?
изображение

If you look in the MC app, how are these preset/favorites stored?
Currently the binding reads the Network favorites.

In the meantime I have upgraded to OH3.1 and I have started updating the code in my repo.
Again lot have changed for OH3 for development (at least for me) so I must re-check some lines of code.
Compilation succeeded so getting there.

Here it is:


First 3 items.

HI I will share how I do this, short desc I have thre diffrent methods using switch item or a selection item.

My Swich items is used in google assistant and ruels to start different favorites (I would prefer if Yammaha implement global for all my devices and local favorites individual to all devices)

First i give you my solution for selection item in sitemap
.sitemap (this selection item just start playing your favorites choosen)
Selection item=squeezekokfavorite label=“Play Favorite”

.items ( this item gives you a item that list all of your favorites in a specific device)
String squeezekokfavorite “Favorit kök [%s]” {channel=“yamahamusiccast:device:kitchen:main#selectPreset”}

and now too switches and google assistant
.items (tellstick isn’t used for the moment)
Switch preset_kitchen_1 “Lugna Favoriter” (presetKitchenPlaying) {ga=“Switch” [structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:4:state”}
Switch preset_kitchen_2 “Vinyl FM” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:5:state”}
Switch preset_kitchen_3 “Rockklassiker” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:6:state”}
Switch preset_kitchen_4 “P4” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:4:state”}
Switch preset_kitchen_5 “RIX FM” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:5:state”}
Switch preset_kitchen_6 “Mix megapol” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:6:state”}
Switch preset_kitchen_7 “Bandit” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:4:state”}
Switch preset_kitchen_8 “Saint Cloud” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:5:state”}
Switch preset_kitchen_9 “KX92” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:6:state”}
Switch preset_kitchen_10 “Morris” (presetKitchenPlaying) {ga=“Switch” [ structureHint=“Hem”, roomHint=“Kök” ]} //{channel=“tellstick:switch:1:6:state”}

.rules ( this rule start #1 favorite via switch either in sitemap or via GA)
rule “Preset_kitchen_1”
when
Item preset_kitchen_1 changed
then
if(preset_kitchen_1.state==ON){
//sendBroadcastNotification("Rock Klassiker " + "Utomhustemperaturen just nu " + gT_Utetemp.state + “°C”)
squeezeKokPower.sendCommand(ON)
squeezeKokControl.sendCommand(PLAY)
squeezekokfavorite.sendCommand(“1”)
//squeezeKokControl.sendCommand(PLAY)
preset_kitchen_1.sendCommand(OFF)
}
end

I’m sorry for all the non relevant code in my pretty uggly but totally working solution.

Thank you!
It was simple, send number to preset channel.

Indeed, it was that simple. I was thinking too far ahead.
Anyway, I have compiled a new version which does extra logging for me

  • Every time (every 5 mins) the job runs, a record is written so I can trace back when it last ran
  • Every time I power on the device, a record is written which checks the status of the job.

Now I have to wait till it fails again and go through the logs. Then I will modify the binding to include the start of the job.

@martiniman I have uploaded a new JAR last week. I have been running it for a week now and refresh job does not crash.
It is v0.84. It has been compiled for/with 3.2 but it works for/with 3.1
It also logs the event every 5 minutes. So if it happens, we should be able to trace it back to the latest error.
You can play around with it.

Awesome, installing it now!