Hello guys,
I am happy new owner of Philips 3000i series. I have connected through the addon and CoAP.
I am looking for a documentation how to switch between different modes.
Should I simply rewrite Mode channel from AG to something different?
Thank you,
otherwise much better comparing to Xiamoi Air Purifier 2S!
I try to use the binding to access the AC 2889 in Openhab.
Installed:
openhab-transport-coap │ 3.4.0 │ x │ Started │ distro-3.4.0 │ CoAP Transport
openhab-transport-upnp │ 3.4.0 │ x │ Started │ distro-3.4.0 │ UPnP Transport
org.openhab.binding.philipsair │ 3.4.0.SNAPSHOT │ x │ Started │ org.openhab.binding.philipsair-3.4.0-SNAPSHOT │ openHAB Add-ons :: Bundles :: Philips Air Purifie
Philips air binding installed from market place.
Exception:
java.lang.IllegalArgumentException: Empty key
at javax.crypto.spec.SecretKeySpec.(SecretKeySpec.java:95) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirCipher.initKey(PhilipsAirCipher.java:76) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirHttpAPIConnection.initCipher(PhilipsAirHttpAPIConnection.java:91) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirHttpAPIConnection.(PhilipsAirHttpAPIConnection.java:82) ~[?:?]
at org.openhab.binding.philipsair.internal.PhilipsAirHandler.getConnection(PhilipsAirHandler.java:208) ~[?:?]
at org.openhab.binding.philipsair.internal.PhilipsAirHandler.lambda$0(PhilipsAirHandler.java:193) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
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-01-08 13:07:09.400 [INFO ] [hilipsair.internal.PhilipsAirHandler] - Exception while updating thing: Empty key
java.lang.IllegalArgumentException: Empty key
at javax.crypto.spec.SecretKeySpec.(SecretKeySpec.java:95) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirCipher.initKey(PhilipsAirCipher.java:76) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirHttpAPIConnection.initCipher(PhilipsAirHttpAPIConnection.java:91) ~[?:?]
at org.openhab.binding.philipsair.internal.connection.PhilipsAirHttpAPIConnection.(PhilipsAirHttpAPIConnection.java:82) ~[?:?]
at org.openhab.binding.philipsair.internal.PhilipsAirHandler.getConnection(PhilipsAirHandler.java:208) ~[?:?]
at org.openhab.binding.philipsair.internal.PhilipsAirHandler.updateThing(PhilipsAirHandler.java:227) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?]
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) [?:?]
After initialization, the Things is ‘offline’ in OH.
The AC2889 is located at a different VLAN than my OpenHab Instance.
The airctrl command was issued from the same host as the OpenHab Instancew runs on.
Works for me with AC2939/10 and OpenHAB 3.4.1 using COAP protocol. As soon as OpenHAB and the air purifier were located in the same network it was automatically discovered and shown in the Things Inbox. Thanks for contributing this addon!
The 2 commands are in the first post. Enter them in the openhab console.
This is only needed when the binding does not load well. (e.g. if you don’t see any possibility to add a Philips air thing)
Thanx for this add-on.
I saw in the channel-groups.xml that there are also channels for temp and humidity.
I tired adding them via a items file, but they don’t seem to get retrieved (Stay NULL)
Number PhilipsAirPurifierAC382910Humidity "Humidity" <airpurifier> {channel="philipsair:coap:dc4a03f40a0911ea88b90abe45ce2be6:sensors-adv#rh"}
Number PhilipsAirPurifierAC382910Temp "Temp" <airpurifier> {channel="philipsair:coap:dc4a03f40a0911ea88b90abe45ce2be6:sensors-adv#temp"}
Reading work fine, but changing modes shows problems
When I change the mode via the item in the admin section of openHab web interface the mode on the device is changes but the new Mode in openHab is shown as NULL
When I change the mode via a rule with e.g. itemName.postUpdate(“S”) nothing at all happens
I suspect your device is using additional / different codes see also post of @misko903 who has slightly different values.
@misko903 you indicate M-Medium(1), M-Medium(2) (both M), is there some other value that differs from medium 1 and medium 2? (or is there 1 medium only?)
Does your model support manual or not at all?
It was much easier
The device simply does not react to postUpdate(), when I use sendCommand() it works!
What about this list in the interface, can I edit this somewhere? My AC2729 does not have all these options. And it seems the problem with the interface occours when I click on a non-existing one - so I would like to remove them…
I’m not sure you can easily change that. For the old basicUI you can define the mapping, but i’m nt sure if that is still possible with the newUI.
You can obviously recompile the binding and change the options, but that is somewhat inconvienient way of solving the matter.