Testers needed for redesigned Kostal Inverter binding

Hi all!
I have redesigned an existing binding for Kostal solar inverters. Thanks a lot to the original designers from who I have had very good knowledge, due to reed and learn from the original code.

This one will work with the Piko inverter - the new generation.
I have tested it myself with an Piko 12 inverter and I have got help to use it on more inverters, but they are all regarding to the new generation.
Please test it on all generations, and I will be pleased.

See link below for the binding!

Regards Örjan

Hi,

I will get end of april a PIKO MP2.5.
So the binding should work now with this “New Generation” part?
When it is up and running, I will be happy to test :wink:

Holger

Hi,
Please test the binding.
I have had it running for mine Kostal 12.3 for almost a year and before that for mine Kostal 8.5, booth regarding to New Generation.
Another user have it running as well but I don’t know the type, but it is an New Generation inverter.
Looking forward to see what you found out about the binding, and just let me know if there is anything I can do to help.

Best regards Örjan

Hello,
what is the current status of this binding?
The github link does not work anymore and it doesn’t seem to be available in openhab 2.4 out-of-the-box!

Regards
Bernd

Hi!
Have you tested this: https://github.com/basse04/Openhab-Kostal-Piko-NewGen
This is the latest.
Plese try, and let me know.
There is an ongoing change of openhab, so my next step will be yo upgrade this binding regarded to this new system and then hopefully will it be ready for to be a part of openhab.

Best Regards Basse

Hello Basse.
thanks for the new link!

I downloaded the .jar and put it in the addons folder. I can also see the new binding in the PaperUI, but I cannot find out how to configure the binding.
PaperUI doesn’t offer any configuration, like setting the IP of the Piko.
How do I configure this?

Regards
Bernd

Hi!
Good, then there is hope I think.
I’m as I said in the progress to upgrade the binding, but I am quit sure that this should work, otherwise just let me know, or actually let me now anyhow.

Please, try with the examples below.

BR Basse

demo.things
kostalinverterpikonewgen:kostalinverterpikonewgen:inverter [ url="http:// ‘IP to your inverter’ ", refreshInterval=60]

demo.items
Number:Power SolarPower “AC Power [%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridOutputPower” }
Number:Power SolarPower_Max “Todays Maximum [%.2f W]”
Number:Power SolarPower_Min “Todays Mimimum [%.2f W]”
Number SolarPowerChart “Chart Period Solar Power”
DateTime SolarPowerTimestamp “Last Update AC Power [%1$ta %1$tR]”

Number SolarPowerOverload “AC Power Overload [%.2f ]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridOutputPower” }

Number:Energy SolarEnergyDay “Day Energy [%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:yield_Day” }
Number:Energy SolarEnergyDay_Max “Todays Maximum [%.2f Wh]”
Number:Energy SolarEnergyDay_Min “Todays Mimimum [%.2f Wh]”
Number SolarEnergyDayChart "Chart Period SolarEnergyDay "
DateTime SolarEnergyDayTimestamp “Last Update Day Energy [%1$ta %1$tR]”

Number:Energy SolarTotalEnergy “Total Energy [%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:yield_Total” }
Number:Energy SolarTotalEnergy_Max “Todays Maximum [%.2f kWh]”
Number:Energy SolarTotalEnergy_Min “Todays Mimimum [%.2f kWh]”
Number SolarTotalEnergyChart "Chart Period SolarTotalEnergy "
DateTime SolarTotalEnergyTimestamp “Last Update Total Energy [%1$ta %1$tR]”

Number SolarStatus “Status[%s]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:batStateOfCharge” }
Number SolarStatus_Max “Todays Maximum [%s]”
Number SolarStatus_Min “Todays Mimimum [%s]”
Number SolarStatusChart "Chart Period SolarStatus "
DateTime SolarStatusTimestamp “Last Update Solar Status [%1$ta %1$tR]”

Number:ElectricPotential GridVoltageL1 “L1 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridVoltageL1” }
Number:ElectricCurrent GridCurrentL1 “L1 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridCurrentL1” }
Number:Power GridPowerL1 “L1 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridPowerL1” }
Number:ElectricPotential GridVoltageL2 “L2 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridVoltageL2” }
Number:ElectricCurrent GridCurrentL2 “L2 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridCurrentL2” }
Number:Power GridPowerL2 “L2 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridPowerL2” }
Number:ElectricPotential GridVoltageL3 “L3 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridVoltageL3” }
Number:ElectricCurrent GridCurrentL3 “L3 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridCurrentL3” }
Number:Power GridPowerL3 “L3 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridPowerL3” }
Number:Power DcPvPower “PV Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dcPowerPV” }
Number:ElectricPotential DC1Voltage “DC1 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc1Voltage” }
Number:ElectricCurrent DC1Current “DC1 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc1Current” }
Number:Power DC1Power “DC1 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc1Power” }
Number:ElectricPotential DC2Voltage “DC2 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc2Voltage” }
Number:ElectricCurrent DC2Current “DC2 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc2Current” }
Number:Power DC2Power “DC2 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc2Power” }
Number:ElectricPotential DC3Voltage “DC3 Voltage[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc3Voltage” }
Number:ElectricCurrent Dc3Current “DC3 Current[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc3Current” }
Number:Power DC3Power “DC3 Power[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:dc3Power” }

Number:Power AktHomeConsumptionSolar “Home Consumption Solar[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:aktHomeConsumptionSolar” }
Number:Power AktHomeConsumptionBat “Home Consumption Battery[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:aktHomeConsumptionBat” }
Number:Power AktHomeConsumptionGrid “Home Consumption Grid[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:aktHomeConsumptionGrid” }
Number:Power PhaseSelHomeConsumpL1 “Home Consumption L1[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:phaseSelHomeConsumpL1” }
Number:Power PhaseSelHomeConsumpL2 “Home Consumption L2[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:phaseSelHomeConsumpL2” }
Number:Power PhaseSelHomeConsumpL3 “Home Consumption L3[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:phaseSelHomeConsumpL3” }
Number:Frequency GridFreq “Grid Frequency[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridFreq” }
Number:Angle GridCosPhi “Grid Phase Shift[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:gridCosPhi” }
Number:Energy HomeConsumption_Total “Home Consumption Daily[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:homeConsumption_day” }
Number:Energy OwnConsumption_Total “Own Consumption Daily[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:ownConsumption_day” }
Number:Dimensionless OwnConsRate “Own Cons Rate Daily[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:ownConsRate_day” }
Number:Dimensionless AutonomyDegree “Autonomy Degree Daily[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:autonomyDegree_day” }
Number:Energy HomeConsumption “Home Consumption Total[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:homeConsumption_Total” }
Number:Energy OwnConsumption “Own Consumption Total[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:ownConsumption_Total” }
Number:Time OperatingTime “Operating Time Total[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:totalOperatingTime” }
String Current “Current[%s]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:current” }
String CurrentDir “Current Dir[%s]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:currentDir” }
String ChargeCycles “Charge Cycles[%s]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:chargeCycles” }
Number:Temperature Temperature “Temperature[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:temperature” }
Number:Time Loginterval “Log Interval[%.2f %unit%]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:loginterval” }
String S0InPulseCnt “S0 In Pulse Counter[%s]” { channel=“kostalinverterpikonewgen:kostalinverterpikonewgen:inverter:s0InPulseCnt” }

demo.sitemaps
Frame label=“Sun Energy” {
Text item=SolarPower {
Frame {
Text item=SolarPower_Max valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
//Text item=SolarPower_Min valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
Text item=SolarPowerTimestamp visibility=[SolarPowerTimestamp>30] valuecolor=[SolarPowerTimestamp>120=“orange”, SolarPowerTimestamp>300=“red”]
}
Frame {
Switch item=SolarPowerChart label=“Period’s for charts” mappings=[0=“Hour”, 1=“Day”, 2=“Week”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarPower,SolarPower_Max,SolarPower_Min&period=h” refresh=600 visibility=[SolarPowerChart==0,SolarPowerChart==“null”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarPower,SolarPower_Max,SolarPower_Min&period=D” refresh=3600 visibility=[SolarPowerChart==1]
Image url=“http://localhost:8080/rrdchart.png?items=SolarPower,SolarPower_Max,SolarPower_Min&period=W” refresh=3600 visibility=[SolarPowerChart==2]
}
}
Text item=SolarEnergyDay {
Frame {
//Text item=SolarEnergyDay_Max valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
//Text item=SolarEnergyDay_Min valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
Text item=SolarEnergyDayTimestamp visibility=[SolarEnergyDayTimestamp>30] valuecolor=[SolarEnergyDayTimestamp>120=“orange”, SolarEnergyDayTimestamp>300=“red”]
}
Frame {
Switch item=SolarEnergyDayChart label=“Period’s for charts” mappings=[0=“Hour”, 1=“Day”, 2=“Week”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarEnergyDay,SolarEnergyDay_Max,SolarEnergyDay_Min&period=h” refresh=600 visibility=[SolarEnergyDayChart==0,SolarEnergyDayChart==“null”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarEnergyDay,SolarEnergyDay_Max,SolarEnergyDay_Min&period=D” refresh=3600 visibility=[SolarEnergyDayChart==1]
Image url=“http://localhost:8080/rrdchart.png?items=SolarEnergyDay,SolarEnergyDay_Max,SolarEnergyDay_Min&period=W” refresh=3600 visibility=[SolarEnergyDayChart==2]
}
}
Text item=SolarTotalEnergy {
Frame {
Text item=SolarTotalEnergy_Max valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
Text item=SolarTotalEnergy_Min valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
Text item=SolarTotalEnergyTimestamp visibility=[SolarTotalEnergyTimestamp>30] valuecolor=[SolarTotalEnergyTimestamp>120=“orange”, SolarTotalEnergyTimestamp>300=“red”]
}
Frame {
Switch item=SolarTotalEnergyChart label=“Period’s for charts” mappings=[0=“Hour”, 1=“Day”, 2=“Week”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarTotalEnergy,SolarTotalEnergy_Max,SolarTotalEnergy_Min&period=h” refresh=600 visibility=[SolarTotalEnergyChart==0,SolarTotalEnergyChart==“null”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarTotalEnergy,SolarTotalEnergy_Max,SolarTotalEnergy_Min&period=D” refresh=3600 visibility=[SolarTotalEnergyChart==1]
Image url=“http://localhost:8080/rrdchart.png?items=SolarTotalEnergy,SolarTotalEnergy_Max,SolarTotalEnergy_Min&period=W” refresh=3600 visibility=[SolarTotalEnergyChart==2]
}
}
Text item=SolarStatus {
Frame {
//Text item=SolarStatus_Max valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
//Text item=SolarStatus_Min valuecolor=[>25=“orange”,>15=“green”,>5=“orange”,<=5=“blue”]
Text item=SolarStatusTimestamp visibility=[SolarStatusTimestamp>30] valuecolor=[SolarStatusTimestamp>120=“orange”, SolarStatusTimestamp>300=“red”]
}
Frame {
Switch item=SolarStatusChart label=“Period’s for charts” mappings=[0=“Hour”, 1=“Day”, 2=“Week”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarStatus,SolarStatus_Max,SolarStatus_Min&period=h” refresh=600 visibility=[SolarStatusChart==0,SolarStatusChart==“null”]
Image url=“http://localhost:8080/rrdchart.png?items=SolarStatus,SolarStatus_Max,SolarStatus_Min&period=D” refresh=3600 visibility=[SolarStatusChart==1]
Image url=“http://localhost:8080/rrdchart.png?items=SolarStatus,SolarStatus_Max,SolarStatus_Min&period=W” refresh=3600 visibility=[SolarStatusChart==2]
}
}
Text label=“DC Overview” icon=“energy”{
Frame label=“DC1 Overview” {
Text item=Dc1Voltage {
Frame {
Text item=Dc1Voltage
}
}
Text item=Dc1Current {
Frame {
Text item=Dc1Current
}
}
Text item=Dc1Power {
Frame {
Text item=Dc1Power
}
}
}
Frame label=“DC2 Overview” {
Text item=Dc2Voltage {
Frame {
Text item=Dc1Voltage
}
}
Text item=Dc2Current {
Frame {
Text item=Dc1Current
}
}
Text item=Dc2Power {
Frame {
Text item=Dc1Power
}
}
}
Frame label=“DC3 Overview” {
Text item=Dc3Voltage {
Frame {
Text item=Dc3Voltage
}
}
Text item=Dc3Current {
Frame {
Text item=Dc3Current
}
}
Text item=Dc3Power {
Frame {
Text item=Dc3Power
}
}
}
}
Text label=“Grid Overview” icon=“energy”{
Frame label=“L1 Overview” {
Text item=GridVoltageL1 {
Frame {
Text item=GridVoltageL1
}
}
Text item=GridCurrentL1 {
Frame {
Text item=GridCurrentL1
}
}
Text item=GridPowerL1 {
Frame {
Text item=GridPowerL1
}
}
}
Frame label=“L2 Overview” {
Text item=GridVoltageL2 {
Frame {
Text item=GridVoltageL2
}
}
Text item=GridCurrentL2 {
Frame {
Text item=GridCurrentL2
}
}
Text item=GridPowerL2 {
Frame {
Text item=GridPowerL2
}
}
}
Frame label=“L3 Overview” {
Text item=GridVoltageL3 {
Frame {
Text item=GridVoltageL3
}
}
Text item=GridCurrentL3 {
Frame {
Text item=GridCurrentL3
}
}
Text item=GridPowerL3 {
Frame {
Text item=GridPowerL3
}
}
}
}
}

Hi!
Hope everything works as expected. I will be away from my keyboard over the weekend but I will be back Monday so just type on and I will answer asap.

//Basse

I can’t get your items and sitemaps to work. Maybe this is because I have turned on “simple mode” for “item linking”?
Well, this is my day 3 with openhab, so I’m really a newbie :smiley:

But when I add your .things, I can see the kostal inverter thing in the PaperUI and can link the channels there :slight_smile:

Regards
Bernd

I just noticed that the binding causes a lot of warning in the log.
Like this:

2019-05-26 11:41:10.175 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel temperature although the handler was already disposed.

Doesn’t seem to be a problem, but not nice having so many warnings in the log…

This morning openhab showed the kostal inverter to be offline.
Turned out that it was not offline, but die binding had a NullPointerException.

This is the entry from the log:
2019-05-27 05:57:19.406 [hingStatusInfoChangedEvent] - ‘kostalinverterpikonewgen:kostalinverterpikonewgen:inverter’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): java.lang.NullPointerException:null

2019-05-27 05:59:19.906 [hingStatusInfoChangedEvent] - ‘kostalinverterpikonewgen:kostalinverterpikonewgen:inverter’ changed from OFFLINE (COMMUNICATION_ERROR): java.lang.NullPointerException:null to ONLINE

Regards
Bernd

Hi!
Thank’s, for your input.
I have seen these fault-messages and I will remember they are regarded to the non working item and sitemap issues. About ONLINE/OFFLINE/ONLINE do I have to check.
I will be om the road working today but hopefully will I be able to have a look this evening. I’ll be back
.
//Basse

Hi Basse,
Thanks for your work! But no need to hurry :wink:
I will be on vacation in Mallorca for one week, starting tomorrow. So I can’t test for one week…

Regards
Bernd

Hi,
Ok, have a very nice week in the sun and maybe at beaches / mountains then.
We keep in touch.

Br Basse

Hello, I am back with a question :wink:
The webpage of my Kostal PIKO 6.0 BA shows following values on the statistics page:
Day Yield 4.3kWh
Day Home-consumption 5.3kWh
Day Self-consumption 4.0kWh
Day Self-consumption rate 92.0%
Day Degree of self-sufficiency 75.4%

Total Yield 3,529.9kWh
Total Home-consumption 7.0MWh
Total Self-consumption 2.0MWh
Total Self-consumption rate 56.4%
Total Degree of self-sufficiency 28.6%
Total Operation time 3,723h

I don’t see how these values fit to the values shown by the binding:
Home Consumption Day 6959.81 kWh
Own Consumption Day 36.00 kWh
Own Cons Rate Day 56 %
Autonomy Degree Day 29 %
Home Consumption Total 5307.95 kWh
Own Consumption Total 1990.14 kWh

Regards
Bernd

Hi!

  Great to see that you got values, I will take a closer look asap,

but I am afraid it will not be until next week.

I am in a little hurry this weekend, sorry for that :slight_smile:

//Basse

Hi!

  This is a very good question, and I hope that I have an answer. I

have messed up the day and total values for some posts. Sorry for
that.

So, Please, try the latest binding at [https://github.com/basse04/Openhab-Kostal-Piko-NewGen

  ](https://github.com/basse04/Openhab-Kostal-Piko-NewGen)

and just let me know if and how it works.

Best Regards Basse

Hello,
the latest version does not work for me.
Says “Status: UNINITIALIZED - HANDLER_MISSING_ERROR” in PaperUI->Configuration->Things

This is in the log:
2019-06-09 21:26:09.326 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel ownConsumption_Total although the handler was already disposed.

2019-06-09 21:26:09.328 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel totalOperatingTime although the handler was already disposed.

2019-06-09 21:26:09.331 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel current although the handler was already disposed.

2019-06-09 21:26:09.333 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel currentDir although the handler was already disposed.

2019-06-09 21:26:09.335 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel chargeCycles although the handler was already disposed.

2019-06-09 21:26:09.337 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel temperature although the handler was already disposed.

2019-06-09 21:26:09.340 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel loginterval although the handler was already disposed.

2019-06-09 21:26:09.342 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler of thing kostalinverterpikonewgen:kostalinverterpikonewgen:inverter tried updating channel s0InPulseCnt although the handler was already disposed.

2019-06-09 21:26:09.343 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler KostalInverterPikoNewGenHandler tried updating the thing status although the handler was already disposed.

Hi!

  I have seen this also, I will have a closer look, but I will

remember that I have found the fault in the demo.items file.

I will be back asap.

//Basse

After a restart of my Raspberry Pi, the binding does not show up in PaperUI at all.
The log now shows this:

2019-06-09 21:46:52.906 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.kostalinverternewgen-2.5.0.jar

org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.kostalinverterpikonewgen [213]

Unresolved requirement: Import-Package: com.google.gson; version=“2.8.2”

at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?]

at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [10:org.apache.felix.fileinstall:3.6.4]

at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [10:org.apache.felix.fileinstall:3.6.4]