Both the REGEX and JSONPATH transformations are installed?
It looks like you are using a Things file. Maybe there is something unique about how you need to write it there. In PaperUI you would not surround the whole expression with “”.
got it, it’s working as long as the channel type is a string…![]()
AdditionalQuestion:
Is it possible to link a number item to a string channel?
Then it would not make much a difference if the channel is already a number or not ?
according to the docs not:
Okay, either ignoring the warnings or use string and transform in a rule…
I don’t think so. If it only works for the String channel you may need to file an issue. How to file an Issue
@rlkoshak the problem with regex chained with json resolved in 2.5 release but new problem appeared. After restarting OH in PaperUI in transform value field symbol “∩” replaced with ? and item stop get new values. I suppoused this problem in unicode encoding but how i canresolve it? I add in start.sh file
this string: export EXTRA_JAVA_OPTS=“-Dgnu.io.rxtx.SerialPorts=/dev/ttyS0:/dev/ttyS1 -Dfile.encoding=UTF8” but it not resolve this problem, but resolve another problem with unicode symbols in paperUi web interface.
What happens if you edit the field again copying the ∩ from the text under that field and replacing the “?” with it? Does it revert back to ? or does that fix it?
Now working just fine. I copied this symbol after restarting OH with -Dfile.encoding=UTF8 option.
The symbol did not change after restart OH.
Thank you. @rlkoshak
I’m also trying to move my OpenHAB 2.4 configuration with MQTT v1 binding towards a test config with OpenHAB 2.5.1 and the new MQTT v2.5.1 binding. My config is completely text based for 2 reasons: I generate all things, items, rules and sitemaps from a small Python script; secondly: it enables me to easily copy parts of the configuration from one OpenHAB instance to another. I really need thorough testing to avoid issues with our heating system and big trouble with my wife ![]()
I tried to use same combination of transformations, but I can’t get the special “∩” saved: it’s converted into the letter “n”. I also tried to add this line in the /etc/default/openhab2 file:
EXTRA_JAVA_OPTS=“-Dfile.encoding=UTF8”
but no luck.
Here’s what I’ve got in the old items file (MQTT v1 binding):
Number Temp_Wemos4_CV_Ketel “Wemos4_CV_Ketel_T [%.2f C]” (gTemperature) {mqtt="<[mozquitoin:MBroadCast:state:JSONPATH($.TempValue):."Temp_Wemos4_CV_Ketel".]"}
And I added this in the new things file (MQTT v2.5.1 binding):
Thing topic MBroadcaster "MBroadcastR1" @ "MBroadcast" {
Channels:
Type number : Temp_Wemos4_CV_Ketel "Wemos4_CV_Ketel_T" [ stateTopic="MBroadCast", transformationPattern="REGEX:(.*Temp_Wemos4_CV_Ketel.*)∩JSONPATH:$.TempValue" ]
}
When looking in PaperUI I see this:
No errors in the logs… All help is welcome.
There is debate in java circles about UTF8 or UTF-8
How you can put this symbol? I put it by COPYING ctrl c ctrlv in to paperui. But in my situation all cyrillic symbols was ‘?’. Adding UTF8 option resolve this problem in my case.
It’s working fine now. I first started to implement it via PaperUI and it worked immediately. After that I came to the conclusion that my text editor didn’t really save the file in UTF8 format, even though I explicitely set the option. I had to change the “default encoding” of the editor to have it right.
Thanks for this post !
This ∩ character really complexifies everything as it forces us to use UTF-8 format, only for this. Isn’t there an alternative way, can it be replaced by some other character / combination of characters that allows us to keep using ASCII instead of UTF-8? If not possible, is there a platform where we can raise the question?
Important
All text files must be created with UTF-8 encoding.
From
You can file an issue on the openhab2-addons github, but as rossko57 points out, UTF-8 is the requirement anyway. So the issue is moot.
Hi @rlkoshak,
I’ve this:
Type string : name "Name" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*name.*)∩JSONPATH:$.name"]
Type number : rssi "WiFi Signal Strength" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*rssi.*)∩JSONPATH:$.rssi"]
Type number : distance "WiFi Distance" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*distance.*)∩JSONPATH:$.distance"]
Type number : temperature "Temperature" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*tem.*)∩JSONPATH:$.tem"]
Type number : humidty "Humidity" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*hum.*)∩JSONPATH:$.hum"]
Type number : battery "Battery" [ stateTopic="home/OpenMQTTGateway_ESP32_BLE/BTtoMQTT/E72E014260FF", transformationPattern="REGEXP:(.*batt.*)∩JSONPATH:$.batt"]
But now I’ve more warnings ![]()
20-08-02 18:08:29.252 [WARN ] [t.generic.ChannelStateTransformation] - Transformation service REGEXP for pattern (.*name.*) not found!
2020-08-02 18:08:29.253 [WARN ] [t.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.name' in '{"tem":29.6}'
Can you point my error?
Doesn’t look like you have the REGEX transformation service installed?
PaperUI → Add-ons → Transformations → RegEx Transformation → Install






