openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.86k stars 3.58k forks source link

[miele] Exception on turning the hood light on and off #5947

Closed Alex5719 closed 4 years ago

Alex5719 commented 5 years ago

I am running the snapshot build 2.5.0 1663. When turning the hood light on and off via the miele binding, I get the following exception. Turning on and off the light is still working. The exception was not introduced by the current refactorings and already occured in the past.

Maybe the exceptions are related to the fact that my hood is a special model. The gateway is reporting the following device info:

Technical type: not defined Electronic Software ID: 0 Fabrication number: not defined

2019-08-18 10:41:16.131 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.miele.internal.handler.HoodHandler@7b436a33': JsonNull
java.lang.UnsupportedOperationException: JsonNull
    at com.google.gson.JsonElement.getAsString(JsonElement.java:192) ~[21:com.google.gson:2.8.2.v20180104-1110]
    at org.openhab.binding.miele.internal.handler.HoodHandler.handleCommand(HoodHandler.java:76) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor110.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
    at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [133:org.openhab.core:2.5.0.201908170301]
    at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [133:org.openhab.core:2.5.0.201908170301]
    at com.sun.proxy.$Proxy4844.handleCommand(Unknown Source) [?:?]
    at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [184:org.openhab.core.thing:2.5.0.201908170303]
    at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [184:org.openhab.core.thing:2.5.0.201908170303]
    at sun.reflect.GeneratedMethodAccessor109.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
    at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:152) [133:org.openhab.core:2.5.0.201908170301]
    at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [133:org.openhab.core:2.5.0.201908170301]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
    at java.lang.Thread.run(Thread.java:748) [?:?]
MartinLepsy commented 5 years ago

Hi there,

I am currently working on #2359 (almost done) and due to some of my refactorings your bug will be fixed too (I was able to reproduce your behaviour with other devices)

penguin242 commented 4 years ago

Looking forward to test.

thanks!

kaikreuzer commented 4 years ago

@penguin242 You can start testing tomorrow :-)

penguin242 commented 4 years ago

@penguin242 You can start testing tomorrow :-)

I might be doing something wrong, but the gateway is found immediately, but not the oven.

MartinLepsy commented 4 years ago

Hi @penguin242 , did you add the gateway? The binding discovers the other devices after adding the gateway.

penguin242 commented 4 years ago

Hi @penguin242 , did you add the gateway? The binding discovers the other devices after adding the gateway.

I did, but I noticed I still have the old binding. I'm compiling the new sources now.

penguin242 commented 4 years ago

Got following problem: 2019-10-30 16:57:39.123 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing 'openhab-binding-mail': Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=openhab-binding-miele; type=karaf.feature; version="[2.4.0,2.4.0]"; filter:="(&(osgi.identity=openhab-binding-miele)(type=karaf.feature)(version>=2.4.0)(version<=2.4.0))" [caused by: Unable to resolve openhab-binding-miele/2.4.0: missing requirement [openhab-binding-miele/2.4.0] osgi.identity; osgi.identity=org.openhab.binding.miele; type=osgi.bundle; version="[2.5.0.201910301514,2.5.0.201910301514]"; resolution:=mandatory [caused by: Unable to resolve org.openhab.binding.miele/2.5.0.201910301514: missing requirement [org.openhab.binding.miele/2.5.0.201910301514] osgi.wiring.package; filter:="(&(osgi.wiring.package=com.google.gson)(version>=2.8.0)(!(version>=3.0.0)))"]] But the mail binding is for version 2.5.0 no?

penguin242 commented 4 years ago

@penguin242 You can start testing tomorrow :-)

I've tested on 2.4.0, 2.5.0M and 2.5 snapshot. It's not working. Not even autodiscovery. The current stable release auto discovers the gateway, the new build does not. When adding the gateway manually, it is added and online, but no oven is detected. But, the gateway stays on-line, even if I put in wrong data, like ip or credentials. Is there a way to get the UID of the oven, so I can try to add it manually and see if at least it can see it?

MartinLepsy commented 4 years ago

Hello @penguin242

I developed and tested with 2.5.0M2 - I will try to test again on monday (that is when I get access to the test hardware). What is your gateways software version?

penguin242 commented 4 years ago

Hello @penguin242

I developed and tested with 2.5.0M2 - I will try to test again on monday (that is when I get access to the test hardware). What is your gateways software version?

I have to check on the device itself for that. Currently I'm not at home but the oven type is the DGC7865 R01. It has the gateway build in. Material number is 10905460

I can't leave my system to 2.5.0M as the cloud service is not working on it.

penguin242 commented 4 years ago

One thing I forgot to mention, I can't see any ip traffic from the openhab server to the gateway or to the miele cloud server.

MartinLepsy commented 4 years ago

There won't be any communication from openhab to the Miele Cloud Service as this binding is based on communication via the gateway in the local network.

penguin242 commented 4 years ago

So I should see traffic from openhab to the ip of the gateway?

MartinLepsy commented 4 years ago

Yes, thats right. Normally openhab should discover the gateway via MDNS and after adding the gateway you should be able to discover all the other devices.

penguin242 commented 4 years ago

I've taken a trace from the openhab server instead of the router. Now I saw traffic, and also a 404 errror. 13:29:49.806732 IP pctv.local.60628 > 10.252.19.184.http: Flags [P.], seq 1:262, ack 1, win 29200, length 261: HTTP: POST /remote/json-rpc HTTP/1.1 0x0000: 4500 012d 61de 4000 4006 9b3c 0afc 1301 E..-a.@.@..<.... 0x0010: 0afc 13b8 ecd4 0050 fcb0 a062 feff f822 .......P...b..." 0x0020: 5018 7210 3dd0 0000 504f 5354 202f 7265 P.r.=...POST./re 0x0030: 6d6f 7465 2f6a 736f 6e2d 7270 6320 4854 mote/json-rpc.HT 0x0040: 5450 2f31 2e31 0d0a 4163 6365 7074 2d45 TP/1.1..Accept-E 0x0050: 6e63 6f64 696e 673a 2067 7a69 700d 0a55 ncoding:.gzip..U 0x0060: 7365 722d 4167 656e 743a 204a 6176 612f ser-Agent:.Java/ 0x0070: 312e 382e 305f 3230 320d 0a48 6f73 743a 1.8.0_202..Host: 0x0080: 2031 302e 3235 322e 3139 2e31 3834 0d0a .10.252.19.184.. 0x0090: 4163 6365 7074 3a20 7465 7874 2f68 746d Accept:.text/htm 0x00a0: 6c2c 2069 6d61 6765 2f67 6966 2c20 696d l,.image/gif,.im 0x00b0: 6167 652f 6a70 6567 2c20 2a3b 2071 3d2e age/jpeg,.;.q=. 0x00c0: 322c 202a 2f2a 3b20 713d 2e32 0d0a 436f 2,./*;.q=.2..Co 0x00d0: 6e6e 6563 7469 6f6e 3a20 6b65 6570 2d61 nnection:.keep-a 0x00e0: 6c69 7665 0d0a 436f 6e74 656e 742d 7479 live..Content-ty 0x00f0: 7065 3a20 6170 706c 6963 6174 696f 6e2f pe:.application/ 0x0100: 782d 7777 772d 666f 726d 2d75 726c 656e x-www-form-urlen 0x0110: 636f 6465 640d 0a43 6f6e 7465 6e74 2d4c coded..Content-L 0x0120: 656e 6774 683a 2037 340d 0a0d 0a ength:.74.... 13:29:49.808057 IP pctv.local.60628 > 10.252.19.184.http: Flags [P.], seq 262:336, ack 1, win 29200, length 74: HTTP 0x0000: 4500 0072 61df 4000 4006 9bf6 0afc 1301 E..ra.@.@....... 0x0010: 0afc 13b8 ecd4 0050 fcb0 a167 feff f822 .......P...g..." 0x0020: 5018 7210 3d15 0000 7b22 6a73 6f6e 7270 P.r.=...{"jsonrp 0x0030: 6322 3a22 322e 3022 2c22 6964 223a 3730 c":"2.0","id":70 0x0040: 3236 3433 3134 362c 226d 6574 686f 6422 2643146,"method" 0x0050: 3a22 7379 7374 656d 2e6c 6973 744d 6574 :"system.listMet 0x0060: 686f 6473 222c 2270 6172 616d 7322 3a5b hods","params":[ 0x0070: 5d7d ]} 13:29:49.810948 IP 10.252.19.184.http > pctv.local.60628: Flags [.], ack 336, win 32120, length 0 0x0000: 4500 0028 3ede 0000 8006 bf41 0afc 13b8 E..(>......A.... 0x0010: 0afc 1301 0050 ecd4 feff f822 fcb0 a1b1 .....P.....".... 0x0020: 5010 7d78 7301 0000 0000 0000 0000 P.}xs......... 13:29:49.814527 IP 10.252.19.184.http > pctv.local.60628: Flags [P.], seq 1:142, ack 336, win 33580, length 141: HTTP: HTTP/1.1 404 Not Found 0x0000: 4500 00b5 3f2c 0000 8006 be66 0afc 13b8 E...?,.....f.... 0x0010: 0afc 1301 0050 ecd4 feff f822 fcb0 a1b1 .....P.....".... 0x0020: 5018 832c 3969 0000 4854 5450 2f31 2e31 P..,9i..HTTP/1.1 0x0030: 2034 3034 204e 6f74 2046 6f75 6e64 0d0a .404.Not.Found.. 0x0040: 4461 7465 3a20 5468 752c 2033 3120 4f63 Date:.Thu,.31.Oc 0x0050: 7420 3230 3139 2031 323a 3330 3a30 3720 t.2019.12:30:07. 0x0060: 474d 540d 0a43 6f6e 7465 6e74 2d4c 656e GMT..Content-Len 0x0070: 6774 683a 300d 0a43 6f6e 7465 6e74 2d54 gth:0..Content-T 0x0080: 7970 653a 2061 7070 6c69 6361 7469 6f6e ype:.application 0x0090: 2f76 6e64 2e6d 6965 6c65 2e76 312b 6a73 /vnd.miele.v1+js 0x00a0: 6f6e 3b20 6368 6172 7365 743d 7574 662d on;.charset=utf-

penguin242 commented 4 years ago

Some more info regarding the device: EPZ ID 04719 V3609 ELP ID 04721 V3615 TCTRL ID 04703 V10 ELPZ ID 04724 V3502 XKM ID 04749 Proximity ID 04707 V3603 MieleOS1 ID 04747 V52 EPI ID 02756 V1

penguin242 commented 4 years ago

10.252.19.184.5353 > 224.0.0.251.5353: 0*- [0q] 7/0/0 Miele-001D63FFFE109041.local. (Cache flush) A 10.252.19.184, Miele-001D63FFFE109041.local. (Cache flush) NSEC, _mieleathome._tcp.local. PTR Miele DGC7865 R01._mieleathome._tcp.local., _services._dns-sd._udp.local. PTR _mieleathome._tcp.local., Miele DGC7865 R01._mieleathome._tcp.local. (Cache flush) SRV Miele-001D63FFFE109041.local.:80 0 0, Miele DGC7865 R01._mieleathome._tcp.local. (Cache flush) TXT "txtvers=1" "group=355A3743CA98096F" "path=/" "security=1" "pairing=false" "devicetype=31" "con=1" "subtype=0" "s=0", Miele DGC7865 R01._mieleathome._tcp.local. (Cache flush) NSEC (616) 16:17:20.027782 IP (tos 0x0, ttl 255, id 3119, offset 0, flags [DF], proto UDP (17), length 157)

Alex5719 commented 4 years ago

I can confirm that in snapshot build 2.5.0~S1736-1 the issue is resolved. Turning the hood light on and off via the binding is working and does not fire an exception.

Nevertheless I now have a new issue: #6311

kaikreuzer commented 4 years ago

Not even autodiscovery. The current stable release auto discovers the gateway, the new build does not.

I cannot confirm, discovery works flawlessly for me:

Launching the openHAB runtime...

                          __  _____    ____      
  ____  ____  ___  ____  / / / /   |  / __ )     
 / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __  | 
/ /_/ / /_/ /  __/ / / / __  / ___ |/ /_/ /      
\____/ .___/\___/_/ /_/_/ /_/_/  |_/_____/     
    /_/                        2.5.0-SNAPSHOT
                               Build #1736   

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.

openhab> log:tail
17:01:24.149 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'miele:xgw3000:Miele_XGW3000' to inbox.
17:01:24.149 [INFO ] [smarthome.event.InboxAddedEvent      ] - Discovery Result with UID 'miele:xgw3000:Miele_XGW3000' has been added.
Alex5719 commented 4 years ago

Can someone look into my new issue "[miele] reading state at startup not working" #6311 please?

It seems that the latest commits on the miele binding have broken the functionality at least for Miele Zigbee devices. Due to this bug I currently cannot update to the latest snapshot builds