Openhab-addons: [groheondus] adding Sense Guard - remains Uninitialized

Created on 28 Oct 2019  路  5Comments  路  Source: openhab/openhab-addons

Have a fresh installation of openhab 2.5m4 and added this binding.
Installation was difficult, but I managed to have the account thing "online" using the Token.
The Guard was discovered correctly, but adding it shows the following problem in the logs:

Expected Behavior

Status of Thing should change to "online"

Current Behavior

Status of Thing remains status "UNINITIALIZED - HANDLER_CONFIGURATION_PENDING"

2019-10-28 21:32:21.828 [event.ThingStatusInfoEvent] - 'groheondus:account:65d45eb3' updated: UNKNOWN
2019-10-28 21:32:21.829 [hingStatusInfoChangedEvent] - 'groheondus:account:65d45eb3' changed from UNINITIALIZED (HANDLER_INITIALIZING_ERROR): Unknown response with code 404 to UNKNOWN
2019-10-28 21:32:22.286 [event.ThingStatusInfoEvent] - 'groheondus:account:65d45eb3' updated: ONLINE
2019-10-28 21:32:22.288 [hingStatusInfoChangedEvent] - 'groheondus:account:65d45eb3' changed from UNKNOWN to ONLINE
==> /var/log/openhab2/openhab.log <==
2019-10-28 21:33:43.543 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' to inbox.
==> /var/log/openhab2/events.log <==
2019-10-28 21:33:43.543 [home.event.InboxAddedEvent] - Discovery Result with UID 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' has been added.
2019-10-28 21:34:08.304 [me.event.InboxRemovedEvent] - Discovery Result with UID 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' has been removed.
2019-10-28 21:34:08.305 [home.event.ThingAddedEvent] - Thing 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' has been added.
2019-10-28 21:34:08.318 [event.ThingStatusInfoEvent] - 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' updated: UNINITIALIZED (HANDLER_CONFIGURATION_PENDING)
2019-10-28 21:34:08.319 [hingStatusInfoChangedEvent] - 'groheondus:senseguard:8ed4880d-0df4-4c8e-8106-ba0f71485d5a' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_CONFIGURATION_PENDING)

Possible Solution

Somehow I cannot get the loglevel changed for this binding as I have it on TRACE for every other binding. Strange..

Steps to Reproduce (for Bugs)

  • Install binding using token
  • add thing as soon as it auto-discoveres

Context

My device is not yet installed in the water-pipe, so all numbers might be 0. It is brand new.

Your Environment

Openhab2.5m4 using virtual ubuntu 18.04.

bug

Most helpful comment

Hi! I could reproduce this problem, when you configure the water consumption timeframe value, the thing get's initialized and turns online after some time, depending on the timeframe (it got online immediately for me) without any error message.

However, I would agree to the point, that this value should have a default value, so that if a thing is added from the paper UI, it comes online directly. It would be pretty hard to find for an arbitrary user to see that there's a configuration missing. Do you agree on adding a default value? If so, what would be a suiteable one from your point of view?

All 5 comments

I found that I can define a value here despite having this uninitialized item:

image

Which caused the status of the item to change to "unknown" and I have this in my logs:

java.lang.NullPointerException: null
    at org.openhab.binding.groheondus.internal.handler.GroheOndusSenseGuardHandler.getApplianceData(GroheOndusSenseGuardHandler.java:156) ~[?:?]
    at org.openhab.binding.groheondus.internal.handler.GroheOndusSenseGuardHandler.getLastDataPoint(GroheOndusSenseGuardHandler.java:138) ~[?:?]
    at org.openhab.binding.groheondus.internal.handler.GroheOndusSenseGuardHandler.getLastDataPoint(GroheOndusSenseGuardHandler.java:1) ~[?:?]
    at org.openhab.binding.groheondus.internal.handler.GroheOndusBaseHandler.updateChannels(GroheOndusBaseHandler.java:107) ~[?:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) ~[?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) ~[?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) ~[?:?]
    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) [?:?]

Hi! I could reproduce this problem, when you configure the water consumption timeframe value, the thing get's initialized and turns online after some time, depending on the timeframe (it got online immediately for me) without any error message.

However, I would agree to the point, that this value should have a default value, so that if a thing is added from the paper UI, it comes online directly. It would be pretty hard to find for an arbitrary user to see that there's a configuration missing. Do you agree on adding a default value? If so, what would be a suiteable one from your point of view?

Hi Florian,
I agree that there should be a default value, but I have no Idea what that parameter does or want. I am the wrong person to ask. But if you ask me, just by looking at the description, I would expect one(1).

Hi! I could reproduce this problem, when you configure the water consumption timeframe value, the thing get's initialized and turns online after some time, depending on the timeframe (it got online immediately for me) without any error message.

However, I would agree to the point, that this value should have a default value, so that if a thing is added from the paper UI, it comes online directly. It would be pretty hard to find for an arbitrary user to see that there's a configuration missing. Do you agree on adding a default value? If so, what would be a suiteable one from your point of view?

This saved me after some head scratching.
Also thank you for all your work with the binding!

So, the waterconsumption channel, as it describes, shows the amount of litres of water consumed in the configured timeframe. As the app shows the 1 day consumption by default, I think that this is a good default value in the binding as well :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

LukasA83 picture LukasA83  路  5Comments

Alex5719 picture Alex5719  路  6Comments

DanielMalmgren picture DanielMalmgren  路  5Comments

kubawolanin picture kubawolanin  路  4Comments

trailblazer2006 picture trailblazer2006  路  6Comments