Open soenkekueper opened 10 months ago
This issue has been mentioned on openHAB Community. There might be relevant details there:
https://community.openhab.org/t/ecovacs-vacuum-cleaners-binding-3-2-0-4-0-0/132989/174
Can you please
log:set DEBUG org.openhab.binding.ecovacs
in OH console)? Thanks.
[1] To make sure all dependencies are installed, my approach to installing would be
bundle:list | grep Ecovacs
-> check first columnbundle:update <insert ID here> <path to downloaded jar>
Alternatively,
bundle:list | grep Ecovacs
in console -> should list 2 bindings: a 4.1.1
one and a 4.1.2.202403060828
onebundle:uninstall <ID of 4.1.1 binding>
Result after running bundle:list
again should be the binding reported with version number 4.1.2.202403060828
instead of 4.1
and as Active
.
[2] The vacuum thing should now be toggling between ONLINE and OFFLINE. Wait for one or two of such cycles, then grab log.
Hey,
sorry for the late reply, i've little spare time at the moment.
I've updated the bundle as mentioned above, but the version seems to be a bit newer now:
openhab> bundle:list | grep Ecovacs
343 x Active x 80 x 4.1.2.202403150847 x openHAB Add-ons :: Bundles :: Ecovacs Binding
The devices (i've two evocacs bots) did not toggle the state on their own. So i've did manually. As there are some log messages and errors in the log, i've attached this and hope it helps. Otherwise, let me know what i can do to support you.
Thanks for your work!
Sönke openhab.log
I've updated the bundle as mentioned above, but the version seems to be a bit newer now:
Oh, right, oops ... I reused the same link to do debugging for #16117 ... good news is that this shouldn't matter ;-) Since it includes #16524 I assume the last cleaning information channels (duration, area, map etc.) work now ... please confirm.
If that's the case is there anything that actually is still broken with this jar? If that's not the case, I'd need a description of what exactly is broken + information about your vacuum (stupid me, the title says it's a T20) + a log with level set to TRACE instead of DEBUG. The error in the original issue report should cause a message at DEBUG level with that jar, but I don't see it in the log, so I assume that one is no longer happening?
Hey,
on the first look it seems good - status values are available now. I'll watch this a while and give you an answer.
The JsonSyntaxException is furthermore present in the log, see at 2024-03-16 19:25:07.247
2024-03-16 19:25:07.247 [DEBUG] [internal.api.impl.EcovacsIotMqDevice] - E06930903E1FPBVY0032: Got invalid JSON message payload, ignoring: {"header":{"pri":1,"tzm":60,"ts":"1710613506039","ver":"0.0.1","fwVer":"1.22.0","hwVer":"0.1.1","wkVer":"0.1.54"},"body":[{"signal":-62,"uptime":" 18:11:05 up 28 days, 11:00, POWER_RESET, 100/1, 423","meminfo":"241476,258672","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506010"},{"signal":-62,"uptime":" 18:12:05 up 28 days, 11:01, POWER_RESET, 100/1, 423","meminfo":"242044,258104","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506010"},{"signal":-62,"uptime":" 18:13:05 up 28 days, 11:02, POWER_RESET, 100/1, 423","meminfo":"241800,258348","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:14:05 up 28 days, 11:03, POWER_RESET, 100/1, 423","meminfo":"242040,258108","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:15:05 up 28 days, 11:04, POWER_RESET, 100/1, 423","meminfo":"241852,258296","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:16:05 up 28 days, 11:05, POWER_RESET, 100/1, 423","meminfo":"241452,258696","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:17:05 up 28 days, 11:06, POWER_RESET, 100/1, 423","meminfo":"241504,258644","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:18:05 up 28 days, 11:07, POWER_RESET, 100/1, 423","meminfo":"242000,258148","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:19:05 up 28 days, 11:08, POWER_RESET, 100/1, 423","meminfo":"242176,257972","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506011"},{"signal":-62,"uptime":" 18:20:05 up 28 days, 11:09, POWER_RESET, 100/1, 423","meminfo":"242348,257800","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"},{"signal":-62,"uptime":" 18:21:05 up 28 days, 11:10, POWER_RESET, 100/1, 423","meminfo":"241932,258216","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"},{"signal":-62,"uptime":" 18:22:05 up 28 days, 11:11, POWER_RESET, 100/1, 423","meminfo":"241964,258184","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"},{"signal":-62,"uptime":" 18:23:05 up 28 days, 11:12, POWER_RESET, 100/1, 423","meminfo":"241664,258484","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"},{"signal":-62,"uptime":" 18:24:05 up 28 days, 11:13, POWER_RESET, 100/1, 423","meminfo":"242224,257924","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"},{"signal":-62,"uptime":" 18:25:05 up 28 days, 11:14, POWER_RESET, 100/1, 423","meminfo":"241736,258412","pos":"-33,-554","isvalid":1,"mapid":"1761984352","ts":"1710613506012"}]}
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 123 path $.body
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:397) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.readIntoField(ReflectiveTypeAdapterFactory.java:212) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:433) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:393) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1227) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1137) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:1047) ~[?:?]
at com.google.gson.Gson.fromJson(Gson.java:982) ~[?:?]
at org.openhab.binding.ecovacs.internal.api.impl.JsonReportParser.handleMessage(JsonReportParser.java:58) ~[?:?]
at org.openhab.binding.ecovacs.internal.api.impl.EcovacsIotMqDevice.lambda$3(EcovacsIotMqDevice.java:181) ~[?:?]
at com.hivemq.client.internal.mqtt.mqtt3.Mqtt3AsyncClientView.lambda$callbackView$1(Mqtt3AsyncClientView.java:76) ~[bundleFile:?]
at com.hivemq.client.internal.mqtt.MqttAsyncClient$CallbackSubscriber.onNext(MqttAsyncClient.java:303) [bundleFile:?]
at com.hivemq.client.internal.mqtt.MqttAsyncClient$CallbackSubscriber.onNext(MqttAsyncClient.java:288) [bundleFile:?]
at com.hivemq.client.rx.FlowableWithSingle$SingleFutureSubscriber.onNext(FlowableWithSingle.java:406) [bundleFile:?]
at com.hivemq.client.internal.rx.operators.FlowableWithSingleCombine$SplitSubscriber$Default.tryOnNextActual(FlowableWithSingleCombine.java:235) [bundleFile:?]
at com.hivemq.client.internal.rx.operators.FlowableWithSingleCombine$SplitSubscriber.tryOnNext(FlowableWithSingleCombine.java:200) [bundleFile:?]
at io.reactivex.internal.operators.flowable.FlowableObserveOn$ObserveOnConditionalSubscriber.runAsync(FlowableObserveOn.java:649) [bundleFile:?]
at io.reactivex.internal.operators.flowable.FlowableObserveOn$BaseObserveOnSubscriber.run(FlowableObserveOn.java:176) [bundleFile:?]
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) [bundleFile:?]
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 123 path $.body
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:393) ~[?:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:386) ~[?:?]
... 24 more
The JsonSyntaxException is furthermore present in the log, see at 2024-03-16 19:25:07.247
That's a different (and harmless) one though: it's emitted from EcovacsIotMqDevice, not EcovacsApiImpl.
Minor, but the stacktrace is not needed for that debug line. Anyway interested in @soenkekueper's results.
Values seem to work fine. I've switched the log level to debug and will check the log in a few days again.
Expected Behavior
The values of group “Last Clean Run" are displayed and there are no errors in the logs.
Current Behavior
Steps to Reproduce (for Bugs)
Context
Added new (supported) thing after openhab update to 4.1.0 and values are not updated.
Your Environment