* Improve matching the command responses to the sending channel
* Use newer method to get device list using `device_list_page`
* Adding the ability to send custom requests to cloud
* Adding the ability to send custom commands with additional elements in
the json
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] change deviceID to Xiaomi used string
Change the deviceId from the current hexadecimal to the string used by
Xiaomi.
This is needed as we have some devices that have deviceIds that are
non-numeric, hence breaking the current logic.
Note: separately removing the upnp discovery as this has become
irrelevant with cloud discovery and devices supporting the udp regular
discovery.
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Update bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [miio] add support for Mi Smart Standing Fan Pro Global (dmaker.fan.p15)
add support Mi Smart Standing Fan Pro EU/Global (dmaker.fan.p15)
Improve p8 & p9 fans
close#10843
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] improve timeunit
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Fixed typo for starting sequence
* Added support for "find me" & "test sound" function
* Added clear names for faults
Signed-off-by: Marcel Bossert-Schwab <mbossertschwab@gmx.de>
Viomi's property battery life seems to have a weird typo. The property's real name is `battary_life` instead of `battery_life`. Using the wrong name `battery_life` makes the other properties in the batch to be undefined: `"run_state","mode","err_state","battary_life","box_type"`
The correct name `battary_life` is already used in other projects like https://github.com/rytilahti/python-miio/blob/master/miio/viomivacuum.py#L316 or 0bed81ab4f/lib/robots/viomi/ViomiValetudoRobot.js (L254)
Signed-off-by: Antonio Tapiador del Dujo <atd@singularities.org>
* Resolve itest runbundles for Gson and Commons Lang upgrades
* Fix JsonParser deprecations too
* Fix feature verification
Signed-off-by: Wouter Born <github@maindrain.net>
* [miio] add support for zhimi.airpurifier.vb2 Mi Air Purifier Pro H
close#10174
* [miio] update modes to values visible in app
* [miio] cleanup and fix valuu mapping
* [miio] fix duration
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] Add zhimi heaters
add new
zhimi.heater.ma2 Mi Smart Space Heater S
zhimi.heater.ma3 Mi Smart Baseboard Heater E
zhimi.heater.mc2 Mi Smart Space Heater S
zhimi.heater.na1 Smartmi Smart Fan
zhimi.heater.nb1 Smartmi Smart Fan Heater
improving existing
zhimi.heater.za1 Smartmi Radiant Heater Smart Version
zhimi.heater.za2 Smartmi Smart Convector Heater 1S
zhimi.heater.zb1 Smartmi Smart Convector Heater 1S
* [miio] add some more options
* remove accidental development file
* [miio] fix number:duration
* [miio] remove channeltype from heaters
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
The ceiling10 Yeelight lamp has 2 dimmer for brightness:
"bright" for the main light and bg_bright for the ambient light.
Both are of type dimmer and accept percentage values between 1 and 100.
This fix changes the datatype of the bg_bright property from Number
to Dimmer in the device mapping database file ceiling4, which is also
the one that is used for the ceiling10 lamp.
Accepted without sign-off under minor change exemption.
* [miio] validate response id matching command id
This PR prevents out of sync issues in case devices are too slow to
respond or the timeout is set too short.
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] spotless adding space
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] update based on review
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] suggest correct devicenames in readmehelper
* add newline at file end to make git happy
* [miio] update logic for mapping in readmeComments
* Allow readme maker to fix mappings based on the current options.
* [miio] make readmeOptionMapping static
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] add support for basic huayi lights
also remove some double spaces in json files
* miio update devicenames
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* Update some of the miot files to the new definition
* Apply units,category & tags for some channels
* apply standard sorting
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] Add discovery from cloud feature.
This allows to discover things that are not directly on the same subnet
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
Co-authored-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>
* [miio] dynamically generate channelTypes
Simplify the json database creation for new models and less chance for
errors
Related to #7276
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
Co-authored-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>
* [miio] Implement alternative MiIoQuantityTypes
* Improved way avoiding multiple entries for Unit
* Test cases for the MiIoQuantityTypes class
* Apply suggestions from code review
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
Co-authored-by: Connor Petty <mistercpp2000+gitsignoff@gmail.com>
* [miio] Update channels only if they are linked
With introduction of miot devices with enormous amount of channels
refreshes can become slow. With this change only relevant updates are
done.
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
* [miio] Cloud Communication for devices
Allows to define if communication to devices is direct or send via the
Xiaomi cloud.
Introduce additional channel to execute commands via cloud.
Other small improvements
* Use common method from abstract handler to send commands
* Common way to handle custom commands
* Introduce small delay before refreshing robot properties after sending
commands (similar to the basic handler) so devices have time to update
their properties
* [miio] simplify cloudconnector
* [miio] Cleanup all jobs when unloading
* [miio] update to use dedicated ScheduledExecutorService
Use dedicated ScheduledExecutorService to avoid unloading problems
* Update bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java
* [miio] fix for removeif
* miio- Improve scheduler
* [miio] fix communication error if device is not on the network
* [miio] update with comments from feedback
* remove scheduler tracking
* improve status setting for cloud communication
* [miio] update with feedback review
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>
Co-authored-by: Connor Petty <mistercpp2000@gmail.com>
* [miio] update for vacuum.e2
small update now critical commands are confirmed working.
* [miio] update readme
as dock command is now also confirmed
Signed-off-by: Marcel Verpaalen <marcel@verpaalen.com>