Read the statement by Michael Teeuw here.
Volvo on Call
-
@mz-ber so the regular expression isn’t finding your text
/^([^ ]+)\s\(([^\)]+)\)\s([^ ]+)$/gm
I use this for building and testing rejects
-
@sdetweil Yes, I also checked that with regex101. Can I just parse in the details I have?
listResult: function(output) { var re = B-PY 186 (V90) XVASS123345
-
@mz-ber the regex returns an array of matched things
-
@mz-ber i think the regex is not expecting the 186
try ths one
/^([^ ]+)\s.*\(([^\/]+)\/([^\)]+)\)$/gm
start of string ^
capture up to the 1st space ([^ ]+)
skip everything to (and including) the open paren \s.*(
get the two things in the parens, separated by /, not including the parens
capture up to the slash ([^/]+)
skip the slash /
capture up to the close pareen ([^)]+)
skip the close paren )
end of string $ -
@sdetweil Your one is not working. Here are the details I try to get:
B-PY 186 (V90/2019) YV1PWAKUDK1XXXXXX
I also played a bit with the expression and removed the white space:
before:
listResult: function(output) { var re = /^([^ ]+)\s\(([^\)]+)\)\s([^ ]+)$/gm
after:
listResult: function(output) { var re = /^([^]+)\s\(([^\)]+)\)\s([^]+)$/gm
That is working based on regex101 and I dont get the error anymore. But nothing is loaded into the MM
-
@mz-ber the regex has to return 3 items
-
@sdetweil Right! And I guess it is doing so? Or am I wrong?
-
@mz-ber i do not know what the module is expecting or its process
it also does a voc dashboard…
and parses that… -
@sdetweil Yes, I guess
voc list
should work. But really quick tovoc dashboard
That is the list I’m getting
B-PY 186 Position : (52.55352783203125, 13.4XXXXXXXXXX6, '2022-03-06 20:20:32+01:00', None, None) B-PY 186 Door lock : Locked B-PY 186 Heater : Off B-PY 186 Odometer : 34484 km B-PY 186 Trip meter 1 : 131 km B-PY 186 Trip meter 2 : 1 km B-PY 186 Fuel amount : 40 L B-PY 186 Fuel level : 72 % B-PY 186 Fuel consumption : 9.9 L/100 km B-PY 186 Range : 440 km B-PY 186 Average speed : 31 km/h B-PY 186 Last trip : 2022-03-06 20:20:32+01:00 B-PY 186 Engine : On B-PY 186 Door lock : On B-PY 186 Hood : Closed B-PY 186 Tailgate : Closed B-PY 186 Front left door : Closed B-PY 186 Front right door : Closed B-PY 186 Rear left door : Closed B-PY 186 Rear right door : Closed B-PY 186 Front left window : Closed B-PY 186 Front right window : Closed B-PY 186 Rear left window : Closed B-PY 186 Rear right window : Closed B-PY 186 Front right tyre : OK B-PY 186 Front left tyre : OK B-PY 186 Rear right tyre : OK B-PY 186 Rear left tyre : OK B-PY 186 Washer fluid : OK B-PY 186 Brake Fluid : OK B-PY 186 Service : OK B-PY 186 Bulbs : OK B-PY 186 Doors : Closed B-PY 186 Windows : Closed
With the regular expression
/^([^\s]+)\s([\w\s]+)\:\s(.+)$/gm
it is not perfectly matching the groups:B-PY 186
should be always in group 1. Do you have an idea to adjust the expression? -
I got it to work! Finally.
The whole problem was my licence plate. The regular expression wasn’t able to grab the right groups. Thank you @sdetweil for helping me to investigate.