Quick feedback and update:
Yesterday the OSK102 sticks from ecox arrived and I’ve installed one in my Senville (replaced the original Senville Alexa WiFi stick).
It works great!
After setting the Senville mini split to AP WiFi mode, the stick was found by the Senville mobile app to set the WiFi data (no cloud login required). This app was only required to do this initial WiFi setup.
Because the stick is version 2, I’ve added the thing manually in the OpenHAB UI by entering just the IP-Address (as @Justan wrote, no key and token required) and clicked the “create thing” button. Suddenly the thing has shown to be be online. 11 channels are available for the thing and I’ve done some very successful tests with the following small issues remaining (not a problem for me, but I want to share my findings):
- swingMode (String) works, but the modes HORIZONTAL and VERTICAL seems to be swapped. My mini split is only able to swing horizontally but it only works if I choose VERTICAL via OH. If I choose HORIZONTAL, it will automatically select OFF.
- tempUnit (Switch) behaves strange. It’s declared as an OH switch, but it does not stay on. If I switch it on, the temperature unit changes and stays until I change the targetTemperature. As soon as the targetTemperature is updated, the unit changes back. I don’t know how it should work?
One small problem is left which I would really hope to be able to solve:
Usually, I configure all my things and items via OH config files. To do this, I do one short test for every new binding via OH UI to temporary create the thing, check the configuration details, check the list of channels, create an temporary item, etc. When this works, I copy the data form the “Code” view in the UI and the possible channel ID’s and types and manually transfer the information to my thing and item files. Before writing the changes, I delete the temporary items and things which I’ve created via UI for testing. This always worked for me.
But for this mideaac binding, I was not able to create the thing in the thing-file and I can’t find the error (only the UI created thing/item works). I’ve activated TRACE log level for the binding and always get the following error:
...
2023-08-12 19:22:13.410 [DEBUG] [eaac.internal.handler.MideaACHandler] - MideaACHandler config for mideaac:ac:garage1 is org.openhab.binding.mideaac.internal.MideaACConfiguration@72061992
2023-08-12 19:22:13.411 [DEBUG] [eaac.internal.handler.MideaACHandler] - Configuration valid for mideaac:ac:garage1
2023-08-12 19:22:13.411 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.initialize()' on 'org.openhab.binding.mideaac.internal.handler.MideaACHandler@619c8aa7': null
java.lang.NullPointerException: null
at org.openhab.binding.mideaac.internal.handler.MideaACHandler.initialize(MideaACHandler.java:488) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2023-08-12 19:22:13.413 [ERROR] [core.thing.internal.ThingManagerImpl] - Exception occurred while initializing handler of thing 'mideaac:ac:garage1': null
java.lang.NullPointerException: null
at org.openhab.binding.mideaac.internal.handler.MideaACHandler.initialize(MideaACHandler.java:488) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:154) [bundleFile:?]
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52) [bundleFile:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2023-08-12 19:22:38.279 [DEBUG] [deaac.internal.MideaACHandlerFactory] - bundle org.openhab.binding.mideaac:3.3.0.202205311943 (313)[org.openhab.binding.mideaac.internal.MideaACHandlerFactory(373)] : Querying state active
2023-08-12 19:22:38.280 [DEBUG] [al.discovery.MideaACDiscoveryService] - bundle org.openhab.binding.mideaac:3.3.0.202205311943 (313)[org.openhab.binding.mideaac.internal.discovery.MideaACDiscoveryService(374)] : Querying state active
...
When creating the thing in the UI, I see the following working code:
UID: mideaac:ac:garage1
label: Senville mini split 1
thingTypeUID: mideaac:ac
configuration:
cloud: ""
password: ""
ipPort: "6444"
ipAddress: 192.168.xx.yy
pollingTime: 10
promptTone: false
deviceId: "-129xxxxxxxxxxxx"
email: ""
key: ""
timeout: 4
token: ""
But when I try the following line in the OH thing file, it does not work and I see the above shown errors in the log:
Thing mideaac:ac:garage1 "Senville mini split 1" @ "rvgarage" [ deviceId="-129xxxxxxxxxxxx", ipAddress="192.168.xx.yy", ipPort="6444", pollingTime=10.0, cloud="", password="", promptTone=false, email="", key="", token="", timeout=4 ]
I’ve tried with only a few config parameters and also with setting all of them. I’ve tried some values as string or as number with or without quotes, I’ve tried to create the channels together with the thing and without, but I can’t get it to work with thing file configuration.
Unfortunately I was not able to find an example for how to create the mideaac thing via thing file.
I’m sure, I’m doing something wrong, but I can’t find the reason?