Tcp binding - Could not transform and Cannot parse input

i have no idea why it is giving me these errors

hope someone can help with the below.

getting a lot of

cannot parse input

and

could not transform

in the logs.

i no its from the reply from the matrix

OUT01FR01\r
\r
[SUCCESS]Set output 01 connect from input 01.\r
\r
Matrix-8x8> ’

i tried doing a rules file but i dont understand how it works and the logs don’t show the rule doing anything.

.item

Switch MatrixPower “power” { tcp=">[ON:192.168.0.5:8000:‘MAP(blustream.map)’],>[OFF:192.168.0.5:8000:‘MAP(blustream.map)’]", autoupdate=“false”}
String MatrixOut01 “out01” { tcp=">[11:192.168.0.5:8000:‘MAP(blustream.map)’],>[12:192.168.0.5:8000:‘MAP(blustream.map)’],>[13:192.168.0.5:8000:‘MAP(blustream.map)’],>[14:192.168.0.5:8000:‘MAP(blustream.map)’],>[15:192.168.0.5:8000:‘MAP(blustream.map)’],>[16:192.168.0.5:8000:‘MAP(blustream.map)’],>[17:192.168.0.5:8000:‘MAP(blustream.map)’],>[18:192.168.0.5:8000:‘MAP(blustream.map)’]", autoupdate=“false”}
String MatrixReply “matrix reply [%s]” { tcp=">[192.168.0.5:8000:default]", autoupdate=“false”}

.map

ON=PON\r
OFF=POFF\r
11=OUT01FR01\r
12=OUT01FR02\r
13=OUT01FR03\r
14=OUT01FR04\r
15=OUT01FR05\r
16=OUT01FR06\r
17=OUT01FR07\r
18=OUT01FR08\r

.sitemap

sitemap blustream label=“matrix” {
Switch item=MatrixPower label=“Power”
Switch item=MatrixOut01 label=“out01” mappings=[11=“media”, 12=“B”, 13=“C”, 14=“D”, 15=“E”, 16=“F”, 17=“G”, 18=“H”]
}

.rule

rule “query matrix”
when
Item MatrixRely received update
then
switch MatrixReply.state.toString {
case “OUT01FR01\r\r[SUCCESS]Set output 01 connect from input 01.\r\rMatrix-8x8> '”: MatrixOut01.postUpdate(11)
case “OUT01FR02\r\r[SUCCESS]Set output 01 connect from input 02.\r\rMatrix-8x8> '”: MatrixOut01.postUpdate(12)
}
end

==> /var/log/openhab2/events.log <==
2018-07-21 17:32:44.950 [ome.event.ItemCommandEvent] - Item ‘MatrixOut01’ received command 11
2018-07-21 17:32:44.969 [vent.ItemStateChangedEvent] - MatrixOut01 changed from to 11
==> /var/log/openhab2/openhab.log <==
2018-07-21 17:32:45.430 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.434 [WARN ] [ing.tcp.protocol.internal.TCPBinding] - Cannot parse input OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> to match command OFF on item MatrixPower
2018-07-21 17:32:45.439 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.443 [WARN ] [ing.tcp.protocol.internal.TCPBinding] - Cannot parse input OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> to match command ON on item MatrixPower
2018-07-21 17:32:45.448 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.457 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.466 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
==> /var/log/openhab2/events.log <==
2018-07-21 17:32:45.474 [vent.ItemStateChangedEvent] - MatrixOut01 changed from 11 to
2018-07-21 17:32:45.488 [vent.ItemStateChangedEvent] - MatrixOut01 changed from to OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8>
==> /var/log/openhab2/openhab.log <==
2018-07-21 17:32:45.487 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
==> /var/log/openhab2/events.log <==
2018-07-21 17:32:45.504 [vent.ItemStateChangedEvent] - MatrixOut01 changed from OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> to
2018-07-21 17:32:45.510 [vent.ItemStateChangedEvent] - MatrixOut01 changed from to OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8>
2018-07-21 17:32:45.521 [vent.ItemStateChangedEvent] - MatrixOut01 changed from OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> to
==> /var/log/openhab2/openhab.log <==
2018-07-21 17:32:45.519 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.542 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.557 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’
2018-07-21 17:32:45.564 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’ with the file ‘blustream.map’ : Target value not found in map for 'OUT01FR01
[SUCCESS]Set output 01 connect from input 01.
Matrix-8x8> ’

When using a map file and transform those errors indicate that you do not have an entry in your map file for the value received from your binding.

Because your messages are in multiple lines I would expect to see that error at least twice for every message since your map file only contains entries that match one of those three lines.

I’m not really sure that a map file will ever work. It depends on whether the TCP binding passes each individual line to the transform or the whole message and whether it leaves the Item in it’s old state or sets it to NULL when the transform fails.

If you are going to use such a low level binding as the TCP binding, you are really going to have to learn Rules. There is only so much one can do from the transforms.

Add logging to your rules so you can see if they run and what they are doing.