Samsung Smart Air Conditioner - OpenHAB 2.0

My bad.
This should work for the source: https://gitlab.com/jan19/samsung-digital-inverter

/Jan

I get a 404, is the project publicly visible?

Try again now @kumy
The project has public access now.
Verified in another browser, without logging in.

1 Like

I confirm it’s working, thanks for sharing!

Hi guys. I’m trying to connect my A/C using https://www.openhab.org/v2.4/addons/bindings/samsungac1/
The guide is a little bit problemmatic to follow. What is .certificate? What should i type for .password?

I can confirm the binding stop working with the latest 2.5 stable…same as above posted by @Anquietas86 …any chanche to have it fixed? or the binding is no longer mantained?

Thanks

==> /var/log/openhab2/openhab.log <==
2019-12-17 20:31:55.108 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.samsungAC.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.samsungdigitalinverter [299]
 Unresolved requirement: Import-Package: org.eclipse.jdt.annotation; resolution:="optional"
 Unresolved requirement: Require-Bundle: org.eclipse.smarthome.io.net

   at org.eclipse.osgi.container.Module.start(Module.java:444) ~[org.eclipse.osgi-3.12.100.jar:?]
   at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[org.eclipse.osgi-3.12.100.jar:?]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) [bundleFile:3.6.4]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) [bundleFile:3.6.4]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1221) [bundleFile:3.6.4]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:515) [bundleFile:3.6.4]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) [bundleFile:3.6.4]
   at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) [bundleFile:3.6.4]
2019-12-17 20:31:55.548 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/

Hi.
My Samsung Digital Inverter is not very cooperating these days. I have lost wifi connection to it.
Her seems to be som new requirements for bindings to work,
Unresolved requirement: Import-Package: org.eclipse.jdt.annotation; resolution:=“optional”
Unresolved requirement: Require-Bundle: org.eclipse.smarthome.io.net
I have to look into it, as soon as my A/C is back online.

I have a working version for OH 2.5, but the upgrade broke the select list for “Comfort Settings” and “Operating Mode” in PaperUI. The new version will be published as soon as these issues are fixed

Thank you very much!
Can’t wait to try it out!
Your work is really appreciated! :vulcan_salute:

@alexxio
@kumy
@Anquietas86

There is a new version, compatible with 2.5 ready for download at https://www.dropbox.com/s/zf6lh3zptwvcxlg/org.openhab.binding.samsungdigitalinverter-3.0.0-SNAPSHOT.jar?dl=0

Thank you very much!
It seems like everything is working, even if I keep getting this error:

==> /var/log/openhab2/openhab.log <==
2019-12-27 10:18:36.432 [ERROR] [andler.SamsungDigitalInverterHandler] - Exception occurred during execution: Division undefined
java.lang.ArithmeticException: Division undefined
	at java.math.BigDecimal.divide(BigDecimal.java:1667) ~[?:1.8.0_202]
	at org.openhab.binding.samsungdigitalinverter.handler.SamsungDigitalInverterHandler.lambda$0(SamsungDigitalInverterHandler.java:184) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_202]
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_202]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_202]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_202]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]

@alexxio, I have done some checking for NULL values, could you download the latest version, and give it a try?
The link is not changed.

thank you! seems ok now!

1 Like

I spoke too early :frowning: the problem still persists.
Do you need any information from me to try to fix it?

Thx for the update.
I do struggle with my IDE, I’m going to have a look into the problem as soon as my IDE is working again.

Hi Jan and all
I am trying the samsungdigitalinverter snapshot 3.0 but I cannot figure how to get the keystore pkcs12. Is there any tutorial or file to downlod somewere?
Does the digital inverter binding works with old 2878 devices too?

Thanks

I’m not familiar with the 2878 device.
Instructions for creating the keystore can be found here.

Hi Jan,

Thanks for your binding! I successfully installed and configured it on my 2.5 release build system. The binding generally working fine. Please let me feedback some observation that might help your development:

1, The Temperature and Inverter Temperature values does not seem to be updating. The Temperature returned by the binding is not the same as the front panel displays for the measured temperature.

2, There is an error message turning up time to time:

2020-01-06 22:30:29.695 [ERROR] [andler.SamsungDigitalInverterHandler] - Exception occurred during execution: Division undefined
java.lang.ArithmeticException: Division undefined
        at java.math.BigDecimal.divide(BigDecimal.java:1667) ~[?:1.8.0_222]
        at org.openhab.binding.samsungdigitalinverter.handler.SamsungDigitalInverterHandler.lambda$0(SamsungDigitalInverterHandler.java:189) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_222]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_222]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_222]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]

These are just cosmetic issues. The controls are working just fine.

Thanks again!

Thanks again Jan, I missed that part, now keystore is ok but I have a simple error message Invalid Http response and I cannot figure out what is missing here. Something related to powerusage maybe?

01:28:31.303 [ERROR] [handler.SamsungDigitalInverterHandler] - Invalid Http response
01:28:31.308 [ERROR] [handler.SamsungDigitalInverterHandler] - Exception occurred during execution: null
java.lang.NullPointerException: null
        at java.io.FileOutputStream.write(FileOutputStream.java:313) ~[?:1.8.0_152]
        at org.openhab.binding.samsungdigitalinverter.handler.SamsungDigitalInverterHandler.getPowerUsage(SamsungDigitalInverterHandler.java:220) ~[?:?]
        at org.openhab.binding.samsungdigitalinverter.handler.SamsungDigitalInverterHandler.lambda$0(SamsungDigitalInverterHandler.java:179) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_152]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_152]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_152]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_152]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_152]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_152]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_152]

I am able to connect using test python script, but trying openssl i get this message, don’t know if is relevant: SSL_CTX_use_certificate:ca md too weak

Is there something I can try?

Thanks again
D.

You can try accessing your AC with curl?
You need to replace the content between the brackets, including the brackets.
Please paste output here.

curl -k -H "Content-Type: application/json" -H "Authorization: Bearer <Replace with you key>" --cert /etc/openhab2/services/cert.pem --insecure -X GET https://<ip of samsung digital inverter>:8888/devices