The whole point of OH is to bridge between different technologies and to coordinate and make them work together. Use the Mios binding to talk to your Vera and whatever binding is appropriate to talk to what you will have at work.
You might need to escape that : as well. Also, with matching part of the binding config (i.e. the fifth field), if you have anything there it assumes REGEX as a regular expression is the only thing supported in the fifth field.
Switch Fornuis { mqtt="<[jarves:Vera/Events/Fornuis:command:ON:.*\"Fornuis\".*\"Status\"\:1.*]" }
The MQTT binding is pretty picky with :, and { } characters. The “:” may even need to be double escaped. I’ve also added a .* to match the rest of the message which was missing from before.
Anyway, the above means, in words: Match on any message sent to Vera/Events/Fornuis on the jarves broker and set the Switch to ON with a command for any message that contains the words "Fornuis" and "Status":1.
The error you are getting is because the binding parser is treating the “:” as a field separator and we want to keep it as part of the regular expression.
We could probably avoid all of this escaping with:
Switch Fornuis { mqtt="<[jarves:Vera/Events/Fornuis:command:ON:.*Fornuis.*Status..1.*]" }
As long as the message doesn’t vary widely from the example this should work just as well and it sidesteps the problem with the “:” and also lets us avoid escaping the “”.
Unless you plan on putting the entire JSON string that gets sent to you into the .map file that won’t work. You need to extract the Status field from the full JSON first and since you can’t apply more than one transformation at a time that is why I suggested to use the REGEX match which is essentially doing a map for you. Any message that matches the regex gets mapped to ON.