Fronius crashing?

I have a fronius Symo 6.0-3-M

I’m using t he fronius binding and I upload the data directly so I can see it in grafana
I don’t have the current values in the openhab screen. I’m more interested in the history data, for which grafana is a good choice (I have similar graphics for temperature etc)

I noticed a few problems

  • not all days I get data
    I suspect that the binding crashes ==> how can I verify this when this happened hours ago? (aka logging is already gone)

  • when I get a day total, it seems to be recorded at 02 am , instead of 00

When I add a space to the configuration file and upload that again
I get this crash in the log while “removing the binding”

21:19:34.283 [ERROR] [home.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null
java.lang.NullPointerException: null
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannel(FroniusBaseThingHandler.java:110) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.handleCommand(FroniusBaseThingHandler.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:278) ~[?:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:300) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]
21:19:34.268 [ERROR] [home.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null
java.lang.NullPointerException: null
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannel(FroniusBaseThingHandler.java:110) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.handleCommand(FroniusBaseThingHandler.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:278) ~[?:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:300) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]
21:19:34.262 [ERROR] [home.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null
java.lang.NullPointerException: null
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannel(FroniusBaseThingHandler.java:110) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.handleCommand(FroniusBaseThingHandler.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:278) ~[?:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:300) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]
21:19:34.229 [ERROR] [home.core.thing.link.ThingLinkManager] - Exception occurred while informing handler: null
java.lang.NullPointerException: null
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannel(FroniusBaseThingHandler.java:110) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.handleCommand(FroniusBaseThingHandler.java:49) ~[?:?]
at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:278) ~[?:?]
at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:300) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:?]
at java.lang.Thread.run(Thread.java:745) [?:?]

My thing setting now is

Bridge fronius:bridge:mybridge [hostname=“192.168.1.111”,refreshInterval=60] {
Thing powerinverter myinverter [ deviceId=1 ]
}

on the documentation it says that refresh interval is seconds. I don’t think it’s a good idea to refresh every 5 seconds. I don’t even need that. Even once every minute feels needed.

What is the adviced number?

Don’t know why you’d add a space to a config, but the NPE is a defect.

A) NPE you mean null pointer exception?
B) I added the space to the config file, so it was a change in the source control system and it will be re-downloaded on the OpenHab machine, triggering the Refreshing model

Yes, NPE = NullPointerException. They’re almost always a defect.

I know that null pointer exceptions are bad (why I posted that)
I just was not sure what the abbreviation ment in this case. I have seen too many abbreviations being misunderstood to not ask.

so how can I find someone who can help fixing this bug? it seems to crash like every other day

I recommend filing an issue.

Actually, while reviewing this, I found issue #3556, already filed, which may be the same.

And I posted a test jar which should resolve the NPE.

I only saw this now.
I also see this is merged, can I assume that this is in current install ? (Installed today openHAB 2.4.0 Build #1308) + have enabled " Remote Add-on Repository" for a while

I don’t really have any knowledge of how/when/where OH2 addons get built or assembled into larger units.

@Kai I think you merged this. I assume you have the answer to my question?

So far 2 hours later fronius seems to ot have crashed.

This brings me to another questions, what is the correct number to question the fronius device. It’s now set to every 5 minutes. Isn’t that overkill? Or is this needed for getting correct data for statistics?

A day later, this still works.
Thanks for fixing this.

A few months later, I occasionally still have fronius crashes.

As I don’t always have a look at the fronius data, I miss out data from a few days if I don’t notice it quickly.

Is there a way to check what is the last update?

Hi
thank you for the test jar, this version works better but I still get NPE.
my log

2018-10-31 09:31:39.340 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception
java.lang.NullPointerException: null
at org.openhab.binding.fronius.handler.FroniusSymoInverterHandler.getValue(FroniusSymoInverterHandler.java:86) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannel(FroniusBaseThingHandler.java:99) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBaseThingHandler.updateChannels(FroniusBaseThingHandler.java:85) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusSymoInverterHandler.refresh(FroniusSymoInverterHandler.java:58) ~[?:?]
at org.openhab.binding.fronius.handler.FroniusBridgeHandler.lambda$0(FroniusBridgeHandler.java:109) ~[?:?]
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) [?:?]

I have installed this jar on a OH2 v2.3.0 installation.
Can you help?
thanks.

There is another NPE fixed, just a month ago

I think we need to install the milestone releases. (I haven’t done it myself)

1 Like

I installed M5 tonight. WIll see if fronius gets updated the full day tomorrow and report if the crashes are gone

11 hours later, I still get fronius updates.

I got updates from fronius till 17:58, which is about when it became dark.
So for about 21 hours, fronius did not crash.
I think it’s fair to say it’s solved from update 2.4 Milestone 5

Hi yves thx for the update. How did you install 2.4 milestone 5? Is it from the config menu in comnand line or anything else?
Thanks