stefan-kaestle / openhab2-addons

Add-ons for openHAB 2.x
Eclipse Public License 2.0
16 stars 1 forks source link

Bosch Thermostat valve nullpointer exception #24

Closed tuxianerDE closed 3 years ago

tuxianerDE commented 3 years ago

I have a thermostat for my heating system configured. This is currently in summerpause, hence it is expected to be off. I am reading the current temperature and the valve position. However currently the valve is in NULL according to the paper UI, in the logs I can see the following null pointer.

2020-08-09 10:17:39.479 [WARN ] [chshc.internal.BoschSHCBridgeHandler] - refreshState: Request complete: [{"@type":"JsonRestExceptionResponseEntity","errorCode":"ENTITY_NOT_FOUND","statusCode":404}] - return code: 404 2020-08-09 10:17:39.481 [ERROR] [ome.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null java.lang.NullPointerException: null at org.openhab.binding.boschshc.internal.services.valvetappet.ValveTappetServiceState.getPositionState(ValveTappetServiceState.java:33) ~[?:?] at org.openhab.binding.boschshc.internal.thermostat.ThermostatHandler.updateChannels(ThermostatHandler.java:60) ~[?:?] at org.openhab.binding.boschshc.internal.services.BoschSHCService.onStateUpdate(BoschSHCService.java:150) ~[?:?] at org.openhab.binding.boschshc.internal.services.BoschSHCService.refreshState(BoschSHCService.java:108) ~[?:?] at org.openhab.binding.boschshc.internal.BoschSHCHandler.handleCommand(BoschSHCHandler.java:122) ~[?:?] at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:191) ~[?:?] at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:267) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_252] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_252] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_252] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_252] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

coeing commented 3 years ago

Thanks for the report, @tuxianerDE ! There shouldn't be an exception in this case, of course. I will have a look.

coeing commented 3 years ago

@tuxianerDE It looks like the device itself was not found (the device ID might be incorrect). This resulted in an invalid state object (null) which was not (and shouldn't be) handled by the ThermostatHandler. Could you check if the device ID you added in the thing configuration is correct?

I added general error handling for state requests (#35 ). This should make sure that we get better logging if something like this happens again. Furthermore I added a new ticket (#34 ) to inform the user if he entered a non-existent device ID.

tuxianerDE commented 3 years ago

hi, the device is definetly detected as it does report back the temperature and also the roomclimate does tell the "desired" temperature. So the ID should be properly configured otherwise I would probably also not these values back. I can see that this night at mid-night I got the null point again when openhab reinstatet all bindings.

coeing commented 3 years ago

@tuxianerDE Alright, thanks for checking it. I would suggest that we keep this issue open and would like you to check the logs after we uploaded a new release with the pull request #35 included, so we can get some more details about the response of the controller. I will let you know when the new release is available! :)

tuxianerDE commented 3 years ago

@coeing where can I download that release so I can recheck it?

tuxianerDE commented 3 years ago

@coeing sweet Thanks. Will be home in a few hours and test it directly so that we get one step closer to 1.0

coeing commented 3 years ago

@tuxianerDE You probably saw the new release already :) https://github.com/stefan-kaestle/openhab2-addons/releases/tag/v1.0-beta.1

tuxianerDE commented 3 years ago

@coeing I am getting now the following exception: 2020-08-15 15:02:33.547 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: java.lang.Error: State request for service ValveTappet of device hdm:HomeMaticIP:3014F711A000239A185959F5 failed with status code 404 and error code ENTITY_NOT_FOUND at org.openhab.binding.boschshc.internal.BoschSHCBridgeHandler.getState(BoschSHCBridgeHandler.java:495) ~[?:?] at org.openhab.binding.boschshc.internal.services.BoschSHCService.refreshState(BoschSHCService.java:108) ~[?:?] at org.openhab.binding.boschshc.internal.BoschSHCHandler.handleCommand(BoschSHCHandler.java:124) ~[?:?] at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:191) ~[?:?] at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:267) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_252] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_252] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_252] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_252] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]

coeing commented 3 years ago

@tuxianerDE That's what I thought. It really looks like the device is not found i.e. the device ID might be incorrect. Could you post the list of found devices from your openhab.log?

tuxianerDE commented 3 years ago

2020-08-15 19:37:58.717 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rauchmelder id=hdm:HomeMaticIP:3014F711A00004DBB858F997 2020-08-15 19:37:58.719 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Lichtschalter id=hdm:HomeMaticIP:3014F711A0001918785A0573 2020-08-15 19:37:58.720 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Wohnzimmer links id=hdm:HomeMaticIP:3014F711A000009878588E10 2020-08-15 19:37:58.721 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Fenster Büro id=hdm:HomeMaticIP:3014F711A000009878588F9A 2020-08-15 19:37:58.722 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-IntrusionDetectionSystem- id=intrusionDetectionSystem 2020-08-15 19:37:58.723 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Zwischenstecker II id=hdm:HomeMaticIP:3014F711A00004987859043F 2020-08-15 19:37:58.725 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Wohnzimmer Steckdose id=hdm:HomeMaticIP:3014F711A00004953859F535 2020-08-15 19:37:58.726 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Fenster Links id=hdm:HomeMaticIP:3014F711A000009BB85A4DCE 2020-08-15 19:37:58.727 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rollade id=hdm:HomeMaticIP:3014F711A00018DA18591194 2020-08-15 19:37:58.728 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Fenster Rechts id=hdm:HomeMaticIP:3014F711A000009BB85A4DAA 2020-08-15 19:37:58.729 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Raumthermostat UG id=hdm:HomeMaticIP:3014F711A000239A185959F5 2020-08-15 19:37:58.730 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Wohnzimmer Mitte id=hdm:HomeMaticIP:3014F711A0000096D858BBD4 2020-08-15 19:37:58.731 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Fenster id=hdm:HomeMaticIP:3014F711A000009BB85A4D93 2020-08-15 19:37:58.732 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rollade id=hdm:HomeMaticIP:3014F711A00018DA18594C10 2020-08-15 19:37:58.734 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-PresenceSimulationService- id=presenceSimulationService 2020-08-15 19:37:58.735 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Raumthermostat EG id=hdm:HomeMaticIP:3014F711A000239A18595A2C 2020-08-15 19:37:58.736 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Fenster id=hdm:HomeMaticIP:3014F711A000009878588F89 2020-08-15 19:37:58.737 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Balkontür id=hdm:HomeMaticIP:3014F711A000009878588DFF 2020-08-15 19:37:58.738 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-VentilationService- id=ventilationService 2020-08-15 19:37:58.739 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-RoomClimateControl- id=roomClimateControl_hz_1 2020-08-15 19:37:58.741 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=RoomLightControl id=roomLightControl_hz_6 2020-08-15 19:37:58.743 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rauchmelder id=hdm:ZigBee:000d6f0015ddbf33 2020-08-15 19:37:58.744 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rolladen Balkon id=hdm:HomeMaticIP:3014F711A00018DA18594E3A 2020-08-15 19:37:58.745 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rauchmelder Flur id=hdm:HomeMaticIP:3014F711A00004D87858D9D2 2020-08-15 19:37:58.746 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Rolladen großes Fenster id=hdm:HomeMaticIP:3014F711A00018DA18591182 2020-08-15 19:37:58.747 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-RoomClimateControl- id=roomClimateControl_hz_3 2020-08-15 19:37:58.748 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=PhilipsHueBridgeManager id=hdm:PhilipsHueBridge:PhilipsHueBridgeManager 2020-08-15 19:37:58.749 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=-SmokeDetectionSystem- id=smokeDetectionSystem 2020-08-15 19:37:58.750 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=Kellerfenster id=hdm:HomeMaticIP:3014F711A000009878588E40 2020-08-15 19:37:58.751 [INFO ] [chshc.internal.BoschSHCBridgeHandler] - Found device: name=RoomLightControl id=roomLightControl_hz_1

tuxianerDE commented 3 years ago

The device is definetly recognized as I use it also as a thermostat thing besides the climate control. The Thermostat thing works as expected but does not give as a result the "tobe" temperature

coeing commented 3 years ago

@tuxianerDE The id looks indeed correct. Could you post a link to the kind of hardware you are using there? You name it "Raumthermostat UG", but the "thermostat" binding is meant for a radiator thermostat like this one: https://www.amazon.de/Bosch-Smart-Home-Heizk%C3%B6rper-Thermostat-App-Funktion/dp/B01N691S9A

If you have a climate control device you have to use the "climate-control" binding. This would explain why the ValveTappet request fails as a climate control device has no valve.

tuxianerDE commented 3 years ago

https://www.bosch-smarthome.com/de/de/produkte/smart-system-solutions/raumthermostat

That one I am using.

tuxianerDE commented 3 years ago

Ok so I updated and removed the thermostat piece. Dont see an error set temperature is reported as NULL as I am currently in summer mode. Would have expected 0 but I can handle that via a mapping, OR should we do that in the binding?

tuxianerDE commented 3 years ago

I suggest we close this issue and track this further in #37 as this is related to the room climate piece and not the valve?