dastrix80
(Kris K)
September 30, 2021, 8:51am
1
Hi @chris
As reported here Github Issue , are you able to update the binding to fix this issue? Seems its been around a while
When sending a command, the log shows:
18:29:07.798 [WARN ] [verter.ZWaveMultiLevelSwitchConverter] - No conversion in ZWaveMultiLevelSwitchConverter to StringType
Thank you!
chris
(Chris Jackson)
September 30, 2021, 7:05pm
2
What command are you trying to send? The problem with strings is they can be anything - so how does the binding know how to convert random text to a number? Or are you sending a number as a string?
1 Like
dastrix80
(Kris K)
September 30, 2021, 8:23pm
3
Hi Chris
Heās an example, we send a scene number
rule "Aeotec 'WallMote' - Kitchen"
when
Item Kitchen_AeoButton_Scene received update
then
var int sceneNumber = Kitchen_AeoButton_Scene.state as DecimalType
switch (sceneNumber) {
case 1.0 : {
logInfo("Aeotec Button Kitchen", "single press: " + sceneNumber)
if (KitchenBarDim1.state == OFF) {
KitchenBarDim1.sendCommand(ON)
}
else if (KitchenBarDim1.state == ON) {
KitchenBarDim1.sendCommand(OFF)
}
}
chris
(Chris Jackson)
October 1, 2021, 11:58pm
4
You canāt send a scene number to the switch, but it also doesnāt look like thatās what you are doing. It looks like you are sending ON or OFF so this should not be a string should it?
Pretty sure Iām sending a number, in this case 1.0
chris
(Chris Jackson)
October 2, 2021, 9:02am
6
What line sends this number in your rule? I can onlt see ON and OFF commands being sent?
If you are trying to set a scene with this channel, that wonāt work, but Iām also still confused why a String is being received in the binding.
dastrix80
(Kris K)
October 2, 2021, 11:27am
7
Not sure Chris, did you see the github link? thats a better source than me
chris
(Chris Jackson)
October 2, 2021, 6:10pm
8
I did see the link, but I was responding to you when you asked why this hasnāt progressed and the answer is that I wanted to know why you are sending strings to this channel as it is not really normal. If you send a string the binding needs to try and convert this - you should send a number/dimmer or on/off.
OK, Iām confused where are the strings iām sending?
I see ON,OFF in the sendcommands
chris
(Chris Jackson)
October 2, 2021, 7:55pm
10
Iām trying to understand your issue. What exactly is using strings here? What channel are you using? I am having trouble trying to understand what you are doing and hence what the issue is.
dastrix80
(Kris K)
October 2, 2021, 7:58pm
11
These are the channels:
/*ZWave Aeotec WallMote Kitchen */
Number Kitchen_AeoButton_Scene "Aeotec Kitchen Button" (PubItems_UPD) { channel="zwave:device:12c97eda:node17:scene_number" }
Number Kitchen_AeoButton_Battery "Aeotec Kitchen Battery" (gBatteries,PubItems_UPD) { channel="zwave:device:12c97eda:node17:battery-level" }
String Kitchen_AeoButton_Slide1 "Aeotec Kitchen #1 Button" (PubItems_UPD) { channel="zwave:device:12c97eda:node17:switch_startstop1" }
String Kitchen_AeoButton_Slide2 "Aeotec Kitchen #2 Button" (PubItems_UPD) { channel="zwave:device:12c97eda:node17:switch_startstop2" }
String Kitchen_AeoButton_Slide3 "Aeotec Kitchen #3 Button" (PubItems_UPD) { channel="zwave:device:12c97eda:node17:switch_startstop3" }
String Kitchen_AeoButton_Slide4 "Aeotec Kitchen #4 Button" (PubItems_UPD) { channel="zwave:device:12c97eda:node17:switch_startstop4" }
Here is the rule:
ule "Aeotec 'WallMote' - Kitchen"
when
Item Kitchen_AeoButton_Scene received update
then
var int sceneNumber = Kitchen_AeoButton_Scene.state as DecimalType
switch (sceneNumber) {
case 1.0 : {
logInfo("Aeotec Button Kitchen", "single press: " + sceneNumber)
if (KitchenBarDim1.state == OFF) {
KitchenBarDim1.sendCommand(ON)
}
else if (KitchenBarDim1.state == ON) {
KitchenBarDim1.sendCommand(OFF)
}
}
case 2.0 : {
logInfo("Aeotec Button Kitchen", "single press: " + sceneNumber)
if (KitchenDim1.state == OFF) {
KitchenDim1.sendCommand(ON)
}
else if (KitchenDim1.state == ON) {
KitchenDim1.sendCommand(OFF)
}
}
case 3.0 : {
logInfo("Aeotec Button Kitchen", "single press: " + sceneNumber)
if (LivingRoomDim1.state == OFF) {
LivingRoomDim.sendCommand(ON)
}
else if (LivingRoomDim1.state == ON) {
LivingRoomDim1.sendCommand(OFF)
}
}
case 4.0 : {
logInfo("Aeotec Button Kitchen", "single press: " + sceneNumber)
if (BackEveDim1.state == OFF) {
BackEveDim1.sendCommand(ON)
}
else if (BackEveDim1.state == ON) {
BackEveDim1.sendCommand(OFF)
}
}
}
end
And here is the error:
No conversion in ZWaveMultiLevelSwitchConverter to StringType
Iām sending numbers, yet its complaining about strings as it has for other users. Hopefully that helps
chris
(Chris Jackson)
October 2, 2021, 8:00pm
12
Can you also provide a log please?
dastrix80
(Kris K)
October 2, 2021, 8:02pm
13
Is this enough?
2021-10-03 07:01:57.367 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0F 00 04 00 11 09 60 0D 00 01 5B 03 03 00 02 D9
2021-10-03 07:01:57.368 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 09 60 0D 00 01 5B 03 03 00 02
2021-10-03 07:01:57.368 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 09 60 0D 00 01 5B 03 03 00 02
2021-10-03 07:01:57.370 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction null
2021-10-03 07:01:57.370 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
2021-10-03 07:01:57.371 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
2021-10-03 07:01:57.371 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Decapsulating COMMAND_CLASS_MULTI_CHANNEL
2021-10-03 07:01:57.371 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_CENTRAL_SCENE, endpoint 0
2021-10-03 07:01:57.372 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
2021-10-03 07:01:57.372 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_CENTRAL_SCENE V2 CENTRAL_SCENE_NOTIFICATION
2021-10-03 07:01:57.372 [DEBUG] [rotocol.commandclass.ZWaveCentralSceneCommandClass] - NODE 17: Received scene 2 at key 0 [Single Press]
2021-10-03 07:01:57.373 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2021-10-03 07:01:57.373 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_CENTRAL_SCENE, value=2.0
2021-10-03 07:01:57.373 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Updating channel state zwave:device:12c97eda:node17:scene_number to 2.0 [DecimalType]
2021-10-03 07:01:57.374 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
2021-10-03 07:01:57.374 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@47c8e0bd.
2021-10-03 07:01:57.375 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:01:57.375 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:01:57.375 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2021-10-03 07:01:57.375 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2021-10-03 07:01:57.431 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0E 00 04 00 11 08 60 0D 02 01 26 01 FF FF A5
2021-10-03 07:01:57.432 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 08 60 0D 02 01 26 01 FF FF
2021-10-03 07:01:57.432 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 08 60 0D 02 01 26 01 FF FF
2021-10-03 07:01:57.432 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction null
2021-10-03 07:01:57.432 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
2021-10-03 07:01:57.433 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
2021-10-03 07:01:57.433 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Decapsulating COMMAND_CLASS_MULTI_CHANNEL
2021-10-03 07:01:57.433 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_SWITCH_MULTILEVEL, endpoint 2
2021-10-03 07:01:57.433 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
2021-10-03 07:01:57.433 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_SWITCH_MULTILEVEL V0 SWITCH_MULTILEVEL_SET
2021-10-03 07:01:57.433 [DEBUG] [col.commandclass.ZWaveMultiLevelSwitchCommandClass] - NODE 17: Switch Multi Level set, value = 255
2021-10-03 07:01:57.434 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2021-10-03 07:01:57.434 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=2, command class=COMMAND_CLASS_SWITCH_MULTILEVEL, value=255
2021-10-03 07:01:57.434 [WARN ] [.internal.converter.ZWaveMultiLevelSwitchConverter] - No conversion in ZWaveMultiLevelSwitchConverter to StringType
2021-10-03 07:01:57.434 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
2021-10-03 07:01:57.434 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@78619e31.
2021-10-03 07:01:57.435 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:01:57.435 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:01:57.435 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2021-10-03 07:01:57.435 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2021-10-03 07:02:01.246 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0F 00 04 00 11 09 60 0D 00 01 5B 03 04 00 01 DD
2021-10-03 07:02:01.247 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 09 60 0D 00 01 5B 03 04 00 01
2021-10-03 07:02:01.247 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=17, callback=0, payload=00 11 09 60 0D 00 01 5B 03 04 00 01
2021-10-03 07:02:01.247 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction null
2021-10-03 07:02:01.247 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Application Command Request (ALIVE:DONE)
2021-10-03 07:02:01.248 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: resetResendCount initComplete=true isDead=false
2021-10-03 07:02:01.248 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Decapsulating COMMAND_CLASS_MULTI_CHANNEL
2021-10-03 07:02:01.248 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: Incoming command class COMMAND_CLASS_CENTRAL_SCENE, endpoint 0
2021-10-03 07:02:01.248 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 17: SECURITY not supported
2021-10-03 07:02:01.248 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 17: Received COMMAND_CLASS_CENTRAL_SCENE V2 CENTRAL_SCENE_NOTIFICATION
2021-10-03 07:02:01.249 [DEBUG] [rotocol.commandclass.ZWaveCentralSceneCommandClass] - NODE 17: Received scene 1 at key 0 [Single Press]
2021-10-03 07:02:01.249 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2021-10-03 07:02:01.249 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_CENTRAL_SCENE, value=1.0
2021-10-03 07:02:01.249 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 17: Updating channel state zwave:device:12c97eda:node17:scene_number to 1.0 [DecimalType]
2021-10-03 07:02:01.250 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Commands processed 1.
2021-10-03 07:02:01.250 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 17: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1ca78649.
2021-10-03 07:02:01.250 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:02:01.250 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2021-10-03 07:02:01.250 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
chris
(Chris Jackson)
October 2, 2021, 8:13pm
14
Yes, thanks. So this is caused by the start/stop channels when the device sends an update about its value so this can be ignored. Probably the StopMove channel is incorrectly defined in the config as a String and this should be changed (although the error will still occur since this is a command only channel).
Iāll try and find a way to ignore this so the error is not generated.
chris
(Chris Jackson)
October 2, 2021, 8:21pm
15
This ought to resolve it, although only once the channel is redefined which requires removing and re-adding the thing. In the meantime, you can safely ignore the message in the log.
openhab:main
ā cdjackson:startstoptype
opened 08:20PM - 02 Oct 21 UTC
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
dastrix80
(Kris K)
October 2, 2021, 8:40pm
16
Hi Chris, are you saying all of it is cosmetic only or there was/is an actual issue?
chris
(Chris Jackson)
October 2, 2021, 8:48pm
17
Correct. The issue was simply that when the device sends its status, this gets processed by all channels on this thing. In this case, it makes no sense for the value of the dimmer to be converted to a StartStop state, so nothing is done, however since the startstop
channel was incorrectly defined as a String, we saw this error.
The start stop channel is only used for sending commands to the device, and the channel type doesnāt matter in this direction - the type defined in the configuration is only an issue for received data.
So, yes, itās not a real issue, just an annoying log entry that will soon be gone.
dastrix80
(Kris K)
October 2, 2021, 9:08pm
18
Ah! Bizzare, cause it doesnāt work but anyway thatās my issue it seems to fix. Odd the github comments suggested they had to implement some fixā¦ which is strange if its only cosmetic.
chris
(Chris Jackson)
October 2, 2021, 9:17pm
19
dastrix80:
it doesnāt work
So what exactly ādoesnāt workā? You never actually said what your problem was other than sending of commands gives this error in the log. However this error is actually not related to sending commands - itās the handling of received events from the device.
dastrix80
(Kris K)
October 2, 2021, 9:20pm
20
The light doesnt turn on when pressing the button on the remote since moving to OH3.
The rule etc works all fine if its turning on/off a switch, but wont work if its a dimmer type
It seems like in the rule logic, i canāt send OFF or ON, only 0 or 100 which isnāt great if you want to send ON to go to the last known dim state