Showing preview only (3,154K chars total). Download the full file or copy to clipboard to get everything.
Repository: jghaanstra/com.xiaomi-miio
Branch: master
Commit: fa88a92ffc95
Files: 711
Total size: 2.8 MB
Directory structure:
gitextract_j6yld1qx/
├── .github/
│ ├── FUNDING.yml
│ └── ISSUE_TEMPLATE/
│ └── new-device.md
├── .gitignore
├── .homeychangelog.json
├── .homeycompose/
│ ├── app.json
│ ├── capabilities/
│ │ ├── airfryer_careli_food_quantity.json
│ │ ├── airfryer_careli_mode.json
│ │ ├── airfryer_careli_target_temperature.json
│ │ ├── airfryer_careli_target_time.json
│ │ ├── airpurifier_heater_mode.json
│ │ ├── airpurifier_mode.json
│ │ ├── airpurifier_xiaomi_fanlevel.json
│ │ ├── airpurifier_zhimi_airfresh_mode.json
│ │ ├── airpurifier_zhimi_airpurifier_mb3_mode.json
│ │ ├── airpurifier_zhimi_fanlevel.json
│ │ ├── airpurifier_zhimi_mode.json
│ │ ├── alarm_desiccant_low.json
│ │ ├── alarm_filter_work_time.json
│ │ ├── alarm_main_brush_work_time.json
│ │ ├── alarm_sensor_dirty_time.json
│ │ ├── alarm_side_brush_work_time.json
│ │ ├── alarm_water_shortage.json
│ │ ├── dehumidifier_dmaker_mode.json
│ │ ├── diffuser_xwhzp_fragrance_out_time.json
│ │ ├── diffuser_xwhzp_mode.json
│ │ ├── fan_dmaker_mode.json
│ │ ├── fan_zhimi_angle.json
│ │ ├── fan_zhimi_mode.json
│ │ ├── heater_zhimi_heater_target_temperature.json
│ │ ├── heater_zhimi_heatlevel.json
│ │ ├── heater_zhimi_oscillation.json
│ │ ├── humidifier2_mode.json
│ │ ├── humidifier_deerma_jsq_mode.json
│ │ ├── humidifier_leshow_jsq1_mode.json
│ │ ├── humidifier_water_level_state.json
│ │ ├── humidifier_xiaomi_mode.json
│ │ ├── humidifier_zhimi_mode.json
│ │ ├── humidifier_zhimi_mode_miot.json
│ │ ├── measure_desiccant.json
│ │ ├── measure_desiccant_time.json
│ │ ├── measure_filter_days_left.json
│ │ ├── measure_filter_life.json
│ │ ├── measure_gas_density.json
│ │ ├── measure_smoke_density.json
│ │ ├── measure_target_humidity.json
│ │ ├── measure_tvoc.json
│ │ ├── measure_waterlevel.json
│ │ ├── petfeeder_busy.json
│ │ ├── petfeeder_eaten_food_today.json
│ │ ├── petfeeder_eaten_food_total.json
│ │ ├── petfeeder_food_in_bowl.json
│ │ ├── petfeeder_food_out_progress.json
│ │ ├── petfeeder_food_out_status.json
│ │ ├── petfeeder_foodlevel.json
│ │ ├── petfeeder_heap_status.json
│ │ ├── petfeeder_schedule_progress.json
│ │ ├── petfeeder_status_mode.json
│ │ ├── petwaterdispenser_mmgg_mode.json
│ │ ├── petwaterdispenser_mmgg_mode_3.json
│ │ ├── vacuum_dreame_fanspeed.json
│ │ ├── vacuum_dreame_mop_intensity.json
│ │ ├── vacuum_roborock_fanspeed.json
│ │ ├── vacuum_roborock_mop_intensity.json
│ │ ├── vacuum_roidmi_fanspeed.json
│ │ ├── vacuum_roidmi_mop_mode.json
│ │ ├── vacuum_roidmi_waterlevel.json
│ │ ├── vacuum_viomi_mop_mode.json
│ │ ├── vacuum_xiaomi_carpet_mode_max.json
│ │ ├── vacuum_xiaomi_cleaning_mode_max.json
│ │ ├── vacuum_xiaomi_detergent_left_level.json
│ │ ├── vacuum_xiaomi_dust_bag_left_level.json
│ │ ├── vacuum_xiaomi_mop_mode.json
│ │ ├── vacuum_xiaomi_mop_mode_max.json
│ │ ├── vacuum_xiaomi_path_mode_max.json
│ │ ├── vacuum_xiaomi_status.json
│ │ ├── vacuum_xiaomi_water_level_max.json
│ │ └── yeelight_ceil43_mode.json
│ ├── drivers/
│ │ ├── pair/
│ │ │ ├── add_device/
│ │ │ │ └── index.html
│ │ │ ├── pair/
│ │ │ │ └── index.html
│ │ │ └── start/
│ │ │ └── index.html
│ │ ├── settings/
│ │ │ ├── address.json
│ │ │ ├── deviceSid.json
│ │ │ ├── gatewaySid.json
│ │ │ ├── model.json
│ │ │ ├── modelCode.json
│ │ │ ├── polling.json
│ │ │ └── token.json
│ │ └── templates/
│ │ ├── defaults.json
│ │ └── defaults_subdevice.json
│ └── flow/
│ ├── actions/
│ │ ├── airpurifierSetFavorite.json
│ │ ├── airpurifierXiaomiFanlevel.json
│ │ ├── airpurifierZhimiFanlevel.json
│ │ ├── airpurifierZhimiMode.json
│ │ ├── changeSpeed.json
│ │ ├── cleanZoneVacuum.json
│ │ ├── enableAngle.json
│ │ ├── enableBuzzer.json
│ │ ├── enableChildLock.json
│ │ ├── enableEyecare.json
│ │ ├── enableLED.json
│ │ ├── fanDmakerMode.json
│ │ ├── fanPowerVacuum.json
│ │ ├── fanZhimiMode.json
│ │ ├── findVacuum.json
│ │ ├── gateway_custom_radio.json
│ │ ├── gateway_play_effect.json
│ │ ├── gateway_play_radio.json
│ │ ├── gateway_set_volume.json
│ │ ├── goToTargetVacuum.json
│ │ ├── heaterZhimiHeatlevel.json
│ │ ├── heaterZhimiOscillation.json
│ │ ├── heaterZhimiTargetTemperature.json
│ │ ├── humidifierXiaomiMode.json
│ │ ├── humidifierZhimiMode.json
│ │ ├── humidifierZhimiModeMIoT.json
│ │ ├── ledAirpurifierHumidifier.json
│ │ ├── leftSwitchOff.json
│ │ ├── leftSwitchOn.json
│ │ ├── leftSwitchToggle.json
│ │ ├── modeAirpurifier.json
│ │ ├── modeAirpurifierV7.json
│ │ ├── modeDehumidifierDmaker.json
│ │ ├── modeDiffuserXwhzp.json
│ │ ├── modeDmakerFan.json
│ │ ├── modeEyecare.json
│ │ ├── modeHumidifierDeerma.json
│ │ ├── modeHumidifierLeshowJSQ1.json
│ │ ├── modeVacuumMop.json
│ │ ├── modeZhimiAirfresh.json
│ │ ├── petfeederCalibrate.json
│ │ ├── petfeederDisplaySchedule.json
│ │ ├── petfeederServeFood.json
│ │ ├── petwaterdispenserMmggMode.json
│ │ ├── petwaterdispenserMmggMode_Xiaomi.json
│ │ ├── remote_send_ir_code.json
│ │ ├── rightSwitchOff.json
│ │ ├── rightSwitchOn.json
│ │ ├── rightSwitchToggle.json
│ │ ├── rotateLeftStep.json
│ │ ├── rotateRightStep.json
│ │ ├── setAngle.json
│ │ ├── vacuumDreameFanspeed.json
│ │ ├── vacuumDreameMopIntensity.json
│ │ ├── vacuumRoborockFanspeed.json
│ │ ├── vacuumRoborockMopIntensity.json
│ │ ├── vacuumRoborockMopVacuumMode.json
│ │ ├── vacuumRoborockPause.json
│ │ ├── vacuumRoidmiFanspeed.json
│ │ ├── vacuumRoidmiMopMode.json
│ │ ├── vacuumRoomCleaning.json
│ │ ├── vacuumRoomCleaningRepeats.json
│ │ └── vacuumXiaomiMopMode.json
│ ├── conditions/
│ │ ├── leftSwitch.json
│ │ ├── measure_humidity_between.json
│ │ ├── measure_temperature_between.json
│ │ └── rightSwitch.json
│ └── triggers/
│ ├── alertVacuum.json
│ ├── alert_cube.json
│ ├── click_double.json
│ ├── click_double_left.json
│ ├── click_double_right.json
│ ├── click_long.json
│ ├── click_long_left.json
│ ├── click_long_release.json
│ ├── click_long_right.json
│ ├── click_single.json
│ ├── click_single_left.json
│ ├── click_single_left_right.json
│ ├── click_single_right.json
│ ├── cubeRotated.json
│ ├── desiccant_low.json
│ ├── eaten_food_changed.json
│ ├── feeder_status_changed.json
│ ├── flip180_cube.json
│ ├── flip90_cube.json
│ ├── free_fall_cube.json
│ ├── gatewayLuminance.json
│ ├── humidifier2Waterlevel.json
│ ├── leftSwitchOff.json
│ ├── leftSwitchOn.json
│ ├── lockEvent.json
│ ├── motionSensorNoMotion120.json
│ ├── motionSensorNoMotion1200.json
│ ├── motionSensorNoMotion180.json
│ ├── motionSensorNoMotion1800.json
│ ├── motionSensorNoMotion300.json
│ ├── motionSensorNoMotion600.json
│ ├── move_cube.json
│ ├── rightSwitchOff.json
│ ├── rightSwitchOn.json
│ ├── rotate_negative_cube.json
│ ├── rotate_positive_cube.json
│ ├── shake.json
│ ├── shake_air_cube.json
│ ├── statusVacuum.json
│ ├── tap_twice_cube.json
│ ├── triggerModeChanged.json
│ ├── triggerPlugInUse.json
│ ├── triggerVacuumRoomSegments.json
│ ├── triggerVibrationFreeFallAlarm.json
│ └── triggerVibrationTiltAlarm.json
├── .homeyignore
├── .prettierrc
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.da.txt
├── README.de.txt
├── README.es.txt
├── README.fr.txt
├── README.it.txt
├── README.ko.txt
├── README.md
├── README.nl.txt
├── README.no.txt
├── README.pl.txt
├── README.ru.txt
├── README.sv.txt
├── README.txt
├── api.js
├── app.js
├── app.json
├── docs/
│ ├── mirobot_zonecleanup.md
│ └── obtain_token.md
├── drivers/
│ ├── airfresh_zhimi_airfresh/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airfresh_zhimi_airfresh_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airfryer_careli_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airmonitor_cgllc_zhimi_airmonitor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airpurifier_dmaker_airfresh_t2017/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airpurifier_zhimi_advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── airpurifier_zhimi_advanced_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── aqara-86sw1-advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-86sw2-advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-button/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-button-advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-ctrl-ln1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-ctrl-ln2/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-ctrl-neutral1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-ctrl-neutral2/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-curtain/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-curtain-aq2/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-magnet-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-motion-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-temperature-humidity-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara-wleak-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara_86sw1_switch/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── aqara_86sw2_switch/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── clothesdryer_hyd_airer_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── ctrl_86plug_aq1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── dehumidifier_dmaker_derh_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── diffuser_xwhzp_diffuser_xwxfj/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── dmaker-fan/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── fan_dmaker_advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── fan_zhimi_advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── fan_zhimi_fan_za5/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── gateway/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── heater_zhimi_heater_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_deerma_humidifier_jsq/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_deerma_humidifier_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_leshow_humidifier_jsq1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_xiaomi_humidifier/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_zhimi_humidifier/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── humidifier_zhimi_humidifier_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── lock_aq1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-airpurifier/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-aqara-cube/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-button/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-humidifier/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-humidifier2/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-magnet-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-motion-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-plug/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── mi-power-plug/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-power-strip/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-robot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── mi-temperature-humidity-sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── natgas_sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── pet_waterer_xiaomi/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── petfeeder_mmgg_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── petwaterdispenser_mmgg_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── philips-bulb/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── philips-eyecare/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── philips_light_cbulb/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── philips_light_moonlight/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── philips_light_strip/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── plug_chuangmi_plug_m1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── plug_chuangmi_plug_v1_v3/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── plug_cuco_plug/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── powerstrip_qmi_powerstrip_v1/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── relay_c2acn01/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── remote_chuangmi_remote_v2/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── capabilities.js
│ │ ├── deviceCharacteristics.html
│ │ ├── deviceTypes.html
│ │ ├── devices.html
│ │ ├── done.html
│ │ └── keys.html
│ ├── smoke_sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── subdevice_device.js
│ ├── subdevice_driver.js
│ ├── vacuum_dreame_vacuum/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_mi_rockrobo_vacuum_advanced/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_mija_vacuum_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_roidmi_vacuum_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_viomi_vacuum_v7/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_xiaomi_vacuum_max/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.flow.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vacuum_xiaomi_vacuum_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ ├── vibration_sensor/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ └── driver.settings.compose.json
│ ├── wifi_device.js
│ ├── wifi_driver.js
│ ├── yeelink_light_ceil43_miot/
│ │ ├── device.js
│ │ ├── driver.compose.json
│ │ ├── driver.js
│ │ ├── driver.settings.compose.json
│ │ └── pair/
│ │ ├── add_device.html
│ │ ├── pair.html
│ │ └── start.html
│ └── zhimi-fan/
│ ├── device.js
│ ├── driver.compose.json
│ ├── driver.js
│ ├── driver.settings.compose.json
│ └── pair/
│ ├── add_device.html
│ ├── pair.html
│ └── start.html
├── lib/
│ ├── MiHub.js
│ └── util.js
├── locales/
│ ├── da.json
│ ├── de.json
│ ├── en.json
│ ├── es.json
│ ├── fr.json
│ ├── it.json
│ ├── ko.json
│ ├── nl.json
│ ├── no.json
│ ├── pl.json
│ ├── ru.json
│ └── sv.json
├── package.json
├── settings/
│ └── index.html
└── tsconfig.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/FUNDING.yml
================================================
custom: [paypal.me/bkubesa]
================================================
FILE: .github/ISSUE_TEMPLATE/new-device.md
================================================
---
name: New Device
about: Request support for a new device
title: ''
labels: feature, new device
assignees: ''
---
> As there is no official API and Xiaomi does not support third-party integration, being able to add a device to the Homey app depends on an existing integration, online documentation or donating the device to the developer. If neither of these can be fulfilled then integration is not possible.
### Supply the device details
* **Name:** << The name of the device >>
* **Model ID:** << brand.type.id, for instance zhimi.airpurifier.mc1, can also be found using token extraction tool (see wiki) >>
* **MIoT spec:** << find the link to the specs of this device on this website: https://home.miot-spec.com/ >>
### Current support
<< Have you tested an existing driver based on the currently supported devices list (see wiki) and what was the result / error / missing functionality? >>
### Additional information
<< Add any other context or screenshots about the feature request here. >>
---- STOP EDITING HERE----
### Donation
I enjoy creating apps for Homey and try to support them as best as I can. If you enjoy using my apps a [donation](https://www.paypal.me/bkubesa) in return for the time I put into this is much appreciated.
================================================
FILE: .gitignore
================================================
/env.json
/node_modules/
/.homeybuild/
.codegpt
/.homeybuild
/node_modules
appdirectory.zip
appdirectory_working.zip
/.homeybuild
/.homeybuild
/tmp
/.homeybuild
/.homeybuild
/.homeybuild
AGENTS.md
/.homeybuild
AGENTS.md
================================================
FILE: .homeychangelog.json
================================================
{
"2.13.3": {
"en": "Added a mechanism to refresh the device connection to prevent devices from not responding on the first try. Also moved installation instructions from app store to community support topic."
},
"2.13.4": {
"en": "Fixed a mistake in the latest update that caused the app to crash."
},
"2.13.5": {
"en": "Fixed an issue with the pairing of the gateway v3."
},
"2.13.6": {
"en": "Fixed an issue with the pairing of the gateway v3."
},
"2.13.7": {
"en": "Fixed an issue with the pairing of the gateway v3."
},
"2.13.8": {
"en": "[IMPORTANT] Deprecated support for Yeelights, they will get their own standalone app. Please read the announcement in the support topic on migrating your Yeelights."
},
"2.13.9": {
"en": "Deprecated the driver for the Xiaomi Gateway. Xiaomi changed something resulting in the current implementation not working anymore."
},
"3.0.0": {
"en": "Added support for Xiaomi Gateway child devices, particularly a Mi motion sensor."
},
"3.0.1": {
"en": "Added support for Aqara motion sensor."
},
"3.0.2": {
"en": "Added support for Mi/Aqara magnet sensor."
},
"3.0.3": {
"en": "Added support for Mi/Aqara temperature and humidity sensor and buttons."
},
"3.0.4": {
"en": "Added support for Mi/Aqara cube, plug, wall switch no neutral single/double button."
},
"3.0.5": {
"en": "Added support for Aqara wall switch with neutral single/double button, wirelles wall single/double switches."
},
"3.0.6": {
"en": "Added support for Aqara water leak sensor, Aqara D1 single/double wall switches."
},
"3.0.7": {
"en": "fix Aqara switches actions."
},
"3.0.8": {
"en": "Added support for Aqara curtains."
},
"3.0.9": {
"en": "No functional changes. Updated the app manifest to reflect a new developer and the possibility for future development and a possible upgrade to SDK3. See the forum support topic for further details."
},
"3.1.0": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.1": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.2": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.3": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.4": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.5": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.6": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.7": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.8": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.9": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.10": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.11": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.12": {
"en": "This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten with SDK3 to make it futureproof. This new version also merged the devices from the community app Mi Homey. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.13": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.14": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.15": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.16": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.17": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.18": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.19": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.20": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.21": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.22": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.23": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.24": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.25": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.26": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.1.27": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.2.0": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.2.1": {
"en": "Development has been transferred to a new developer. This release is a complete rewrite of the app including many breaking changes. The app has been fully rewritten using SDK3 and has been tested with Homey Pro 2023 to make it futureproof. This new version also merged the devices from the Mi Homey community app. Some previously paired devices might continu to work but please re-pair your devices and/or fix your flows before reporting any issue. If the issue persists after re-pair please report it on the community forum or Github."
},
"3.2.2": {
"en": "This release adds support for mijia.vacuum.v1 and mijia.vacuum.v2 (Mija Vacuum G1). It also attempts to add support for various Air Fryers and various Xiaomi Smart Pet Fountains (see supported devices). And it fixes a bug with humidity percentage calculation for deerma.humidifier.jsq5."
},
"3.2.3": {
"en": "This release adds support for mijia.vacuum.v1 and mijia.vacuum.v2 (Mija Vacuum G1) and various Xiaomi Smart Pet Fountains (see supported devices). It also attempts to add support for various Air Fryers."
},
"3.2.4": {
"en": "This release adds support for various Roidmi Eve/Eva vacuum cleaners."
},
"3.2.5": {
"en": "This release adds support for various Roidmi Eve/Eva vacuum cleaners."
},
"3.2.6": {
"en": "This release adds support for various Roidmi Eve/Eva vacuum cleaners. I|t also replaces the swing angle capability based on a dim level slider to a custom dropdown capability for the advanced Dmaker fan driver and added a flow action card for it as well."
},
"3.2.7": {
"en": "This release adds support for various Roidmi Eve/Eva vacuum cleaners. It also replaces the swing angle capability based on a dim level slider to a custom dropdown capability for the advanced Dmaker fan driver and added flow action card for enabling it and setting the angle."
},
"3.2.8": {
"en": "This release fixes the following issues. Setting the fanspeed on some Roborock vacuum cleaners using the advanced driver. Setting the vacuumcleaner state for Dreame Vacuum Cleaners. And setting the fanspeed on certain Zhimi fans."
},
"3.2.9": {
"en": "This release adds support for for Dreame Bot W10 Pro under the Advanced Dreame Vacuum Cleaner MIoT driver and it fixes an issue with the swing angle capability of the advanced Dmaker fan driver and an issue with the action card for setting the vacuumspeed on the Advanced Roborock driver."
},
"3.2.10": {
"en": "This release adds support for Roborock Vacuum S8 (roborock.vacuum.a51) and Mi Fresh Air Ventilator C1-80 (zhimi.airfresh.ua1). It fixes an issue with Dmaker fan model dmaker.fan.1c as it not supports setting the angle and also fixes an issue with Dreame Bot vacuum cleaners when in a specific state that is not support by the app resulting in the device not being available."
},
"3.2.11": {
"en": "This release adds support for various Smartmi Smart Fan Heater models. It also fixes these issues. Another fix for Dmaker fan model dmaker.fan.1c as it not supports setting the angle. Another fix for setting fan speed on Zhimi fans using the advanced driver. Fix small issue with Rodmi vacuumcleaner that are in a specific and unrecognised state."
},
"3.2.12": {
"en": "This release adds support for the Roborock S8 Ultra Pro (roborock.vacuum.a70). It also fixes an issue with with Smartmi Heater Fan (zhimi.heater.nb1), the Rodmi vacuumcleaner MIoT driver and some weird issue with the Gateway WiFi driver. And there is a fix for Mi Cleargrass Air (cgllc.airmonitor.s1) on firmware 4.x. This removes the measure_battery and alarm_battery capability as it's not reported anymore."
},
"3.2.13": {
"en": "This release adds support for oscillation and heatlevel for Smartmi Smart Fan (zhimi.heater.nb1). It also adds an experimental action card for setting mop/vacuum mode and intensity for Roborock vacuumcleaners with mop capability. And it fixes setting docking / charging vacuumcleaner state for Roidmi Vacuum MioT driver and an issue with Mi Cleargrass Air Monitor (cgllc.airmonitor.s1)."
},
"3.2.14": {
"en": "This release adds an action card for setting the target temperature on a Smartmi Heater that supports it. It also fixes the issue for the oscillation action card for Smartmi Smart Fan (zhimi.heater.nb1) and the issue for sweep/mop action card for Roborock vacuumcleaners that have mop capability."
},
"3.2.15": {
"en": "This release adds support for the Xiaomi Smart Air Purifier Elite, various Mi Robot Vacuum-Mop models (ijai.vacuum.*) and various Xiaomi Robot Vacuum models (xiaomi.vacuum.*). It also contains a possible fix for room cleaning for Dreame vacuum cleaners."
},
"3.2.16": {
"en": "This release adds support for the Roborock Vacuum Q8 Max (roborock.vacuum.a73). It also adds mop mode for Xiaomi vacuum models (xiaomi.vacuum.*) that support it. And it fixes a introduced bug in the vacuum room cleaning card for Roborock vacuum cleaners."
},
"3.2.17": {
"en": "This release adds support for Roborock Q5 Pro (roborock.vacuum.a72) and it adds experimental and basic support for Xiaomi Smart Pet Food Feeder (mmgg.feeder.*). It also fixes a bug with on/off for certain Xiaomi Air Purifier models."
},
"3.2.18": {
"en": "This release adds support for Smartmi Smart Convector Heater 1S (zhimi.heater.zb1a). It also saves the room ID’s of some Dreame vacuum models to be used in the room cleaning card. And there is a small fix for setting the mode on Xiaomi Smart Purifier Elite (zhimi.airp.meb1) in there."
},
"3.2.19": {
"en": "This release adds for some Humidifier v2 models (zhimi.humidifier.cb1 & cb2), Mijia Mistless Humidifier 3 Pro (xiaomi.humidifier.airmx) and the Dreame D10 Plus (dreame.vacuum.r2205). It also adds an action card for enabling/disabling the LED light on certain models that support it. And it contains a possible fix for toggling the power on some Smartmi Humidifiers v1/v2 and crashes on the Airfryer driver."
},
"3.2.20": {
"en": "This release attempts to fix the Advanced Dreame Vacuum Cleaner driver which is giving errors in certain scenarios. It also adds support for Roborock S7 Max Ultra (roborock.vacuum.a65), adds a pause cleaning session action card to Advanced Roborock driver and adds a enable notification sound action card to some models that support it and expanded support for the enable LED action card to more models."
},
"3.2.21": {
"en": "This release adds support for the DreameBot L10s Ultra (dreame.vacuum.r2228o) and Xiaomi/Dreame Robot Vacuum X10 (dreame.vacuum.r2209) and for a a new model Mi Smart Plug (chuangmi.plug.hmi206). With this release the pause state of Roborock vacuum cleaners is now mapped to the \"stopped\" state in Homey instead of the the \"cleaning\" state. This makes sense for using it as condition. And it contains possible fixes for the LED light and notification sound toggle action card for some models like the Smart Mi Antibacterial Humidifier JSQ5 and a possible fix the room cleaning action card for Dreame vacuum cleaners."
},
"3.2.22": {
"en": "This release add a themostat UI component for target temperature on the Smart Space/Fan Heater MIoT driver. It also adds a new action card for the Roborock advanced driver that allows room cleaning including setting the number of repeats. And it adds support for for Xiaomi Smart Air Purifier 4 Compact (xiaomi.airp.cpa4), the Xiaomi/Dreame Robot Vacuum X10+ (dreame.vacuum.p2114a) and the Xiaomi Smart Air Fryer 6.5L (careli.fryer.maf10a)."
},
"3.2.23": {
"en": "This release tries to add support for the Xiaomi Lightstrip Pro (philips.light.strip5), Xiaomi Smart Plug v2 EU (cuco.plug.v2eur) and Xiaomi/Dreame Robot Vacuum S10+ (dreame.vacuum.r2211o)."
},
"3.2.24": {
"en": "This release adds support for Xiaomi Smart Pet Food Feeder 2 (xiaomi.feeder.pi2001) and Dreame L10s Prime (dreame.vacuum.r2232c). And it fixes a bug for the Xiaomi Smart Air Purifier 4 Compact (xiaomi.airp.cpa4)."
},
"3.2.25": {
"en": "This release includes a fix for Mijia Smart Pet Food Feeder 2 (xiaomi.feeder.pi2001), tries to add support for Dreame L10s Pro Ultra (dreame.vacuum.r2338a) and updates device classes for airpurifiers, airfryers, humidifiers and petfeeders. It also adds localisation for other supported languages within Homey."
},
"3.2.26": {
"en": "This release adds support for Mi Smart Evaporative Cooling Fan (dmaker.fan.p44) and allows to set the number of servings in the Pet Feeder serve food action card."
},
"3.2.27": {
"en": "This release fixes the Mi Smart Evaporative Cooling Fan (dmaker.fan.p44) going offline and fixes the Pet Feeder serve food action card."
},
"3.2.28": {
"en": "This release fixes the Mi Smart Evaporative Cooling Fan (dmaker.fan.p44) going offline and fixes the Pet Feeder serve food action card."
},
"3.2.29": {
"en": "This release adds support for Mijia Smart Clothes Drying Rack (hyd.airer.znlyj4) and includes possible fixes for the Pet Feeder serve food action card, incorrect temperature and LED setting for zhimi.airfresh.va2 and the controls of the Xiaomi Smart Evaporative Cooling Fan (dmaker.fan.p44)."
},
"3.2.30": {
"en": "This release adds support for Mijia Smart Clothes Drying Rack (hyd.airer.znlyj4) and includes possible fixes for the Pet Feeder serve food action card, incorrect temperature and LED setting for zhimi.airfresh.va2 and the controls of the Xiaomi Smart Evaporative Cooling Fan (dmaker.fan.p44)."
},
"3.2.31": {
"en": "This release adds support for Smartmi Humidifier Rainforest (zhimi.humidifier.jd1) and Xiaomi Smart Tower Fan (dmaker.fan.p39). It reverts recent changes to the petfeeder servings flowcard as they do not work. And includes fixes for controlling the Mijia Smart Clothes Drying Rack (hyd.airer.znlyj4) and setting the mode on certain Dreame vacuum cleaners (mode names will be incorrect but it wont generate errors)."
},
"3.3.0": {
"en": "Breaking change: subcapabilities have been replaced by new capabilities available since Homey firmware 12.2.0. In some cases this might break your flows. You will have to update them with the new flow cards. This release also contains a fix for setting the fanlevel through a flowcard for the Advanced Mi Air Purifier MIoT driver and a fix for the Xiaomi Smart Tower Fan (dmaker.fan.p39)."
},
"3.4.0": {
"en": "Fan level fix for Xiaomi Mi Air Purifier Pro, Added support for Xiaomi Robot Vacuum X20+ and Xiaomi Smart Dehumidifier - all credits goes to https://www.paypal.me/jghaanstra"
},
"3.4.1": {
"en": "Fan level fix for Xiaomi Mi Air Purifier Pro, Added support for Xiaomi Robot Vacuum X20+ and Xiaomi Smart Dehumidifier - all credits goes to https://www.paypal.me/jghaanstra"
},
"3.4.2": {
"en": "Fan level fix for Xiaomi Mi Air Purifier Pro, Added support for Xiaomi Robot Vacuum X20+ and Xiaomi Smart Dehumidifier - all credits goes to [Phuturist](https://www.paypal.me/jghaanstra)"
},
"3.4.3": {
"en": "Fixes for used NodeJS modules"
},
"3.4.4": {
"en": "Temporary debug for Mi ClearGrass Air Detector"
},
"3.4.5": {
"en": "Attempt to fix modes for X20+"
},
"3.4.6": {
"en": "Attempt to fix modes for X20+"
},
"3.4.7": {
"en": "Mi ClearGrass Air Detector related improvements"
},
"3.4.8": {
"en": "Additional logging for X20+"
},
"3.4.9": {
"en": "Additional logging for Mi ClearGrass Air Detector, fixes for X20+ (mopmodes still not working as desired)"
},
"3.4.10": {
"en": "Mi ClearGrass Air Detector fixes"
},
"3.4.11": {
"en": "X20+ mop mode fixes"
},
"3.4.12": {
"en": "Added support for Mi Smart Pet Feeder 2 CN"
},
"3.4.13": {
"en": "Fix for Mi Smart Antibacterial Humidifier JSQ2W - the tank is empty"
},
"3.4.14": {
"en": "Additional logging for Use Smart Pet Food Feeder MIoT driver"
},
"3.4.15": {
"en": "Removing battery level capability for xiaomi.feeder.iv2001"
},
"3.4.16": {
"en": "Flow card trigger for petfeeder_mmgg_miot"
},
"3.4.17": {
"en": "Added support for Xiaomi Smart Tower Fan 2 (xiaomi.fan.p45)"
},
"3.4.18": {
"en": "Xiaomi Robot Vacuum X20 Pro and Xiaomi Robot Vacuum X20 Max"
},
"3.4.19": {
"en": "Added room cleaning options for Xiaomi Robot Vacuum X20, credits to @te85va"
},
"3.4.20": {
"en": "Logging optimisations for vacuum_xiaomi_vacuum_max driver"
},
"3.4.21": {
"en": "Translations"
},
"3.4.22": {
"en": "Added xiaomi.pet_waterer.iv02' / Xiaomi Smart Pet Fountain 2"
},
"3.4.23": {
"en": "Updates for the xiaomi.pet_waterer.iv02"
},
"3.4.24": {
"en": "Updates for the xiaomi.pet_waterer.iv02"
},
"3.4.25": {
"en": "MiiO library - discovery update / prevents crash"
},
"3.4.26": {
"en": "Xiaomi Robot Vacuum X20 - carpet avoidance for selective room cleaning, selective rooms cleaning respect order of room entered, adjustments for totals, attempt to add water empty alarm"
},
"3.4.27": {
"en": "Added new error code for Xiaomi Robot Vacuum X20"
},
"3.4.28": {
"en": "Added action cards for Xiaomi Smart Tower Fan 2 - rotate left/right"
},
"3.4.29": {
"en": "Fix for Mi Smart Standing Fan 2 Pro - rotate left/right"
},
"3.4.30": {
"en": "Fix for Mi Smart Standing Fan 2 Pro - rotate left/right"
},
"3.4.31": {
"en": "Fix for Mi Smart Standing Fan 2 Pro - rotate left/right"
},
"3.4.32": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.33": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.34": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.35": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.36": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.37": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.38": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.39": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.40": {
"en": "Enhancements for Xiaomi Robot Vacuum X20+"
},
"3.4.41": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.42": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.43": {
"en": "Xiaomi Feeder 2 improvements"
},
"3.4.44": {
"en": "Xiaomi X20 / X20+ (c102gl), petfeeder_mmgg_miot and humidifier_deerma_humidifier_miot specific fixes"
},
"3.4.45": {
"en": "Petfeeder - work in progress, Xiaomi Vacuum Miot Max adjustments "
},
"3.4.46": {
"en": "Added remote.b1acn0 - Chinese model of Aqara mini switch - credits MCFurry"
},
"3.4.47": {
"en": "X20Pro / xiaomi.vacuum.d102gl water level checks adjustments"
},
"3.4.48": {
"en": "X20Pro / xiaomi.vacuum.d102gl water level checks adjustments"
},
"3.4.49": {
"en": "Minor vacuum_xiaomi_vacuum_max related fixes in case of device unavailability"
},
"3.4.50": {
"en": "Fix pet_waterer_xiaomi ON/OFF status reporting."
},
"3.4.51": {
"en": "Add support for Xiaomi Robot Vacuum S20+ (xiaomi.vacuum.b108gl)"
},
"3.4.52": {
"en": "Add support for Xiaomi Robot Vacuum S20+ (xiaomi.vacuum.b108gl)"
},
"3.4.53": {
"en": "Handled UDP unreachable errors in network.js as retries instead of crashes."
},
"3.4.54": {
"en": "Support for Xiaomi Robot Vacuum H40 (*experimental) / Xiaomi Vacuum Cleaner MIoT MAX (WiFi) driver"
},
"3.4.55": {
"en": "Very experimental support for Mijia Smart Scent Diffuser (diffuser_xwhzp_diffuser_xwxfj) / new driver Mijia Smart Scent Diffuser (WiFi)"
},
"3.4.56": {
"en": "Very experimental support for Mijia Smart Scent Diffuser (diffuser_xwhzp_diffuser_xwxfj) / new driver Mijia Smart Scent Diffuser (WiFi)"
},
"3.4.57": {
"en": "Support for xiaomi.vacuum.ov51gl (Xiaomi Robot Vacuum H40 (EU) ) (*experimental) / Xiaomi Vacuum Cleaner MIoT MAX (WiFi) driver"
},
"3.4.58": {
"en": "Fixed zhimi.airpurifier.v7 to expose only Auto, Night, and Favorite modes and to scale favorite fan speed as 16 steps over 0–100% instead of 0–1600%"
},
"3.4.59": {
"en": "Fixed zhimi.airpurifier.v7 initialization "
},
"3.4.60": {
"en": "Restricted zhimi.airpurifier.v7 flow-card mode choices to supported options only"
},
"3.4.61": {
"en": "Fixed the air purifier Mode has changed trigger"
},
"3.4.62": {
"en": "Fix for zhimi.airpurifier.v7"
},
"3.4.63": {
"en": "Xiaomi Smart Pet Fountain 2 / xiaomi.pet_waterer.iv02 battery info"
},
"3.4.64": {
"en": "Support for Smartmi Evaporative Humidifier 3 / zhimi.humidifier.ca6"
},
"3.4.65": {
"en": "Adjusted the zhimi.humidifier.ca6 water-level mapping"
},
"3.4.66": {
"en": "Adjusted the zhimi.humidifier.ca6 water-level mapping"
},
"3.4.67": {
"en": "Added support for xiaomi.humidifier.600ek (Mijia Smart Evaporative Humidifier Pro)"
},
"3.4.68": {
"en": "Fixed xiaomi.humidifier.600ek target humidity scaling, X20 Max water-shortage fix"
},
"3.4.69": {
"en": "Fixed Mijia Smart Evaporative Humidifier Pro target humidity Insights"
},
"3.4.70": {
"en": "Added support for Xiaomi Smart Dehumidifier Lite and Mijia Smart Dehumidifier 13L, including the water tank full alarm capability."
},
"3.4.71": {
"en": "Added support for Yeelight Arwen Ceiling Light D (yeelink.light.ceil43), including main light and ambient light controls."
},
"3.4.72": {
"en": " Improved color picker handling and added Day/Night/Color/Flow mode selection for Yeelight Arwen Ceiling Light D (yeelink.light.ceil43)"
}
}
================================================
FILE: .homeycompose/app.json
================================================
{
"id": "com.xiaomi-miio",
"sdk": 3,
"brandColor": "#FF6801",
"name": {
"en": "Xiaomi Mi Home",
"nl": "Xiaomi Mi Home",
"da": "Xiaomi Mi Home",
"de": "Xiaomi Mi Home",
"es": "Xiaomi Mi Home",
"fr": "Xiaomi Mi Home",
"it": "Xiaomi Mi Home",
"no": "Xiaomi Mi Home",
"sv": "Xiaomi Mi Home",
"pl": "Xiaomi Mi Home",
"ru": "Xiaomi Mi Home",
"ko": "Xiaomi Mi Home"
},
"tags": {
"en": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"vacuumcleaner",
"robot",
"purifier",
"humidifier",
"philips",
"eyecare",
"powerplug",
"gateway"
],
"nl": [
"Xiaomi",
"Mi",
"Mi home",
"miio",
"stofzuiger",
"robot",
"luchtreiniger",
"luchtbevochtiger",
"philips",
"eyecare",
"powerplug",
"gateway"
],
"da": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"støvsuger",
"robot",
"luftrenser",
"luftfugter",
"philips",
"eyecare",
"stikdåse",
"gateway"
],
"de": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"Staubsauger",
"Roboter",
"Luftreiniger",
"Luftbefeuchter",
"Philips",
"eyecare",
"Steckdose",
"Gateway"
],
"es": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"aspiradora",
"robot",
"purificador",
"humidificador",
"philips",
"eyecare",
"enchufe",
"portal"
],
"fr": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"aspirateur",
"robot",
"purificateur",
"humidificateur",
"philips",
"eyecare",
"prise",
"passerelle"
],
"it": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"aspirapolvere",
"robot",
"purificatore",
"umidificatore",
"philips",
"eyecare",
"presa",
"gateway"
],
"no": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"støvsuger",
"robot",
"luftrenser",
"luftfukter",
"philips",
"eyecare",
"strømplugg",
"gateway"
],
"sv": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"dammsugare",
"robot",
"luftrenare",
"luftfuktare",
"philips",
"eyecare",
"strömuttag",
"gateway"
],
"pl": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"odkurzacz",
"robot",
"oczyszczacz",
"nawilżacz",
"philips",
"eyecare",
"gniazdko",
"bramka"
],
"ru": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"пылесос",
"робот",
"очиститель",
"увлажнитель",
"philips",
"eyecare",
"разъем питания",
"шлюз"
],
"ko": [
"Xiaomi",
"Mi",
"Mi Home",
"miio",
"진공청소기",
"로봇",
"공기청정기",
"가습기",
"philips",
"eyecare",
"전원플러그",
"게이트웨이"
]
},
"version": "3.4.72",
"compatibility": ">=12.2.0",
"platforms": [
"local"
],
"author": {
"name": "Bretislav Kubesa"
},
"contributing": {
"donate": {
"paypal": {
"username": "bkubesa"
}
}
},
"contributors": {
"developers": [
{
"name": "Maxmudjon"
},
{
"name": "Jelger Haanstra"
}
]
},
"bugs": {
"url": "https://github.com/shaarkys/com.xiaomi-miio/issues"
},
"homeyCommunityTopicId": 118,
"source": "https://github.com/shaarkys/com.xiaomi-miio",
"homepage": "https://community.athom.com/t/118",
"support": "https://community.homey.app/t/app-pro-xiaomi-mi-home-app/118/1770?u=sharkys",
"images": {
"large": "./assets/images/large.jpg",
"small": "./assets/images/small.jpg"
},
"category": "appliances",
"description": {
"en": "Control Xiaomi Mi Home devices using Homey",
"nl": "Bedien Xiaomi Mi Home apparaten via Homey",
"da": "Styr Xiaomi Mi Home enheder med Homey",
"de": "Steuere Xiaomi Mi Home Geräte mit Homey",
"es": "Controla dispositivos Xiaomi Mi Home con Homey",
"fr": "Contrôlez les appareils Xiaomi Mi Home avec Homey",
"it": "Controlla i dispositivi Xiaomi Mi Home con Homey",
"no": "Kontroller Xiaomi Mi Home-enheter med Homey",
"sv": "Styr Xiaomi Mi Home-enheter med Homey",
"pl": "Steruj urządzeniami Xiaomi Mi Home za pomocą Homey",
"ru": "Управляйте устройствами Xiaomi Mi Home с Homey",
"ko": "Homey를 사용하여 Xiaomi Mi Home 장치를 제어하세요"
},
"dependencies": {
"net": "*"
},
"api": {
"generate": {
"method": "post",
"path": "/generate",
"public": false
},
"testConnection": {
"method": "post",
"path": "/testConnection",
"public": false
},
"getGateways": {
"method": "get",
"path": "/getGateways",
"public": false
},
"removeChildDevice": {
"method": "post",
"path": "/removeChildDevice",
"public": false
}
}
}
================================================
FILE: .homeycompose/capabilities/airfryer_careli_food_quantity.json
================================================
{
"type": "enum",
"title": {
"en": "Food Quantity",
"nl": "Voedselhoeveelheid",
"da": "Mad Kvantitet",
"de": "Lebensmittelmenge",
"es": "Cantidad de Comida",
"fr": "Quantité de Nourriture",
"it": "Quantità di Cibo",
"no": "Mat Mengde",
"sv": "Matmängd",
"pl": "Ilość Jedzenia",
"ru": "Количество Еды",
"ko": "음식 양"
},
"values": [
{
"id": "0",
"title": {
"en": "None",
"nl": "Geen",
"da": "Ingen",
"de": "Kein",
"es": "Ninguna",
"fr": "Aucun",
"it": "Nessuno",
"no": "Ingen",
"sv": "Inget",
"pl": "Brak",
"ru": "Нет",
"ko": "없음"
}
},
{
"id": "1",
"title": {
"en": "Single",
"nl": "Enkel",
"da": "Enkelt",
"de": "Einzeln",
"es": "Único",
"fr": "Simple",
"it": "Singolo",
"no": "Enkelt",
"sv": "Enkel",
"pl": "Pojedynczy",
"ru": "Одинарный",
"ko": "단일"
}
},
{
"id": "2",
"title": {
"en": "Double",
"nl": "Dubbel",
"da": "Dobbelt",
"de": "Doppelt",
"es": "Doble",
"fr": "Double",
"it": "Doppio",
"no": "Dobbel",
"sv": "Dubbel",
"pl": "Podwójny",
"ru": "Двойной",
"ko": "더블"
}
},
{
"id": "3",
"title": {
"en": "Half",
"nl": "Half",
"da": "Halv",
"de": "Halb",
"es": "Medio",
"fr": "Moitié",
"it": "Metà",
"no": "Halv",
"sv": "Halv",
"pl": "Połowa",
"ru": "Половина",
"ko": "반"
}
},
{
"id": "4",
"title": {
"en": "Full",
"nl": "Vol",
"da": "Fuldt",
"de": "Voll",
"es": "Completo",
"fr": "Complet",
"it": "Pieno",
"no": "Full",
"sv": "Full",
"pl": "Pełny",
"ru": "Полный",
"ko": "가득"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/food-quantity.svg"
}
================================================
FILE: .homeycompose/capabilities/airfryer_careli_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Air Fryer Mode",
"nl": "Air Fryer Mode",
"da": "Airfryer-tilstand",
"de": "Airfryer Modus",
"es": "Modo Freidora de Aire",
"fr": "Mode Friteuse à Air",
"it": "Modalità Friggitrice ad Aria",
"no": "Luftfrityrmodus",
"sv": "Luftfritösläge",
"pl": "Tryb Frytownicy Powietrznej",
"ru": "Режим Аэрофритюрницы",
"ko": "에어프라이어 모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Shutdown",
"nl": "Uitgeschakeld",
"da": "Luk ned",
"de": "Abschalten",
"es": "Apagado",
"fr": "Arrêt",
"it": "Spegnimento",
"no": "Avslutte",
"sv": "Stänga av",
"pl": "Wyłączone",
"ru": "Выключение",
"ko": "종료"
}
},
{
"id": "1",
"title": {
"en": "Standby",
"nl": "Standby",
"da": "Stand-by",
"de": "Standby",
"es": "En Espera",
"fr": "Veille",
"it": "Standby",
"no": "Standby",
"sv": "Standby",
"pl": "Czekanie",
"ru": "Режим ожидания",
"ko": "대기 중"
}
},
{
"id": "2",
"title": {
"en": "Pause",
"nl": "Pauze",
"da": "Pause",
"de": "Pause",
"es": "Pausa",
"fr": "Pause",
"it": "Pausa",
"no": "Pause",
"sv": "Paus",
"pl": "Pauza",
"ru": "Пауза",
"ko": "일시 중지"
}
},
{
"id": "3",
"title": {
"en": "Schedule",
"nl": "Schema",
"da": "Planlægning",
"de": "Zeitplan",
"es": "Horario",
"fr": "Programme",
"it": "Programma",
"no": "Planlegge",
"sv": "Schema",
"pl": "Harmonogram",
"ru": "Расписание",
"ko": "일정"
}
},
{
"id": "4",
"title": {
"en": "Cooking",
"nl": "Bakken",
"da": "Madlavning",
"de": "Kochen",
"es": "Cocinando",
"fr": "Cuisson",
"it": "Cottura",
"no": "Matlaging",
"sv": "Matlagning",
"pl": "Gotowanie",
"ru": "Готовка",
"ko": "요리 중"
}
},
{
"id": "5",
"title": {
"en": "Preheat",
"nl": "Voorverwarmen",
"da": "Forvarm",
"de": "Vorheizen",
"es": "Precalentar",
"fr": "Préchauffage",
"it": "Preriscalda",
"no": "Forvarme",
"sv": "Förvärm",
"pl": "Rozgrzewanie",
"ru": "Предварительный нагрев",
"ko": "예열"
}
},
{
"id": "6",
"title": {
"en": "Cooked",
"nl": "Gebakken",
"da": "Tilberedt",
"de": "Gekocht",
"es": "Cocido",
"fr": "Cuit",
"it": "Cotto",
"no": "Kokt",
"sv": "Tillagad",
"pl": "Ugotowane",
"ru": "Приготовлено",
"ko": "조리 완료"
}
},
{
"id": "7",
"title": {
"en": "Preheat finished",
"nl": "Voorverwarmen klaar",
"da": "Forvarm færdig",
"de": "Vorheizen abgeschlossen",
"es": "Precalentamiento terminado",
"fr": "Préchauffage terminé",
"it": "Preriscaldamento finito",
"no": "Forvarming ferdig",
"sv": "Förvärmning klart",
"pl": "Rozgrzewanie zakończone",
"ru": "Предварительный нагрев завершен",
"ko": "예열 완료"
}
},
{
"id": "8",
"title": {
"en": "Preheat paused",
"nl": "Voorverwarmen gepauzeerd",
"da": "Forvarm sat på pause",
"de": "Vorheizen pausiert",
"es": "Precalentamiento en pausa",
"fr": "Préchauffage en pause",
"it": "Preriscaldamento in pausa",
"no": "Forvarming satt på pause",
"sv": "Förvärmning pausad",
"pl": "Rozgrzewanie wstrzymane",
"ru": "Предварительный нагрев приостановлен",
"ko": "예열 일시 중지"
}
},
{
"id": "9",
"title": {
"en": "Pause2",
"nl": "Pause2",
"da": "Pause2",
"de": "Pause2",
"es": "Pause2",
"fr": "Pause2",
"it": "Pause2",
"no": "Pause2",
"sv": "Pause2",
"pl": "Pause2",
"ru": "Pause2",
"ko": "Pause2"
}
}
],
"getable": true,
"setable": false,
"icon": "/assets/icons/airfryer-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/airfryer_careli_target_temperature.json
================================================
{
"type": "number",
"title": {
"en": "Target Temperature",
"nl": "Target Temperature",
"da": "Måltemperatur",
"de": "Zieltemperatur",
"es": "Temperatura Objetivo",
"fr": "Température Cible",
"it": "Temperatura Obiettivo",
"no": "Måltemperatur",
"sv": "Måltemperatur",
"pl": "Temperatura Docelowa",
"ru": "Целевая Температура",
"ko": "목표 온도"
},
"icon": "/assets/icons/target_temperature.svg",
"getable": true,
"setable": true,
"units": {
"en": "°C",
"nl": "°C",
"da": "°C",
"de": "°C",
"es": "°C",
"fr": "°C",
"it": "°C",
"no": "°C",
"sv": "°C",
"pl": "°C",
"ru": "°C",
"ko": "°C"
},
"min": 40,
"max": 200,
"decimals": 0,
"insights": false
}
================================================
FILE: .homeycompose/capabilities/airfryer_careli_target_time.json
================================================
{
"type": "number",
"title": {
"en": "Target time",
"nl": "Target time",
"da": "Måletid",
"de": "Zielzeit",
"es": "Tiempo objetivo",
"fr": "Temps cible",
"it": "Tempo target",
"no": "Måletid",
"sv": "Måltid",
"pl": "Czas docelowy",
"ru": "Целевое время",
"ko": "목표 시간"
},
"icon": "/assets/icons/target_time.svg",
"getable": true,
"setable": true,
"units": {
"en": "minutes",
"nl": "minuten",
"da": "minutter",
"de": "Minuten",
"es": "minutos",
"fr": "minutes",
"it": "minuti",
"no": "minutter",
"sv": "minuter",
"pl": "minuty",
"ru": "минуты",
"ko": "분"
},
"min": 0,
"max": 1440,
"decimals": 0,
"insights": false
}
================================================
FILE: .homeycompose/capabilities/airpurifier_heater_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Air Purifier Heating Mode",
"nl": "Air Purifier verwarming modus",
"da": "Luftrenser opvarmningsfunktion",
"de": "Luftreiniger-Heizmodus",
"es": "Modo de calefacción del purificador de aire",
"fr": "Mode chauffage purificateur d'air",
"it": "Modalità riscaldamento purificatore d'aria",
"no": "Luftrenser oppvarmningsmodus",
"sv": "Luftrenare värmeläge",
"pl": "Tryb ogrzewania oczyszczacza powietrza",
"ru": "Режим обогрева воздухоочистителя",
"ko": "공기 청정기 난방 모드"
},
"values": [
{
"id": "off",
"title": {
"en": "Off",
"nl": "Uit",
"da": "Slukket",
"de": "Aus",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wył.",
"ru": "Выкл.",
"ko": "끄기"
}
},
{
"id": "low",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Faible",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низкий",
"ko": "낮음"
}
},
{
"id": "medium",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Mellem",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Mellan",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "high",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높음"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/heater-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"getable": true,
"setable": true,
"values": [
{
"id": "auto",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Auto",
"es": "Automático",
"fr": "Auto",
"it": "Automatico",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "silent",
"title": {
"en": "Silent",
"nl": "Stil",
"da": "Stille",
"de": "Leise",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "무음"
}
},
{
"id": "favorite",
"title": {
"en": "Favorite",
"nl": "Favoriet",
"da": "Favorit",
"de": "Favorit",
"es": "Favorito",
"fr": "Favori",
"it": "Preferito",
"no": "Favoritt",
"sv": "Favorit",
"pl": "Ulubiony",
"ru": "Любимый",
"ko": "즐겨찾기"
}
},
{
"id": "idle",
"title": {
"en": "Idle",
"nl": "Standby",
"da": "Inaktiv",
"de": "Leerlauf",
"es": "Inactivo",
"fr": "Inactif",
"it": "Inattivo",
"no": "Inaktiv",
"sv": "Inaktiv",
"pl": "Bezczynność",
"ru": "Ожидание",
"ko": "유휴"
}
},
{
"id": "low",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Bas",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низкий",
"ko": "낮은"
}
},
{
"id": "medium",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Medium",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Medium",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "high",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Haut",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높은"
}
},
{
"id": "strong",
"title": {
"en": "Strong",
"nl": "Sterk",
"da": "Stærk",
"de": "Stark",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Silny",
"ru": "Сильный",
"ko": "강한"
}
}
],
"icon": "/assets/icons/airpurifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_xiaomi_fanlevel.json
================================================
{
"type": "number",
"title": {
"en": "Fan Level",
"nl": "Fan Level",
"da": "Ventilatorniveau",
"de": "Lüfterstufe",
"es": "Nivel del ventilador",
"fr": "Niveau du ventilateur",
"it": "Livello della ventola",
"no": "Viftenivå",
"sv": "Fläktnivå",
"pl": "Poziom wentylatora",
"ru": "Уровень вентилятора",
"ko": "팬 레벨"
},
"getable": true,
"setable": true,
"min": 0,
"max": 14,
"step": 1,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_zhimi_airfresh_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Air Fresh Mode",
"nl": "Air Fresh Mode",
"da": "Luftfriskningstilstand",
"de": "Luftfrisch-Modus",
"es": "Modo Aire Fresco",
"fr": "Mode Air Fresh",
"it": "Modalità Aria Fresca",
"no": "Luftfriskmodus",
"sv": "Luftfräschläget",
"pl": "Tryb Odświeżania Powietrza",
"ru": "Режим Очистки Воздуха",
"ko": "에어 프레시 모드"
},
"values": [
{
"id": "auto",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Automatisch",
"es": "Automático",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "silent",
"title": {
"en": "Silent",
"nl": "Stil",
"da": "Stille",
"de": "Leise",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "무음"
}
},
{
"id": "interval",
"title": {
"en": "Interval",
"nl": "Interval",
"da": "Interval",
"de": "Intervall",
"es": "Intervalo",
"fr": "Intervalle",
"it": "Intervallo",
"no": "Intervall",
"sv": "Intervall",
"pl": "Interwał",
"ru": "Интервал",
"ko": "간격"
}
},
{
"id": "low",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Bas",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низкий",
"ko": "낮음"
}
},
{
"id": "middle",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Mellem",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Medium",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "strong",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Haut",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높음"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/airpurifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_zhimi_airpurifier_mb3_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"de": "Modus",
"da": "Tilstand",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드",
"pt": "Modo",
"ja": "モード",
"zh": "模式"
},
"getable": true,
"setable": true,
"values": [
{
"id": "auto",
"title": {
"en": "Auto",
"nl": "Auto",
"de": "Auto",
"da": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동",
"pt": "Automático",
"ja": "オート",
"zh": "自动"
}
},
{
"id": "night",
"title": {
"en": "Night",
"nl": "Nacht",
"de": "Nacht",
"da": "Nat",
"es": "Noche",
"fr": "Nuit",
"it": "Notte",
"no": "Natt",
"sv": "Natt",
"pl": "Noc",
"ru": "Ночь",
"ko": "밤",
"pt": "Noite",
"ja": "夜",
"zh": "夜晚"
}
},
{
"id": "favorite",
"title": {
"en": "Favorite",
"nl": "Favoriet",
"de": "Favorit",
"da": "Favorit",
"es": "Favorito",
"fr": "Préféré",
"it": "Preferito",
"no": "Favoritt",
"sv": "Favorit",
"pl": "Ulubiony",
"ru": "Избранное",
"ko": "즐겨찾기",
"pt": "Favorito",
"ja": "お気に入り",
"zh": "最爱"
}
},
{
"id": "idle",
"title": {
"en": "Idle",
"nl": "Inactief",
"de": "Inaktiv",
"da": "Inaktiv",
"es": "Inactivo",
"fr": "Inactif",
"it": "Inattivo",
"no": "Inaktiv",
"sv": "Inaktiv",
"pl": "Bezczynny",
"ru": "Бездействие",
"ko": "대기 중",
"pt": "Inativo",
"ja": "アイドル",
"zh": "闲置"
}
}
],
"icon": "/assets/icons/airpurifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_zhimi_fanlevel.json
================================================
{
"type": "enum",
"title": {
"en": "Fan Level",
"nl": "Fan Level",
"da": "Ventilatorniveau",
"de": "Lüfterstufe",
"es": "Nivel del ventilador",
"fr": "Niveau du ventilateur",
"it": "Livello della ventola",
"no": "Viftenivå",
"sv": "Fläktnivå",
"pl": "Poziom wentylatora",
"ru": "Уровень вентилятора",
"ko": "팬 레벨"
},
"getable": true,
"setable": true,
"values": [
{
"id": "1",
"title": {
"en": "Level 1",
"nl": "Level 1",
"da": "Niveau 1",
"de": "Stufe 1",
"es": "Nivel 1",
"fr": "Niveau 1",
"it": "Livello 1",
"no": "Nivå 1",
"sv": "Nivå 1",
"pl": "Poziom 1",
"ru": "Уровень 1",
"ko": "레벨 1"
}
},
{
"id": "2",
"title": {
"en": "Level 2",
"nl": "Level 2",
"da": "Niveau 2",
"de": "Stufe 2",
"es": "Nivel 2",
"fr": "Niveau 2",
"it": "Livello 2",
"no": "Nivå 2",
"sv": "Nivå 2",
"pl": "Poziom 2",
"ru": "Уровень 2",
"ko": "레벨 2"
}
},
{
"id": "3",
"title": {
"en": "Level 3",
"nl": "Level 3",
"da": "Niveau 3",
"de": "Stufe 3",
"es": "Nivel 3",
"fr": "Niveau 3",
"it": "Livello 3",
"no": "Nivå 3",
"sv": "Nivå 3",
"pl": "Poziom 3",
"ru": "Уровень 3",
"ko": "레벨 3"
}
}
],
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/airpurifier_zhimi_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"getable": true,
"setable": true,
"values": [
{
"id": "0",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "1",
"title": {
"en": "Night",
"nl": "Nacht",
"da": "Nat",
"de": "Nacht",
"es": "Noche",
"fr": "Nuit",
"it": "Notte",
"no": "Natt",
"sv": "Natt",
"pl": "Noc",
"ru": "Ночь",
"ko": "야간"
}
},
{
"id": "2",
"title": {
"en": "Favorite",
"nl": "Favoriet",
"da": "Favorit",
"de": "Favorit",
"es": "Favorito",
"fr": "Favori",
"it": "Preferito",
"no": "Favoritt",
"sv": "Favorit",
"pl": "Ulubiony",
"ru": "Избранное",
"ko": "선호"
}
},
{
"id": "3",
"title": {
"en": "Idle",
"nl": "Inactief",
"da": "Inaktiv",
"de": "Inaktiv",
"es": "Inactivo",
"fr": "Inactif",
"it": "Inattivo",
"no": "Inaktiv",
"sv": "Inaktiv",
"pl": "Bezczynny",
"ru": "Бездействие",
"ko": "대기"
}
}
],
"icon": "/assets/icons/airpurifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/alarm_desiccant_low.json
================================================
{
"type": "boolean",
"title": { "en": "Desiccant Low" },
"getable": true,
"setable": false,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/alarm_filter_work_time.json
================================================
{
"title": {
"en": "Filter Alert",
"nl": "Filter waarschuwing",
"da": "Filteralarm",
"de": "Filteralarm",
"es": "Alerta de Filtro",
"fr": "Alerte Filtre",
"it": "Allarme Filtro",
"no": "Filtervarsling",
"sv": "Filtervarning",
"pl": "Alarm filtra",
"ru": "Сигнал фильтра",
"ko": "필터 알림"
},
"type": "boolean",
"getable": true,
"setable": false,
"icon": "/assets/icons/vacuum_hepa_filter.svg"
}
================================================
FILE: .homeycompose/capabilities/alarm_main_brush_work_time.json
================================================
{
"title": {
"en": "Main Brush Alert",
"nl": "Hoofdborstel waarschuwing",
"da": "Hovedbørstealarm",
"de": "Hauptbürstenalarm",
"es": "Alerta de cepillo principal",
"fr": "Alerte brosse principale",
"it": "Allarme spazzola principale",
"no": "Hovedbørstevarsel",
"sv": "Huvudborstevarning",
"pl": "Alarm głównej szczotki",
"ru": "Предупреждение о главной щетке",
"ko": "메인 브러쉬 경고"
},
"type": "boolean",
"getable": true,
"setable": false,
"icon": "/assets/icons/vacuum_main_brush.svg"
}
================================================
FILE: .homeycompose/capabilities/alarm_sensor_dirty_time.json
================================================
{
"title": {
"en": "Sensor Alert",
"nl": "Sensor waarschuwing",
"da": "Sensoralarm",
"de": "Sensoralarm",
"es": "Alerta de sensor",
"fr": "Alerte de capteur",
"it": "Allarme sensore",
"no": "Sensorvarsel",
"sv": "Sensorlarm",
"pl": "Alarm czujnika",
"ru": "Оповещение датчика",
"ko": "센서 경고"
},
"type": "boolean",
"getable": true,
"setable": false,
"icon": "/assets/icons/vacuum_sensor_dirty.svg"
}
================================================
FILE: .homeycompose/capabilities/alarm_side_brush_work_time.json
================================================
{
"title": {
"en": "Side Brush Alert",
"nl": "Zijborstel waarschuwing",
"da": "Sidebørste Advarsel",
"de": "Seitenbürstenalarm",
"es": "Alerta de Cepillo Lateral",
"fr": "Alerte de Brosse Latérale",
"it": "Allarme Spazzola Laterale",
"no": "Sidebørste Varsel",
"sv": "Sidoborste Varning",
"pl": "Ostrzeżenie o Szczotce Boczne",
"ru": "Предупреждение о Боковой Щетке",
"ko": "옆 브러시 알림"
},
"type": "boolean",
"getable": true,
"setable": false,
"icon": "/assets/icons/vacuum_side_brush.svg"
}
================================================
FILE: .homeycompose/capabilities/alarm_water_shortage.json
================================================
{
"type": "boolean",
"title": {
"en": "Water Shortage Alarm",
"nl": "Watertekort Alarm",
"da": "Vandmangel Alarm",
"de": "Wassermangel Alarm",
"es": "Alarma de falta de agua",
"fr": "Alarme manque d'eau",
"it": "Allarme carenza acqua",
"no": "Vannmangel Alarm",
"sv": "Vattenbristlarm",
"pl": "Alarm braku wody",
"ru": "Сигнализация нехватки воды",
"ko": "물 부족 알림"
},
"desc": {
"en": "Indicates when there is a water shortage"
},
"getable": true,
"setable": false,
"icon": "/assets/icons/water-shortage.svg"
}
================================================
FILE: .homeycompose/capabilities/dehumidifier_dmaker_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Smart",
"nl": "Slim",
"da": "Smart",
"de": "Intelligent",
"es": "Inteligente",
"fr": "Intelligent",
"it": "Intelligente",
"no": "Smart",
"sv": "Smart",
"pl": "Inteligentny",
"ru": "Умный",
"ko": "스마트"
}
},
{
"id": "1",
"title": {
"en": "Sleep",
"nl": "Slaap",
"da": "Søvn",
"de": "Schlaf",
"es": "Dormir",
"fr": "Sommeil",
"it": "Sonno",
"no": "Søvn",
"sv": "Sömn",
"pl": "Sen",
"ru": "Сон",
"ko": "수면"
}
},
{
"id": "2",
"title": {
"en": "Clothes Drying",
"nl": "Kleding drogen",
"da": "Tørring af tøj",
"de": "Kleidung trocknen",
"es": "Secado de ropa",
"fr": "Séchage des vêtements",
"it": "Asciugatura dei vestiti",
"no": "Klær tørking",
"sv": "Klädtorkning",
"pl": "Suszenie ubrań",
"ru": "Сушка одежды",
"ko": "의류 건조"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/diffuser_xwhzp_fragrance_out_time.json
================================================
{
"type": "number",
"title": {
"en": "Fragrance Out Time",
"nl": "Geurafgifte tijd",
"da": "Duftudslipstid",
"de": "Duftabgabezeit",
"es": "Tiempo de salida de fragancia",
"fr": "Duree de diffusion",
"it": "Durata erogazione fragranza",
"no": "Duftutslippstid",
"sv": "Doftutslappstid",
"pl": "Czas emisji zapachu",
"ru": "Vremya vydeleniya aromata",
"ko": "fragrance out time"
},
"icon": "/assets/icons/target_time.svg",
"getable": true,
"setable": true,
"uiComponent": "slider",
"units": {
"en": "s",
"nl": "s",
"da": "s",
"de": "s",
"es": "s",
"fr": "s",
"it": "s",
"no": "s",
"sv": "s",
"pl": "s",
"ru": "s",
"ko": "s"
},
"insights": true
}
================================================
FILE: .homeycompose/capabilities/diffuser_xwhzp_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalita",
"no": "Modus",
"sv": "Lage",
"pl": "Tryb",
"ru": "Rezhim",
"ko": "mode"
},
"values": [
{
"id": "0",
"title": { "en": "Sleep" }
},
{
"id": "1",
"title": { "en": "Reading" }
},
{
"id": "2",
"title": { "en": "Exercise" }
},
{
"id": "3",
"title": { "en": "Wakeup" }
},
{
"id": "4",
"title": { "en": "Custom Mode 1" }
},
{
"id": "5",
"title": { "en": "Custom Mode 2" }
},
{
"id": "6",
"title": { "en": "Custom Mode 3" }
},
{
"id": "7",
"title": { "en": "Custom Mode 4" }
},
{
"id": "8",
"title": { "en": "Try It" }
},
{
"id": "9",
"title": { "en": "Idle Mode" }
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/fan_dmaker_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드",
"ja": "モード",
"zh": "模式",
"pt": "Modo"
},
"values": [
{
"id": "0",
"title": {
"en": "Straight Wind",
"nl": "Rechte wind",
"da": "Lige vind",
"de": "Gerader Wind",
"es": "Viento Recto",
"fr": "Vent Droit",
"it": "Vento Diretto",
"no": "Rett vind",
"sv": "Rak vind",
"pl": "Prosty wiatr",
"ru": "Прямой ветер",
"ko": "직진 바람",
"ja": "真っ直ぐな風",
"zh": "直风",
"pt": "Vento Reto"
}
},
{
"id": "1",
"title": {
"en": "Natural Wind",
"nl": "Natuurlijke Wind",
"da": "Naturlig vind",
"de": "Natürlicher Wind",
"es": "Viento Natural",
"fr": "Vent Naturel",
"it": "Vento Naturale",
"no": "Naturlig vind",
"sv": "Naturlig vind",
"pl": "Naturalny wiatr",
"ru": "Естественный ветер",
"ko": "자연 바람",
"ja": "自然な風",
"zh": "自然风",
"pt": "Vento Natural"
}
},
{
"id": "2",
"title": {
"en": "Sleep",
"nl": "Slaap",
"da": "Søvn",
"de": "Schlaf",
"es": "Dormir",
"fr": "Sommeil",
"it": "Sonno",
"no": "Søvn",
"sv": "Sömn",
"pl": "Sen",
"ru": "Сон",
"ko": "수면",
"ja": "睡眠",
"zh": "睡觉",
"pt": "Sono"
}
},
{
"id": "3",
"title": {
"en": "Cold Air",
"nl": "Koude Lucht",
"da": "Kold Luft",
"de": "Kalte Luft",
"es": "Aire Frío",
"fr": "Air Froid",
"it": "Aria Fredda",
"no": "Kald Luft",
"sv": "Kall Luft",
"pl": "Zimne Powietrze",
"ru": "Холодный воздух",
"ko": "찬 공기",
"ja": "冷たい空気",
"zh": "冷空气",
"pt": "Ar Frio"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/fan_zhimi_angle.json
================================================
{
"type": "enum",
"title": {
"en": "Swing Angle",
"nl": "Draaihoek",
"da": "Svingvinkel",
"de": "Schwenkwinkel",
"es": "Ángulo de giro",
"fr": "Angle de balancement",
"it": "Angolo di oscillazione",
"no": "Svingvinkel",
"sv": "Svängvinkel",
"pl": "Kąt huśtania",
"ru": "Угол поворота",
"ko": "스윙 각도"
},
"values": [
{
"id": "30",
"title": {
"en": "30°",
"nl": "30°",
"da": "30°",
"de": "30°",
"es": "30°",
"fr": "30°",
"it": "30°",
"no": "30°",
"sv": "30°",
"pl": "30°",
"ru": "30°",
"ko": "30°"
}
},
{
"id": "60",
"title": {
"en": "60°",
"nl": "60°",
"da": "60°",
"de": "60°",
"es": "60°",
"fr": "60°",
"it": "60°",
"no": "60°",
"sv": "60°",
"pl": "60°",
"ru": "60°",
"ko": "60°"
}
},
{
"id": "90",
"title": {
"en": "90°",
"nl": "90°",
"da": "90°",
"de": "90°",
"es": "90°",
"fr": "90°",
"it": "90°",
"no": "90°",
"sv": "90°",
"pl": "90°",
"ru": "90°",
"ko": "90°"
}
},
{
"id": "120",
"title": {
"en": "120°",
"nl": "120°",
"da": "120°",
"de": "120°",
"es": "120°",
"fr": "120°",
"it": "120°",
"no": "120°",
"sv": "120°",
"pl": "120°",
"ru": "120°",
"ko": "120°"
}
},
{
"id": "140",
"title": {
"en": "140°",
"nl": "140°",
"da": "140°",
"de": "140°",
"es": "140°",
"fr": "140°",
"it": "140°",
"no": "140°",
"sv": "140°",
"pl": "140°",
"ru": "140°",
"ko": "140°"
}
},
{
"id": "150",
"title": {
"en": "150°",
"nl": "150°",
"da": "150°",
"de": "150°",
"es": "150°",
"fr": "150°",
"it": "150°",
"no": "150°",
"sv": "150°",
"pl": "150°",
"ru": "150°",
"ko": "150°"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/oscillation.svg"
}
================================================
FILE: .homeycompose/capabilities/fan_zhimi_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Natural Wind",
"nl": "Natuur wind",
"da": "Naturlig vind",
"de": "Natürlicher Wind",
"es": "Viento Natural",
"fr": "Vent Naturel",
"it": "Vento Naturale",
"no": "Naturlig Vind",
"sv": "Naturlig Vind",
"pl": "Naturalny Wiatr",
"ru": "Естественный ветер",
"ko": "자연풍"
}
},
{
"id": "1",
"title": {
"en": "Straight Wind",
"nl": "Rechte wind",
"da": "Lige Vind",
"de": "Gerader Wind",
"es": "Viento Recto",
"fr": "Vent Direct",
"it": "Vento Diretto",
"no": "Rett Vind",
"sv": "Rakt Vind",
"pl": "Prosty Wiatr",
"ru": "Прямой ветер",
"ko": "직풍"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/heater_zhimi_heater_target_temperature.json
================================================
{
"type": "number",
"title": {
"en": "Target Temperature",
"nl": "Target Temperature",
"da": "Mål Temperatur",
"de": "Zieltemperatur",
"es": "Temperatura objetivo",
"fr": "Température cible",
"it": "Temperatura target",
"no": "Måltemperatur",
"sv": "Måltemperatur",
"pl": "Temperatura docelowa",
"ru": "Целевая температура",
"ko": "목표 온도"
},
"icon": "/assets/icons/target_temperature.svg",
"getable": true,
"setable": true,
"units": {
"en": "°C",
"nl": "°C",
"da": "°C",
"de": "°C",
"es": "°C",
"fr": "°C",
"it": "°C",
"no": "°C",
"sv": "°C",
"pl": "°C",
"ru": "°C",
"ko": "°C"
},
"uiComponent": "thermostat",
"min": 16,
"max": 30,
"step": 1,
"decimals": 0,
"insights": false
}
================================================
FILE: .homeycompose/capabilities/heater_zhimi_heatlevel.json
================================================
{
"type": "enum",
"title": {
"en": "Heatlevel",
"nl": "Hitte stand",
"da": "Varmeniveau",
"de": "Heizstufe",
"es": "Nivel de calor",
"fr": "Niveau de chaleur",
"it": "Livello di calore",
"no": "Varmenivå",
"sv": "Värmenivå",
"pl": "Poziom ciepła",
"ru": "Уровень тепла",
"ko": "난방 레벨"
},
"values": [
{
"id": "1",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высоко",
"ko": "높음"
}
},
{
"id": "2",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Bas",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низко",
"ko": "낮음"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/heatlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/heater_zhimi_oscillation.json
================================================
{
"type": "boolean",
"title": {
"en": "Oscillation",
"nl": "Oscillatie",
"da": "Oscillation",
"de": "Oszillation",
"es": "Oscilación",
"fr": "Oscillation",
"it": "Oscillazione",
"no": "Oscillasjon",
"sv": "Oscillation",
"pl": "Oscylacja",
"ru": "Колебание",
"ko": "진동"
},
"getable": true,
"setable": true,
"uiComponent": "toggle",
"insights": false,
"icon": "/assets/icons/oscillation.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier2_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"getable": true,
"setable": true,
"values": [
{
"id": "idle",
"title": {
"en": "Off",
"nl": "Uit",
"de": "Aus",
"da": "Fra",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłączony",
"ru": "Выкл",
"ko": "끄기"
}
},
{
"id": "silent",
"title": {
"en": "Silent",
"nl": "Stil",
"de": "Leise",
"da": "Stille",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "조용"
}
},
{
"id": "medium",
"title": {
"en": "Medium",
"nl": "Middel",
"de": "Mittel",
"da": "Mellem",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Mellan",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "high",
"title": {
"en": "High",
"nl": "Hoog",
"de": "Hoch",
"da": "Høj",
"es": "Alto",
"fr": "Haut",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높음"
}
},
{
"id": "auto",
"title": {
"en": "Auto",
"nl": "Auto",
"de": "Auto",
"da": "Auto",
"es": "Automático",
"fr": "Auto",
"it": "Automatico",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "strong",
"title": {
"en": "Strong",
"nl": "Sterk",
"de": "Stark",
"da": "Stærk",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Mocny",
"ru": "Сильный",
"ko": "강한"
}
}
],
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_deerma_jsq_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드",
"ja": "モード",
"zh": "模式",
"pt": "Modo"
},
"values": [
{
"id": "1",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Faible",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низкий",
"ko": "낮은",
"ja": "低い",
"zh": "低",
"pt": "Baixo"
}
},
{
"id": "2",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Mellem",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Medel",
"pl": "Średni",
"ru": "Средний",
"ko": "중간",
"ja": "中",
"zh": "中",
"pt": "Médio"
}
},
{
"id": "3",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높은",
"ja": "高い",
"zh": "高",
"pt": "Alto"
}
},
{
"id": "4",
"title": {
"en": "Humidity",
"nl": "Luchtvochtigheid",
"da": "Fugtighed",
"de": "Feuchtigkeit",
"es": "Humedad",
"fr": "Humidité",
"it": "Umidità",
"no": "Fuktighet",
"sv": "Fuktighet",
"pl": "Wilgotność",
"ru": "Влажность",
"ko": "습도",
"ja": "湿度",
"zh": "湿度",
"pt": "Umidade"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_leshow_jsq1_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Constant Humidity",
"nl": "Constante luchtvochtigheid",
"da": "Konstant fugtighed",
"de": "Konstante Luftfeuchtigkeit",
"es": "Humedad constante",
"fr": "Humidité constante",
"it": "Umidità costante",
"no": "Konstant fuktighet",
"sv": "Konstant fuktighet",
"pl": "Stała wilgotność",
"ru": "Постоянная влажность",
"ko": "일정 습도"
}
},
{
"id": "1",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높음"
}
},
{
"id": "2",
"title": {
"en": "Sleep",
"n;": "Slaapstand",
"da": "Søvn",
"de": "Schlafmodus",
"es": "Sueño",
"fr": "Veille",
"it": "Sonno",
"no": "Søvn",
"sv": "Sömn",
"pl": "Sen",
"ru": "Сон",
"ko": "수면"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_water_level_state.json
================================================
{
"type": "enum",
"title": {
"en": "Water level state"
},
"desc": {
"en": "Indicates the current water level state in the tank"
},
"getable": true,
"setable": false,
"values": [
{
"id": "empty",
"title": {
"en": "Empty"
}
},
{
"id": "normal",
"title": {
"en": "Normal"
}
},
{
"id": "full",
"title": {
"en": "Full"
}
}
],
"icon": "/assets/icons/water-level.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_xiaomi_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Mode",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Constant Humidity",
"nl": "Constante luchtvochtigheid",
"da": "Konstant fugtighed",
"de": "Konstante Luftfeuchtigkeit",
"es": "Humedad constante",
"fr": "Humidité constante",
"it": "Umidità costante",
"no": "Konstant fuktighet",
"sv": "Konstant fuktighet",
"pl": "Stała wilgotność",
"ru": "Постоянная влажность",
"ko": "항상 습도"
}
},
{
"id": "1",
"title": {
"en": "Strong",
"nl": "Sterk",
"da": "Stærk",
"de": "Stark",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Mocny",
"ru": "Сильный",
"ko": "강한"
}
},
{
"id": "2",
"title": {
"en": "Sleep",
"nl": "Slaapstand",
"da": "Søvn",
"de": "Schlaf",
"es": "Sueño",
"fr": "Sommeil",
"it": "Sonno",
"no": "Søvn",
"sv": "Sömn",
"pl": "Sen",
"ru": "Сон",
"ko": "수면"
}
},
{
"id": "3",
"title": {
"en": "Air-dry",
"nl": "Air-dry",
"da": "Lufttørre",
"de": "Lufttrocknen",
"es": "Secado al aire",
"fr": "Sécher à l'air",
"it": "Asciuga all'aria",
"no": "Lufttørk",
"sv": "Lufttorka",
"pl": "Suszenie powietrzem",
"ru": "Воздушная сушка",
"ko": "공기 건조"
}
},
{
"id": "4",
"title": {
"en": "Clean",
"nl": "Schonen",
"da": "Rengør",
"de": "Reinigen",
"es": "Limpiar",
"fr": "Nettoyer",
"it": "Pulito",
"no": "Rengjør",
"sv": "Rengöra",
"pl": "Czystość",
"ru": "Чистка",
"ko": "청소"
}
},
{
"id": "5",
"title": {
"en": "Descale",
"nl": "Descale",
"da": "Afkalkning",
"de": "Entkalken",
"es": "Desincrustar",
"fr": "Détartrage",
"it": "Decalcificare",
"no": "Avkalking",
"sv": "Avkalka",
"pl": "Odkamienianie",
"ru": "Удаление накипи",
"ko": "제거"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_zhimi_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"getable": true,
"setable": true,
"values": [
{
"id": "idle",
"title": {
"en": "Off",
"nl": "Uit",
"de": "Aus",
"da": "Slukket",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wył.",
"ru": "Выкл.",
"ko": "낌"
}
},
{
"id": "silent",
"title": {
"en": "Silent",
"nl": "Stil",
"de": "Leise",
"da": "Stille",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "조용히"
}
},
{
"id": "medium",
"title": {
"en": "Medium",
"nl": "Middel",
"de": "Mittel",
"da": "Mellem",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Medium",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "high",
"title": {
"en": "High",
"nl": "Hoog",
"de": "Hoch",
"da": "Høj",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높은"
}
},
{
"id": "auto",
"title": {
"en": "Auto",
"nl": "Auto",
"de": "Auto",
"da": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "strong",
"title": {
"en": "Strong",
"nl": "Sterk",
"de": "Stark",
"da": "Stærk",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Mocny",
"ru": "Сильный",
"ko": "강한"
}
}
],
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/humidifier_zhimi_mode_miot.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "1",
"title": {
"en": "Level 1",
"nl": "Level 1",
"da": "Niveau 1",
"de": "Stufe 1",
"es": "Nivel 1",
"fr": "Niveau 1",
"it": "Livello 1",
"no": "Nivå 1",
"sv": "Nivå 1",
"pl": "Poziom 1",
"ru": "Уровень 1",
"ko": "레벨 1"
}
},
{
"id": "2",
"title": {
"en": "Level 2",
"nl": "Level 2",
"da": "Niveau 2",
"de": "Stufe 2",
"es": "Nivel 2",
"fr": "Niveau 2",
"it": "Livello 2",
"no": "Nivå 2",
"sv": "Nivå 2",
"pl": "Poziom 2",
"ru": "Уровень 2",
"ko": "레벨 2"
}
},
{
"id": "3",
"title": {
"en": "Level 3",
"nl": "Level 3",
"da": "Niveau 3",
"de": "Stufe 3",
"es": "Nivel 3",
"fr": "Niveau 3",
"it": "Livello 3",
"no": "Nivå 3",
"sv": "Nivå 3",
"pl": "Poziom 3",
"ru": "Уровень 3",
"ko": "레벨 3"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/humidifier-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/measure_desiccant.json
================================================
{
"type": "number",
"title": { "en": "Desiccant Left" },
"getable": true,
"setable": false,
"units": { "en": "%" },
"decimals": 0,
"min": 0,
"max": 100,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/measure_desiccant_time.json
================================================
{
"type": "number",
"title": { "en": "Desiccant Time Left" },
"getable": true,
"setable": false,
"units": { "en": "days" },
"decimals": 0,
"min": 0,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/measure_filter_days_left.json
================================================
{
"type": "number",
"title": {
"en": "Filter Days Left",
"nl": "Filterdagen resterend",
"da": "Filtrets resterende dage",
"de": "Verbleibende Filtertage",
"es": "Días restantes del filtro",
"fr": "Jours de filtre restants",
"it": "Giorni filtro rimasti",
"no": "Filterdager igjen",
"sv": "Filterdagar kvar",
"pl": "Pozostało dni filtra",
"ru": "Осталось дней фильтра",
"ko": "필터 남은 일수"
},
"desc": {
"en": "Number of days the filter is expected to last"
},
"getable": true,
"setable": false,
"units": {
"en": "days"
},
"icon": "/assets/icons/filter_left.svg"
}
================================================
FILE: .homeycompose/capabilities/measure_filter_life.json
================================================
{
"type": "number",
"title": {
"en": "Filter Life (%)",
"nl": "Filter Levensduur (%)",
"da": "Filterlevetid (%)",
"de": "Filterlebensdauer (%)",
"es": "Vida útil del filtro (%)",
"fr": "Durée de vie du filtre (%)",
"it": "Durata del filtro (%)",
"no": "Filterlevetid (%)",
"sv": "Filterlivslängd (%)",
"pl": "Żywotność filtra (%)",
"ru": "Срок службы фильтра (%)",
"ko": "필터 수명 (%)"
},
"desc": {
"en": "Shows the remaining filter life in percent"
},
"getable": true,
"setable": false,
"units": {
"en": "%"
},
"icon": "/assets/icons/filter.svg"
}
================================================
FILE: .homeycompose/capabilities/measure_gas_density.json
================================================
{
"title": {
"en": "Gas Density",
"nl": "Gas dichtheid",
"da": "Gasdensitet",
"de": "Gasdichte",
"es": "Densidad del gas",
"fr": "Densité de gaz",
"it": "Densità del gas",
"no": "Gassdensitet",
"sv": "Gasdensitet",
"pl": "Gęstość gazu",
"ru": "Плотность газа",
"ko": "가스 밀도"
},
"type": "number",
"units": {
"en": "kg/m3",
"nl": "kg/m3",
"da": "kg/m3",
"de": "kg/m3",
"es": "kg/m3",
"fr": "kg/m3",
"it": "kg/m3",
"no": "kg/m3",
"sv": "kg/m3",
"pl": "kg/m3",
"ru": "kg/m3",
"ko": "kg/m3"
},
"getable": true,
"setable": false,
"icon": "/assets/icons/measure_gas_density.svg"
}
================================================
FILE: .homeycompose/capabilities/measure_smoke_density.json
================================================
{
"title": {
"en": "Smoke Density",
"nl": "Rook dichtheid",
"da": "Røgtæthed",
"de": "Rauchdichte",
"es": "Densidad de humo",
"fr": "Densité de fumée",
"it": "Densità del fumo",
"no": "Røykdensitet",
"sv": "Röktäthet",
"pl": "Gęstość dymu",
"ru": "Плотность дыма",
"ko": "연기 밀도"
},
"type": "number",
"units": {
"en": "kg/m3",
"da": "kg/m3",
"de": "kg/m3",
"es": "kg/m3",
"fr": "kg/m3",
"it": "kg/m3",
"no": "kg/m3",
"sv": "kg/m3",
"pl": "kg/m3",
"ru": "кг/м³",
"ko": "kg/m3"
},
"getable": true,
"setable": false,
"icon": "/assets/icons/measure_smoke_density.svg"
}
================================================
FILE: .homeycompose/capabilities/measure_target_humidity.json
================================================
{
"type": "number",
"title": {
"en": "Target humidity"
},
"desc": {
"en": "Target humidity for Insights"
},
"getable": true,
"setable": false,
"uiComponent": null,
"units": {
"en": "%"
},
"decimals": 0,
"insights": true
}
================================================
FILE: .homeycompose/capabilities/measure_tvoc.json
================================================
{
"type": "number",
"title": {
"en": "TVOC",
"nl": "TVOC",
"da": "TVOC",
"de": "TVOC",
"es": "TVOC",
"fr": "TVOC",
"it": "TVOC",
"no": "TVOC",
"sv": "TVOC",
"pl": "TVOC",
"ru": "TVOC",
"ko": "TVOC"
},
"icon": "/assets/icons/measure_tvoc.svg",
"getable": true,
"setable": false,
"units": {
"en": "µg/m³",
"nl": "µg/m³",
"da": "µg/m³",
"de": "µg/m³",
"es": "µg/m³",
"fr": "µg/m³",
"it": "µg/m³",
"no": "µg/m³",
"sv": "µg/m³",
"pl": "µg/m³",
"ru": "µg/m³",
"ko": "µg/m³"
},
"min": 0,
"max": 10,
"decimals": 3,
"insights": true
}
================================================
FILE: .homeycompose/capabilities/measure_waterlevel.json
================================================
{
"type": "number",
"title": {
"en": "Waterlevel",
"nl": "Waterniveau",
"da": "Vandstand",
"de": "Wasserstand",
"es": "Nivel del agua",
"fr": "Niveau d'eau",
"it": "Livello dell'acqua",
"no": "Vannstand",
"sv": "Vattennivå",
"pl": "Poziom wody",
"ru": "Уровень воды",
"ko": "수위"
},
"icon": "/assets/icons/measure_waterlevel.svg",
"getable": true,
"setable": false,
"uiComponent": "sensor",
"units": {
"en": "%",
"nl": "%",
"da": "%",
"de": "%",
"es": "%",
"fr": "%",
"it": "%",
"no": "%",
"sv": "%",
"pl": "%",
"ru": "%",
"ko": "%"
},
"insights": true
}
================================================
FILE: .homeycompose/capabilities/petfeeder_busy.json
================================================
{
"type": "boolean",
"title": {
"en": "Feeder busy"
},
"getable": true,
"setable": false,
"uiComponent": "toggle",
"insights": true,
"insightsTitleTrue": {
"en": "Feeding"
},
"insightsTitleFalse": {
"en": "Idle"
}
}
================================================
FILE: .homeycompose/capabilities/petfeeder_eaten_food_today.json
================================================
{
"type": "number",
"title": {
"en": "Eaten Food Today"
},
"desc": {
"en": "Food eaten since midnight"
},
"getable": true,
"setable": false,
"units": {
"en": "g"
},
"decimals": 0,
"min": 0,
"uiComponent": "sensor",
"insights": true,
"insightsTitle": {
"en": "Food eaten today"
}
}
================================================
FILE: .homeycompose/capabilities/petfeeder_eaten_food_total.json
================================================
{
"type": "number",
"title": { "en": "Eaten Food Total" },
"desc": { "en": "Cumulative eaten food reported by device" },
"getable": true,
"setable": false,
"units": { "en": "g" },
"decimals": 0,
"min": 0,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_food_in_bowl.json
================================================
{
"type": "number",
"title": {
"en": "Food left in bowl"
},
"units": {
"en": "g"
},
"decimals": 1,
"min": 0,
"getable": true,
"setable": false,
"insights": true,
"insightsTitle": {
"en": "Food in bowl"
},
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_food_out_progress.json
================================================
{
"type": "number",
"title": {
"en": "Food out progress"
},
"getable": true,
"setable": false,
"units": {
"en": "%"
},
"min": 0,
"max": 100,
"decimals": 0,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_food_out_status.json
================================================
{
"type": "enum",
"title": { "en": "Food Out Status" },
"getable": true,
"setable": false,
"values": [
{ "id": "ok", "title": { "en": "OK" } },
{ "id": "food_out", "title": { "en": "Food Out" } }
],
"uiComponent": "picker"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_foodlevel.json
================================================
{
"type": "enum",
"title": {
"en": "Foodlevel",
"nl": "Voedselniveau",
"da": "Madniveau",
"de": "Futterstand",
"es": "Nivel de comida",
"fr": "Niveau de nourriture",
"it": "Livello di cibo",
"no": "Matenivå",
"sv": "Matnivå",
"pl": "Poziom jedzenia",
"ru": "Уровень еды",
"ko": "음식 수준"
},
"values": [
{
"title": {
"en": "Normal"
},
"id": "normal"
},
{
"title": {
"en": "Low"
},
"id": "low"
},
{
"title": {
"en": "Unknown"
},
"id": "unknown"
}
],
"getable": true,
"setable": false,
"icon": "/assets/icons/petfeeder_foodlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_heap_status.json
================================================
{
"type": "enum",
"title": { "en": "Heap Status" },
"getable": true,
"setable": false,
"values": [
{ "id": "ok", "title": { "en": "OK" } },
{ "id": "heap_detected", "title": { "en": "Heap Detected" } }
],
"uiComponent": "picker"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_schedule_progress.json
================================================
{
"type": "number",
"title": {
"en": "Schedule progress"
},
"units": {
"en": "%"
},
"decimals": 0,
"min": 0,
"max": 100,
"getable": true,
"setable": false,
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/petfeeder_status_mode.json
================================================
{
"type": "enum",
"title": { "en": "Feeder Status" },
"getable": true,
"setable": false,
"values": [
{ "id": "unknown", "title": { "en": "Unknown" } },
{ "id": "idle", "title": { "en": "Idle" } },
{ "id": "feeding", "title": { "en": "Feeding" } },
{ "id": "paused", "title": { "en": "Paused" } },
{ "id": "fault", "title": { "en": "Fault" } }
],
"uiComponent": "picker"
}
================================================
FILE: .homeycompose/capabilities/petwaterdispenser_mmgg_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Pet Waterdispenser Mode",
"nl": "Pet Waterdispenser Mode",
"da": "Kæledyrsvanddispenser Mode",
"de": "Haustier Wasserspender Modus",
"es": "Modo dispensador de agua para mascotas",
"fr": "Mode distributeur d'eau pour animaux",
"it": "Modalità dispenser d'acqua per animali",
"no": "Kjæledyr vannedispensermodus",
"sv": "Husdjur vattendispenserläge",
"pl": "Tryb dozownika wody dla zwierząt",
"ru": "Режим поилки для питомцев",
"ko": "애완동물 물 디스펜서 모드"
},
"values": [
{
"id": "1",
"title": {
"en": "Common",
"nl": "Normaal",
"da": "Almindelig",
"de": "Allgemein",
"es": "Común",
"fr": "Commun",
"it": "Comune",
"no": "Vanlig",
"sv": "Vanlig",
"pl": "Zwykły",
"ru": "Обычный",
"ko": "일반"
}
},
{
"id": "2",
"title": {
"en": "Smart",
"nl": "Slim",
"da": "Smart",
"de": "Intelligent",
"es": "Inteligente",
"fr": "Intelligent",
"it": "Intelligente",
"no": "Smart",
"sv": "Smart",
"pl": "Inteligentny",
"ru": "Умный",
"ko": "스마트"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/waterdispenser-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/petwaterdispenser_mmgg_mode_3.json
================================================
{
"type": "enum",
"title": {
"en": "Pet Fountain Mode",
"nl": "Huisdier Fontein Modus",
"da": "Kæledyr Fountain Mode",
"de": "Haustierbrunnen-Modus",
"es": "Modo Fuente para Mascotas",
"fr": "Mode Fontaine à Animaux",
"it": "Modalità Fontana per Animali",
"no": "Kjæledyr Fontenemodus",
"sv": "Husdjur Fontänläge",
"pl": "Tryb Fontanny dla Zwierząt",
"ru": "Режим поилки для питомцев",
"ko": "애완동물 분수 모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Авто",
"ko": "자동"
}
},
{
"id": "1",
"title": {
"en": "Interval",
"nl": "Interval",
"da": "Interval",
"de": "Intervall",
"es": "Intervalo",
"fr": "Intervalle",
"it": "Intervallo",
"no": "Intervall",
"sv": "Intervall",
"pl": "Interwał",
"ru": "Интервал",
"ko": "간격"
}
},
{
"id": "2",
"title": {
"en": "Constant",
"nl": "Constant",
"da": "Konstant",
"de": "Konstant",
"es": "Constante",
"fr": "Constant",
"it": "Costante",
"no": "Konstant",
"sv": "Konstant",
"pl": "Ciągły",
"ru": "Постоянный",
"ko": "지속"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/waterdispenser-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_dreame_fanspeed.json
================================================
{
"type": "enum",
"title": {
"en": "Fanspeed",
"nl": "Fanspeed",
"da": "Blæserhastighed",
"de": "Lüftergeschwindigkeit",
"es": "Velocidad del ventilador",
"fr": "Vitesse du ventilateur",
"it": "Velocità della ventola",
"no": "Viftehastighet",
"sv": "Fläkthastighet",
"pl": "Prędkość wentylatora",
"ru": "Скорость вентилятора",
"ko": "팬 속도"
},
"values": [
{
"id": "0",
"title": {
"en": "Silent",
"nl": "Stil",
"da": "Stille",
"de": "Leise",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Бесшумный",
"ko": "조용한"
}
},
{
"id": "1",
"title": {
"en": "Basic",
"nl": "Basis",
"da": "Basis",
"de": "Basis",
"es": "Básico",
"fr": "De base",
"it": "Di base",
"no": "Grunnleggende",
"sv": "Grundläggande",
"pl": "Podstawowy",
"ru": "Базовый",
"ko": "기본"
}
},
{
"id": "2",
"title": {
"en": "Strong",
"nl": "Sterk",
"da": "Stærk",
"de": "Stark",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Silny",
"ru": "Сильный",
"ko": "강한"
}
},
{
"id": "3",
"title": {
"en": "Full speed",
"nl": "Volle snelheid",
"da": "Fuld hastighed",
"de": "Volle Geschwindigkeit",
"es": "Velocidad máxima",
"fr": "Vitesse maximale",
"it": "Velocità massima",
"no": "Full fart",
"sv": "Full hastighet",
"pl": "Pełna prędkość",
"ru": "Полная скорость",
"ko": "최고 속도"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_dreame_mop_intensity.json
================================================
{
"type": "enum",
"title": {
"en": "Mop Intensity",
"nl": "Dweil intensiteit",
"da": "Mop Intensity",
"de": "Wischintensität",
"es": "Intensidad de fregado",
"fr": "Intensité de la serpillière",
"it": "Intensità del mop",
"no": "Mop Intensity",
"sv": "Mop Intensity",
"pl": "Intensywność mopa",
"ru": "Интенсивность швабры",
"ko": "물걸레 강도"
},
"values": [
{
"id": "0",
"title": {
"en": "Low",
"nl": "Laag",
"da": "Lav",
"de": "Niedrig",
"es": "Bajo",
"fr": "Faible",
"it": "Basso",
"no": "Lav",
"sv": "Låg",
"pl": "Niski",
"ru": "Низкий",
"ko": "낮음"
}
},
{
"id": "1",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Middel",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Medium",
"sv": "Medium",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "2",
"title": {
"en": "High",
"nl": "Hoog",
"da": "Høj",
"de": "Hoch",
"es": "Alto",
"fr": "Élevé",
"it": "Alto",
"no": "Høy",
"sv": "Hög",
"pl": "Wysoki",
"ru": "Высокий",
"ko": "높음"
}
},
{
"id": "3",
"title": {
"en": "High (specific models)",
"nl": "Hoog (specifieke modellen)",
"da": "Høj (specifikke modeller)",
"de": "Hoch (spezifische Modelle)",
"es": "Alto (modelos específicos)",
"fr": "Élevé (modèles spécifiques)",
"it": "Alto (modelli specifici)",
"no": "Høy (spesifikke modeller)",
"sv": "Hög (specifika modeller)",
"pl": "Wysoki (specyficzne modele)",
"ru": "Высокий (определённые модели)",
"ko": "높음 (특정 모델)"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/mopintensity.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_roborock_fanspeed.json
================================================
{
"type": "enum",
"title": {
"en": "Fanspeed",
"nl": "Fanspeed",
"da": "Blæserhastighed",
"de": "Lüftergeschwindigkeit",
"es": "Velocidad del ventilador",
"fr": "Vitesse du ventilateur",
"it": "Velocità della ventola",
"no": "Viftehastighet",
"sv": "Fläkthastighet",
"pl": "Prędkość wentylatora",
"ru": "Скорость вентилятора",
"ko": "팬 속도"
},
"values": [
{
"id": "1",
"title": {
"en": "Quiet",
"nl": "Stil",
"da": "Rolig",
"de": "Leise",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "조용하게"
}
},
{
"id": "2",
"title": {
"en": "Standard",
"nl": "Standaard",
"da": "Standard",
"de": "Standard",
"es": "Estándar",
"fr": "Standard",
"it": "Standard",
"no": "Standard",
"sv": "Standard",
"pl": "Standardowy",
"ru": "Стандартный",
"ko": "표준"
}
},
{
"id": "3",
"title": {
"en": "Medium",
"nl": "Medium",
"da": "Mellem",
"de": "Mittel",
"es": "Medio",
"fr": "Moyen",
"it": "Medio",
"no": "Middels",
"sv": "Mellan",
"pl": "Średni",
"ru": "Средний",
"ko": "중간"
}
},
{
"id": "4",
"title": {
"en": "Turbo",
"nl": "Turbo",
"da": "Turbo",
"de": "Turbo",
"es": "Turbo",
"fr": "Turbo",
"it": "Turbo",
"no": "Turbo",
"sv": "Turbo",
"pl": "Turbo",
"ru": "Турбо",
"ko": "터보"
}
},
{
"id": "5",
"title": {
"en": "Max",
"nl": "Max",
"da": "Maks",
"de": "Max",
"es": "Máximo",
"fr": "Max",
"it": "Massimo",
"no": "Maks",
"sv": "Max",
"pl": "Maks",
"ru": "Макс",
"ko": "최대"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_roborock_mop_intensity.json
================================================
{
"type": "enum",
"title": {
"en": "Mop Intensity",
"nl": "Dweil intensiteit",
"da": "Mop intensitet",
"de": "Wischintensität",
"es": "Intensidad de fregado",
"fr": "Intensité du nettoyage",
"it": "Intensità di pulizia",
"no": "Mop intesitet",
"sv": "Moppens intensitet",
"pl": "Intensywność mopowania",
"ru": "Интенсивность мытья",
"ko": "걸레질 강도"
},
"values": [
{
"id": "200",
"title": {
"en": "Off",
"nl": "Uit",
"da": "Slukket",
"de": "Aus",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłączone",
"ru": "Выкл",
"ko": "꺼짐"
}
},
{
"id": "201",
"title": {
"en": "Mild",
"nl": "Mild",
"da": "Let",
"de": "Mild",
"es": "Suave",
"fr": "Doux",
"it": "Leggero",
"no": "Mild",
"sv": "Mild",
"pl": "Łagodny",
"ru": "Слабый",
"ko": "약한"
}
},
{
"id": "202",
"title": {
"en": "Moderate",
"nl": "Gemiddeld",
"da": "Moderat",
"de": "Mittel",
"es": "Moderado",
"fr": "Modéré",
"it": "Moderato",
"no": "Moderat",
"sv": "Medel",
"pl": "Umiarkowany",
"ru": "Средний",
"ko": "보통"
}
},
{
"id": "203",
"title": {
"en": "Intense",
"nl": "Intens",
"da": "Intens",
"de": "Intensiv",
"es": "Intenso",
"fr": "Intense",
"it": "Intenso",
"no": "Intens",
"sv": "Intensiv",
"pl": "Intensywny",
"ru": "Сильный",
"ko": "강한"
}
},
{
"id": "204",
"title": {
"en": "Unknown mop intensity",
"nl": "Unknown mop intensity",
"da": "Ukendt mop intensitet",
"de": "Unbekannte Wischintensität",
"es": "Intensidad de fregado desconocida",
"fr": "Intensité de nettoyage inconnue",
"it": "Intensità di pulizia sconosciuta",
"no": "Ukjent mop intesitet",
"sv": "Okänd moppens intensitet",
"pl": "Nieznana intensywność mopowania",
"ru": "Неизвестная интенсивность мытья",
"ko": "알 수 없는 걸레질 강도"
}
},
{
"id": "207",
"title": {
"en": "Unknown mop intensity",
"nl": "Unknown mop intensity",
"da": "Ukendt mop intensitet",
"de": "Unbekannte Wischintensität",
"es": "Intensidad de fregado desconocida",
"fr": "Intensité de nettoyage inconnue",
"it": "Intensità di pulizia sconosciuta",
"no": "Ukjent mop intesitet",
"sv": "Okänd moppens intensitet",
"pl": "Nieznana intensywność mopowania",
"ru": "Неизвестная интенсивность мытья",
"ko": "알 수 없는 걸레질 강도"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/mopintensity.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_roidmi_fanspeed.json
================================================
{
"type": "enum",
"title": {
"en": "Fanspeed",
"nl": "Fanspeed",
"da": "Blæserhastighed",
"de": "Lüftergeschwindigkeit",
"es": "Velocidad del ventilador",
"fr": "Vitesse du ventilateur",
"it": "Velocità della ventola",
"no": "Viftehastighet",
"sv": "Fläkthastighet",
"pl": "Prędkość wentylatora",
"ru": "Скорость вентилятора",
"ko": "팬 속도"
},
"values": [
{
"id": "0",
"title": {
"en": "Sweep",
"nl": "Sweep",
"da": "Sweep",
"de": "Sweep",
"es": "Sweep",
"fr": "Sweep",
"it": "Sweep",
"no": "Sweep",
"sv": "Sweep",
"pl": "Sweep",
"ru": "Sweep",
"ko": "Sweep"
}
},
{
"id": "1",
"title": {
"en": "Silent",
"nl": "Stil",
"da": "Stille",
"de": "Leise",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "조용한"
}
},
{
"id": "2",
"title": {
"en": "Basic",
"nl": "Basis",
"da": "Grundlæggende",
"de": "Basis",
"es": "Básico",
"fr": "De base",
"it": "Base",
"no": "Grunnleggende",
"sv": "Grundläggande",
"pl": "Podstawowe",
"ru": "Основной",
"ko": "기본"
}
},
{
"id": "3",
"title": {
"en": "Strong",
"nl": "Sterk",
"da": "Stærk",
"de": "Stark",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Silny",
"ru": "Сильный",
"ko": "강한"
}
},
{
"id": "4",
"title": {
"en": "Full speed",
"nl": "Volle snelheid",
"da": "Fuld fart",
"de": "Volle Geschwindigkeit",
"es": "Velocidad máxima",
"fr": "Pleine vitesse",
"it": "Piena velocità",
"no": "Full fart",
"sv": "Full fart",
"pl": "Pełna prędkość",
"ru": "Полная скорость",
"ko": "최고 속도"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_roidmi_mop_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Sweep and Mop Mode",
"nl": "Sweep and Mop modus",
"da": "Feje- og mopningstilstand",
"de": "Kehr- und Wischmodus",
"es": "Modo de barrido y fregado",
"fr": "Mode balayage et vadrouille",
"it": "Modalità spazzare e pulire",
"no": "Feie- og moppemodus",
"sv": "Sop- och moppningsläge",
"pl": "Tryb zamiatania i mopowania",
"ru": "Режим подметания и мытья полов",
"ko": "쓸기 및 물기 모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Sweep",
"nl": "Sweep",
"da": "Feje",
"de": "Kehren",
"es": "Barrer",
"fr": "Balayer",
"it": "Spazzare",
"no": "Feie",
"sv": "Sopa",
"pl": "Zamiatanie",
"ru": "Подметание",
"ko": "쓸기"
}
},
{
"id": "1",
"title": {
"en": "Mop",
"nl": "Mop",
"da": "Moppe",
"de": "Wischen",
"es": "Fregar",
"fr": "Passer la serpillière",
"it": "Pulire",
"no": "Moppe",
"sv": "Moppa",
"pl": "Mopowanie",
"ru": "Мытьё полов",
"ko": "물기"
}
},
{
"id": "2",
"title": {
"en": "Mop & Sweep",
"nl": "Mop & Sweep",
"da": "Moppe & Feje",
"de": "Wischen & Kehren",
"es": "Fregar y Barrer",
"fr": "Vadrouille et Balayage",
"it": "Pulire e Spazzare",
"no": "Moppe og Feie",
"sv": "Moppa & Sopa",
"pl": "Mopowanie i zamiatanie",
"ru": "Мытьё полов и подметание",
"ko": "물기 및 쓸기"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/vacuum-mop.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_roidmi_waterlevel.json
================================================
{
"type": "enum",
"title": {
"en": "Fanspeed",
"nl": "Fanspeed",
"da": "Blæserhastighed",
"de": "Lüftergeschwindigkeit",
"es": "Velocidad del ventilador",
"fr": "Vitesse du ventilateur",
"it": "Velocità della ventola",
"no": "Viftehastighet",
"sv": "Fläkthastighet",
"pl": "Prędkość wentylatora",
"ru": "Скорость вентилятора",
"ko": "팬 속도"
},
"values": [
{
"id": "0",
"title": {
"en": "Mop",
"nl": "Mop",
"da": "Mop",
"de": "Mop",
"es": "Mopa",
"fr": "Serpillère",
"it": "Mop",
"no": "Mopp",
"sv": "Mopp",
"pl": "Mop",
"ru": "Швабра",
"ko": "걸레"
}
},
{
"id": "1",
"title": {
"en": "First",
"nl": "Eerste",
"da": "Første",
"de": "Erste",
"es": "Primero",
"fr": "Premier",
"it": "Primo",
"no": "Første",
"sv": "Första",
"pl": "Pierwszy",
"ru": "Первый",
"ko": "첫번째"
}
},
{
"id": "2",
"title": {
"en": "Second",
"nl": "Tweede",
"da": "Anden",
"de": "Zweite",
"es": "Segundo",
"fr": "Deuxième",
"it": "Secondo",
"no": "Andre",
"sv": "Andra",
"pl": "Drugi",
"ru": "Второй",
"ko": "두번째"
}
},
{
"id": "3",
"title": {
"en": "Third",
"nl": "Derde",
"da": "Tredje",
"de": "Dritte",
"es": "Tercero",
"fr": "Troisième",
"it": "Terzo",
"no": "Tredje",
"sv": "Tredje",
"pl": "Trzeci",
"ru": "Третий",
"ko": "세번째"
}
},
{
"id": "4",
"title": {
"en": "Fourth",
"nl": "Vierde",
"da": "Fjerde",
"de": "Vierte",
"es": "Cuarto",
"fr": "Quatrième",
"it": "Quarto",
"no": "Fjerde",
"sv": "Fjärde",
"pl": "Czwarty",
"ru": "Четвертый",
"ko": "네번째"
}
}
],
"getable": true,
"setable": false,
"icon": "/assets/icons/measure_waterlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_viomi_mop_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Vacuum Mode",
"nl": "Stofzuiger modus",
"da": "Støvsugermodus",
"de": "Staubsaugermodus",
"es": "Modo de aspiradora",
"fr": "Mode aspirateur",
"it": "Modalità aspirapolvere",
"no": "Støvsugermodus",
"sv": "Dammsugarläge",
"pl": "Tryb odkurzacza",
"ru": "Режим пылесоса",
"ko": "진공 모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Vacuum",
"nl": "Stofzuigen",
"da": "Støvsuge",
"de": "Staubsaugen",
"es": "Aspirar",
"fr": "Aspirer",
"it": "Aspirare",
"no": "Støvsuge",
"sv": "Dammsuga",
"pl": "Odkurzać",
"ru": "Пылесосить",
"ko": "진공"
}
},
{
"id": "1",
"title": {
"en": "Vacuum + Mop",
"nl": "Stofzuigen + moppen",
"da": "Støvsuge + moppe",
"de": "Staubsaugen + Wischen",
"es": "Aspirar + Trapear",
"fr": "Aspirer + Passer la serpillière",
"it": "Aspirare + Lavare",
"no": "Støvsuge + moppe",
"sv": "Dammsuga + moppa",
"pl": "Odkurzać + Mopować",
"ru": "Пылесосить + Мыть",
"ko": "진공 + 걸레질"
}
},
{
"id": "2",
"title": {
"en": "Mop",
"nl": "Moppen",
"da": "Moppe",
"de": "Wischen",
"es": "Trapear",
"fr": "Passer la serpillière",
"it": "Lavare",
"no": "Moppe",
"sv": "Moppa",
"pl": "Mopować",
"ru": "Мыть",
"ko": "걸레질"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/vacuum-mop.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_carpet_mode_max.json
================================================
{
"type": "enum",
"title": {
"en": "Carpet avoidance",
"nl": "Tapijt vermijden",
"de": "Teppichvermeidung",
"da": "Undgå tæpper",
"es": "Evitar alfombras",
"fr": "Éviter les tapis",
"it": "Evitamento tappeti",
"no": "Unngå tepper",
"sv": "Undvik mattor",
"pl": "Unikanie dywanów",
"ru": "Избегание ковров",
"ko": "카펫 회피"
},
"values": [
{
"id": "0",
"title": {
"en": "Self Adaptation",
"nl": "Zelfaanpassing",
"de": "Selbstanpassung",
"da": "Selvtilpasning",
"es": "Auto adaptación",
"fr": "Auto-adaptation",
"it": "Auto adattamento",
"no": "Selvtilpasning",
"sv": "Självanpassning",
"pl": "Samodopasowanie",
"ru": "Самоадаптация",
"ko": "자동 적응"
}
},
{
"id": "1",
"title": {
"en": "Avoid",
"nl": "Vermijden",
"de": "Vermeiden",
"da": "Undgå",
"es": "Evitar",
"fr": "Éviter",
"it": "Evita",
"no": "Unngå",
"sv": "Undvik",
"pl": "Unikaj",
"ru": "Избегать",
"ko": "회피"
}
},
{
"id": "2",
"title": {
"en": "Ignore",
"nl": "Negeren",
"de": "Ignorieren",
"da": "Ignorer",
"es": "Ignorar",
"fr": "Ignorer",
"it": "Ignora",
"no": "Ignorer",
"sv": "Ignorera",
"pl": "Ignoruj",
"ru": "Игнорировать",
"ko": "무시"
}
},
{
"id": "3",
"title": {
"en": "Span",
"nl": "Span",
"de": "Span",
"da": "Span",
"es": "Span",
"fr": "Span",
"it": "Span",
"no": "Span",
"sv": "Span",
"pl": "Span",
"ru": "Span",
"ko": "Span"
}
}
],
"getable": true,
"setable": true
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_cleaning_mode_max.json
================================================
{
"type": "enum",
"title": {
"en": "Cleaning Power",
"nl": "Reinigingskracht",
"de": "Reinigungsleistung",
"da": "Rengøringskraft",
"es": "Potencia de limpieza",
"fr": "Pouvoir de nettoyage",
"it": "Potenza di pulizia",
"no": "Rengjøringskraft",
"sv": "Rengöringskraft",
"pl": "Moc czyszczenia",
"ru": "Сила очистки",
"ko": "청소 능력"
},
"values": [
{
"id": "1",
"title": {
"en": "Silent",
"nl": "Stil",
"de": "Leise",
"da": "Stille",
"es": "Silencioso",
"fr": "Silencieux",
"it": "Silenzioso",
"no": "Stille",
"sv": "Tyst",
"pl": "Cichy",
"ru": "Тихий",
"ko": "조용한"
}
},
{
"id": "2",
"title": {
"en": "Standard",
"nl": "Standaard",
"de": "Standard",
"da": "Standard",
"es": "Estándar",
"fr": "Standard",
"it": "Standard",
"no": "Standard",
"sv": "Standard",
"pl": "Standardowy",
"ru": "Стандартный",
"ko": "표준"
}
},
{
"id": "3",
"title": {
"en": "Strong",
"nl": "Sterk",
"de": "Stark",
"da": "Stærk",
"es": "Fuerte",
"fr": "Fort",
"it": "Forte",
"no": "Sterk",
"sv": "Stark",
"pl": "Silny",
"ru": "Сильный",
"ko": "강한"
}
},
{
"id": "4",
"title": {
"en": "Turbo",
"nl": "Turbo",
"de": "Turbo",
"da": "Turbo",
"es": "Turbo",
"fr": "Turbo",
"it": "Turbo",
"no": "Turbo",
"sv": "Turbo",
"pl": "Turbo",
"ru": "Турбо",
"ko": "터보"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/fanlevel.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_detergent_left_level.json
================================================
{
"title": {
"en": "Water left (%)",
"nl": "Overgebleven water (%)",
"da": "Resterende vand (%)",
"de": "Verbleibendes Wasser (%)",
"es": "Agua restante (%)",
"fr": "Eau restante (%)",
"it": "Acqua rimasta (%)",
"no": "Vann igjen (%)",
"sv": "Vatten kvar (%)",
"pl": "Pozostała woda (%)",
"ru": "Остаток воды (%)",
"ko": "남은 물 (%)"
},
"type": "number",
"getable": true,
"setable": false,
"units": {
"en": "%",
"nl": "%",
"da": "%",
"de": "%",
"es": "%",
"fr": "%",
"it": "%",
"no": "%",
"sv": "%",
"pl": "%",
"ru": "%",
"ko": "%"
},
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_dust_bag_left_level.json
================================================
{
"title": {
"en": "Dust bag left (%)",
"nl": "Stofzak over (%)",
"da": "Støvsugerpose tilbage (%)",
"de": "Staubbeutel verbleibend (%)",
"es": "Bolsa de polvo restante (%)",
"fr": "Sac à poussière restant (%)",
"it": "Sacchetto della polvere rimasto (%)",
"no": "Støvsekk igjen (%)",
"sv": "Dammsugarpåse kvar (%)",
"pl": "Pozostało worka na kurz (%)",
"ru": "Осталось пылесборника (%)",
"ko": "먼지 봉투 남음 (%)"
},
"type": "number",
"getable": true,
"setable": false,
"units": {
"en": "%",
"nl": "%",
"da": "%",
"de": "%",
"es": "%",
"fr": "%",
"it": "%",
"no": "%",
"sv": "%",
"pl": "%",
"ru": "%",
"ko": "%"
},
"uiComponent": "sensor"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_mop_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Sweep and Mop Mode",
"nl": "Sweep and Mop modus",
"da": "Feje og Moppe Tilstand",
"de": "Kehr- und Wischmodus",
"es": "Modo Barrer y Trapear",
"fr": "Mode Balayage et Lavage",
"it": "Modalità Spazza e Passa",
"no": "Feie- og Moppemodus",
"sv": "Sopa och Mopp-läge",
"pl": "Tryb zamiatania i mopowania",
"ru": "Режим подметания и мытья",
"ko": "청소 및 물걸레 모드"
},
"values": [
{
"id": "0",
"title": {
"en": "Sweep",
"nl": "Sweep",
"da": "Feje",
"de": "Kehren",
"es": "Barrer",
"fr": "Balayer",
"it": "Spazza",
"no": "Feie",
"sv": "Sopa",
"pl": "Zamiatać",
"ru": "Подметать",
"ko": "청소"
}
},
{
"id": "1",
"title": {
"en": "Sweep & Mop",
"nl": "Sweep & Mop",
"da": "Feje & Moppe",
"de": "Kehren & Wischen",
"es": "Barrer y Trapear",
"fr": "Balayer & Laver",
"it": "Spazza & Passa",
"no": "Feie & Moppe",
"sv": "Sopa & Mopp",
"pl": "Zamiatać i mopować",
"ru": "Подметать и мыть",
"ko": "청소 및 물걸레질"
}
},
{
"id": "2",
"title": {
"en": "Mop",
"nl": "Mop",
"da": "Moppe",
"de": "Wischen",
"es": "Trapear",
"fr": "Laver",
"it": "Passa",
"no": "Moppe",
"sv": "Mopp",
"pl": "Mopować",
"ru": "Мыть",
"ko": "물걸레질"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/vacuum-mop.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_mop_mode_max.json
================================================
{
"type": "enum",
"title": {
"en": "Sweep & Mop Mode",
"it": "Modalità Spazza e Passa",
"no": "Feie- og Moppemodus",
"sv": "Sopa och Mopp-läge",
"pl": "Tryb zamiatania i mopowania",
"ru": "Режим подметания и мытья",
"ko": "청소 및 물걸레 모드",
"nl": "Vegen en Dweilen modus",
"da": "Fej & Moppe tilstand",
"de": "Kehren & Wischen Modus",
"es": "Modo Barrer y Trapear",
"fr": "Mode Balayer & Laver"
},
"values": [
{
"id": "1",
"title": {
"en": "Sweep",
"nl": "Sweep",
"da": "Feje",
"de": "Kehren",
"es": "Barrer",
"fr": "Balayer",
"it": "Spazza",
"no": "Feie",
"sv": "Sopa",
"pl": "Zamiatać",
"ru": "Подметать",
"ko": "청소"
}
},
{
"id": "2",
"title": {
"en": "Mop",
"nl": "Mop",
"da": "Moppe",
"de": "Wischen",
"es": "Trapear",
"fr": "Laver",
"it": "Passa",
"no": "Moppe",
"sv": "Mopp",
"pl": "Mopować",
"ru": "Мыть",
"ko": "물걸레질"
}
},
{
"id": "3",
"title": {
"en": "Sweep & Mop",
"nl": "Sweep & Mop",
"da": "Feje & Moppe",
"de": "Kehren & Wischen",
"es": "Barrer y Trapear",
"fr": "Balayer & Laver",
"it": "Spazza & Passa",
"no": "Feie & Moppe",
"sv": "Sopa & Mopp",
"pl": "Zamiatać i mopować",
"ru": "Подметать и мыть",
"ko": "청소 및 물걸레질"
}
},
{
"id": "4",
"title": {
"en": "Sweep Before Mopping",
"nl": "Vegen voor Dweilen",
"da": "Fej før mopning",
"de": "Kehren vor dem Wischen",
"es": "Barrer antes de trapear",
"fr": "Balayer avant de laver",
"it": "Spazza prima di passare",
"no": "Feie før mopping",
"sv": "Sopa före moppning",
"pl": "Zamiataj przed mopowaniem",
"ru": "Подметать перед мытьём",
"ko": "물걸레질 전 청소"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/vacuum-mop.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_path_mode_max.json
================================================
{
"type": "enum",
"title": {
"en": "Path Mode",
"nl": "Padmodus",
"de": "Pfadmodus",
"da": "Sti mode",
"es": "Modo de ruta",
"fr": "Mode chemin",
"it": "Modalità percorso",
"no": "Bane modus",
"sv": "Sätt för väg",
"pl": "Tryb ścieżki",
"ru": "Режим пути",
"ko": "경로 모드"
},
"values": [
{
"id": "1",
"title": {
"en": "Quick",
"nl": "Snel",
"de": "Schnell",
"da": "Hurtig",
"es": "Rápido",
"fr": "Rapide",
"it": "Veloce",
"no": "Rask",
"sv": "Snabb",
"pl": "Szybki",
"ru": "Быстрый",
"ko": "빠른"
}
},
{
"id": "2",
"title": {
"en": "Standard",
"nl": "Standaard",
"de": "Standard",
"da": "Standard",
"es": "Estándar",
"fr": "Standard",
"it": "Standard",
"no": "Standard",
"sv": "Standard",
"pl": "Standard",
"ru": "Стандарт",
"ko": "표준"
}
},
{
"id": "3",
"title": {
"en": "Deep",
"nl": "Diep",
"de": "Tief",
"da": "Dyb",
"es": "Profundo",
"fr": "Profond",
"it": "Profondo",
"no": "Dyp",
"sv": "Djupt",
"pl": "Głęboki",
"ru": "Глубокий",
"ko": "깊은"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/vacuum-path-mode.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_status.json
================================================
{
"type": "string",
"title": {
"en": "Status / error",
"nl": "Status / fout",
"da": "Status / fejl",
"de": "Status / Fehler",
"es": "Estado / error",
"fr": "Statut / erreur",
"it": "Stato / errore",
"no": "Status / feil",
"sv": "Status / fel",
"pl": "Status / błąd",
"ru": "Статус / ошибка",
"ko": "상태 / 오류"
},
"getable": true,
"setable": false,
"insights": false,
"icon": "/assets/icons/alarm_generic.svg"
}
================================================
FILE: .homeycompose/capabilities/vacuum_xiaomi_water_level_max.json
================================================
{
"type": "enum",
"title": {
"en": "Water Output",
"nl": "Wateroutput",
"de": "Wasserausgabe",
"es": "Salida de Agua",
"fr": "Sortie d'Eau",
"it": "Uscita dell'Acqua",
"da": "Vandoutput",
"no": "Vannutgang",
"sv": "Vattenutgång",
"pl": "Wydajność wody",
"ru": "Вывод воды",
"ko": "물 출력"
},
"values": [
{
"id": "1",
"title": {
"en": "Level 1",
"nl": "Niveau 1",
"de": "Stufe 1",
"es": "Nivel 1",
"fr": "Niveau 1",
"it": "Livello 1",
"da": "Niveau 1",
"no": "Nivå 1",
"sv": "Nivå 1",
"pl": "Poziom 1",
"ru": "Уровень 1",
"ko": "레벨 1"
}
},
{
"id": "2",
"title": {
"en": "Level 2",
"nl": "Niveau 2",
"de": "Stufe 2",
"es": "Nivel 2",
"fr": "Niveau 2",
"it": "Livello 2",
"da": "Niveau 2",
"no": "Nivå 2",
"sv": "Nivå 2",
"pl": "Poziom 2",
"ru": "Уровень 2",
"ko": "레벨 2"
}
},
{
"id": "3",
"title": {
"en": "Level 3",
"nl": "Niveau 3",
"de": "Stufe 3",
"es": "Nivel 3",
"fr": "Niveau 3",
"it": "Livello 3",
"da": "Niveau 3",
"no": "Nivå 3",
"sv": "Nivå 3",
"pl": "Poziom 3",
"ru": "Уровень 3",
"ko": "레벨 3"
}
}
],
"getable": true,
"setable": true,
"icon": "/assets/icons/water-level.svg"
}
================================================
FILE: .homeycompose/capabilities/yeelight_ceil43_mode.json
================================================
{
"type": "enum",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalita",
"no": "Modus",
"sv": "Lage",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"getable": true,
"setable": true,
"uiComponent": "picker",
"values": [
{
"id": "0",
"title": {
"en": "Day",
"nl": "Dag",
"da": "Dag",
"de": "Tag",
"es": "Dia",
"fr": "Jour",
"it": "Giorno",
"no": "Dag",
"sv": "Dag",
"pl": "Dzien",
"ru": "День",
"ko": "주간"
}
},
{
"id": "1",
"title": {
"en": "Night",
"nl": "Nacht",
"da": "Nat",
"de": "Nacht",
"es": "Noche",
"fr": "Nuit",
"it": "Notte",
"no": "Natt",
"sv": "Natt",
"pl": "Noc",
"ru": "Ночь",
"ko": "야간"
}
},
{
"id": "2",
"title": {
"en": "Color",
"nl": "Kleur",
"da": "Farve",
"de": "Farbe",
"es": "Color",
"fr": "Couleur",
"it": "Colore",
"no": "Farge",
"sv": "Farg",
"pl": "Kolor",
"ru": "Цвет",
"ko": "색상"
}
},
{
"id": "3",
"title": {
"en": "Flow",
"nl": "Flow",
"da": "Flow",
"de": "Flow",
"es": "Flujo",
"fr": "Flux",
"it": "Flusso",
"no": "Flyt",
"sv": "Flode",
"pl": "Przeplyw",
"ru": "Поток",
"ko": "흐름"
}
}
],
"icon": "/assets/icons/airpurifier-mode.svg"
}
================================================
FILE: .homeycompose/drivers/pair/add_device/index.html
================================================
<script type="text/javascript">
try {
Homey.emit('add_device', {})
.then(result => {
Homey.createDevice(result);
Homey.done();
})
} catch (error) {
Homey.alert(error);
Homey.done();
}
</script>
================================================
FILE: .homeycompose/drivers/pair/pair/index.html
================================================
<script type="text/javascript">
Homey.setTitle( __('pair.title') );
$(function() {
$('#test-connection').click(function() {
$('.mi-device-test').hide();
$('.mi-device-error').hide();
$('.mi-device-ok').hide();
let inputaddress = $('#address').val();
let inputtoken = $('#token').val();
let inputpolling = Number($('#polling').val()) || 60;
if( inputaddress != '' && inputtoken != '' && inputpolling != '') {
let device_data = {
address: inputaddress,
token: inputtoken,
polling: inputpolling
};
Homey.emit('test_connection', device_data)
.then(result => {
$('.mi-device-test').show();
$('#connect').prop('disabled', false);
}).catch(error => {
$('.mi-device-error').show();
$('.mi-device-error-msg').html(error.message || error.toString());
});
} else {
$('.mi-device-error').show();
$('.mi-device-error-msg').html( __('pair.nosettings') );
}
});
$('#connect').click(function() {
Homey.showView('add_device');
});
})
</script>
<style type="text/css">
.form-group {
width: 100%;
display: block;
margin-bottom: 12px;
}
.form-group label {
display: block;
}
.mi-device-test, .mi-device-error {
display: none;
}
.shelly-info {
margin-top: 10px;
font-size: 12px;
}
.buttons, .messages {
padding-top: 14px;
}
.button {
font-weight: 700;
}
.button:disabled {
color: #ccc;
}
.button:enabled {
color: #fff !important;
}
#test-connection:enabled {
background-color: #1875cf !important;
}
#connect:enabled {
background-color: #00c139 !important;
}
</style>
<p data-i18n="pair.intro">Enter the details of your Mi Home device.</p>
<div class="mi-device-pairing">
<div class="form-group">
<label for="address" data-i18n="pair.address">IP address</label>
<input type="text" class="form-control" id="address" placeholder="192.168.0.100">
</div>
<div class="form-group">
<label for="token" data-i18n="pair.token">Token (32 characters of numbers and letters)</label>
<input type="text" class="form-control" id="token" pattern="[a-zA-Z0-9]{32}" placeholder="FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF">
</div>
<div class="form-group">
<label for="polling" data-i18n="pair.polling">Polling Frequency</label>
<input type="number" class="form-control" id="polling" min="30" max="3600" placeholder="60">
</div>
<input type="hidden" id="fanspeed" value="">
<input type="hidden" id="state" value="">
<div class="form-group buttons">
<button id="test-connection" class="button" data-i18n="pair.test">Test Connection</button>
<button id="connect" class="button" data-i18n="pair.connect" disabled>Connect</button>
</div>
</div>
<div class="messages">
<p class="mi-device-status mi-device-test" style="color: #008C23;"><i class="fa fa-check"></i> <span data-i18n="pair.testResult">Connection test successful, you can now connect the device with Homey.</span></p>
<p class="mi-device-status mi-device-error" style="color: #ff6300;"><i class="fa fa-times"></i> <span class="mi-device-error-msg"></span></p>
</div>
================================================
FILE: .homeycompose/drivers/pair/start/index.html
================================================
<script type="text/javascript">
Homey.setTitle( __('pair.title') );
</script>
<style type="text/css">.hy-tmpl-start{height:100%;display:flex;flex-direction:column;align-items:center}.hy-tmpl-start-form{position:relative;width:100%}.hy-tmpl-start-logo{display:block;position:relative;width:25vw;height:25vw;margin:20vw auto;background-position:center center;background-repeat:no-repeat;background-size:contain}.hy-tmpl-start-row{margin-bottom:1em}</style>
<div class="hy-view .hy-tmpl-start" data-id="start">
<div class="hy-tmpl-start-logo" style="background-image: url('../../../assets/xiaomi-logo.png');"></div>
<div class="hy-tmpl-start-row row" data-i18n="pair.startpairing">For Homey to be able to communicate with devices over the miIO protocol a unique device token needs to be obtained. Technical knowledge is needed for retrieving these tokens. If your are not to tech-savvy using this app might be challenging. See the instructions in the support topic on the community forum on retrieving device tokens.</div>
</div>
================================================
FILE: .homeycompose/drivers/settings/address.json
================================================
{
"id": "address",
"type": "text",
"value": "0.0.0.0",
"label": {
"en": "IP Address",
"nl": "IP adres",
"da": "IP-adresse",
"de": "IP-Adresse",
"es": "Dirección IP",
"fr": "Adresse IP",
"it": "Indirizzo IP",
"no": "IP-adresse",
"sv": "IP-adress",
"pl": "Adres IP",
"ru": "IP-адрес",
"ko": "IP 주소"
}
}
================================================
FILE: .homeycompose/drivers/settings/deviceSid.json
================================================
{
"id": "deviceSid",
"type": "label",
"value": "0123456789abcd",
"label": {
"en": "Device SID",
"nl": "Apparaat SID",
"da": "Enhed SID",
"de": "Gerät SID",
"es": "Dispositivo SID",
"fr": "Appareil SID",
"it": "Dispositivo SID",
"no": "Enhet SID",
"sv": "Enhet SID",
"pl": "Urządzenie SID",
"ru": "Устройство SID",
"ko": "장치 SID"
}
}
================================================
FILE: .homeycompose/drivers/settings/gatewaySid.json
================================================
{
"id": "gatewaySid",
"type": "label",
"value": "0123456789ab",
"label": {
"en": "Gateway SID",
"nl": "Gateway SID",
"da": "Gateway SID",
"de": "Gateway SID",
"es": "Gateway SID",
"fr": "Gateway SID",
"it": "Gateway SID",
"no": "Gateway SID",
"sv": "Gateway SID",
"pl": "Gateway SID",
"ru": "Gateway SID",
"ko": "Gateway SID"
}
}
================================================
FILE: .homeycompose/drivers/settings/model.json
================================================
{
"id": "model",
"type": "label",
"value": "lumi.device",
"label": {
"en": "Model",
"nl": "Model",
"da": "Model",
"de": "Modell",
"es": "Modelo",
"fr": "Modèle",
"it": "Modello",
"no": "Modell",
"sv": "Modell",
"pl": "Model",
"ru": "Модель",
"ko": "모델"
}
}
================================================
FILE: .homeycompose/drivers/settings/modelCode.json
================================================
{
"id": "modelCode",
"type": "label",
"value": "AABBCC01LM",
"label": {
"en": "Device Model Code",
"nl": "Apparaat modelcode",
"da": "Enhedsmodelkode",
"de": "Gerätemodellcode",
"es": "Código de modelo del dispositivo",
"fr": "Code modèle de l'appareil",
"it": "Codice modello del dispositivo",
"no": "Enhetsmodellkode",
"sv": "Enhetsmodellkod",
"pl": "Kod modelu urządzenia",
"ru": "Код модели устройства",
"ko": "장치 모델 코드"
}
}
================================================
FILE: .homeycompose/drivers/settings/polling.json
================================================
{
"id": "polling",
"type": "number",
"value": 60,
"attr": {
"min": 5,
"max": 3600
},
"label": {
"en": "Polling Frequency",
"nl": "Polling frequentie",
"da": "Polling Frekvens",
"de": "Abfragefrequenz",
"es": "Frecuencia de sondeo",
"fr": "Fréquence de sondage",
"it": "Frequenza di polling",
"no": "Polling Frekvens",
"sv": "Pollingfrekvens",
"pl": "Częstotliwość odpytywania",
"ru": "Частота опроса",
"ko": "폴링 빈도"
}
}
================================================
FILE: .homeycompose/drivers/settings/token.json
================================================
{
"id": "token",
"type": "text",
"value": "",
"label": {
"en": "Mi Device Token",
"nl": "Mi Apparaat Token",
"da": "Mi Enheds Token",
"de": "Mi Gerätetoken",
"es": "Token del Dispositivo Mi",
"fr": "Jeton de l'Appareil Mi",
"it": "Token Dispositivo Mi",
"no": "Mi Enhet Token",
"sv": "Mi Enhetstoken",
"pl": "Token Urządzenia Mi",
"ru": "Токен Устройства Mi",
"ko": "Mi 기기 토큰"
}
}
================================================
FILE: .homeycompose/drivers/templates/defaults.json
================================================
{
"icon": "{{driverAssetsPath}}/icon.svg",
"pair": [
{
"id": "start",
"$template": "start",
"navigation": {
"next": "pair"
}
},
{
"id": "pair",
"$template": "pair"
},
{
"id": "add_device",
"$template": "add_device"
}
],
"platforms": [
"local"
],
"connectivity": [
"lan"
]
}
================================================
FILE: .homeycompose/drivers/templates/defaults_subdevice.json
================================================
{
"icon": "{{driverAssetsPath}}/icon.svg",
"pair": [
{
"id": "list_devices",
"template": "list_devices",
"navigation": {
"next": "add_devices"
},
"options": {
"singular": false
}
},
{
"id": "add_devices",
"template": "add_devices"
}
],
"platforms": [
"local"
],
"connectivity": [
"lan"
]
}
================================================
FILE: .homeycompose/flow/actions/airpurifierSetFavorite.json
================================================
{
"id": "airpurifierSetFavorite",
"title": {
"en": "Set Favorite Speed",
"nl": "Favoriete snelheid instellen",
"da": "Indstil favorit hastighed",
"de": "Lieblingsgeschwindigkeit einstellen",
"es": "Establecer velocidad favorita",
"fr": "Définir la vitesse favorite",
"it": "Imposta velocità preferita",
"no": "Sett favoritt hastighet",
"sv": "Ställ in favorit hastighet",
"pl": "Ustaw ulubioną prędkość",
"ru": "Установить любимую скорость",
"ko": "즐겨찾기 속도 설정"
},
"titleFormatted": {
"en": "Set favorite speed to [[favorite]]",
"nl": "Favoriete snelheid instellen op [[favorite]]",
"da": "Indstil favorit hastighed til [[favorite]]",
"de": "Lieblingsgeschwindigkeit auf [[favorite]] einstellen",
"es": "Establecer velocidad favorita a [[favorite]]",
"fr": "Définir la vitesse favorite à [[favorite]]",
"it": "Imposta velocità preferita a [[favorite]]",
"no": "Sett favoritt hastighet til [[favorite]]",
"sv": "Ställ in favorit hastighet till [[favorite]]",
"pl": "Ustaw ulubioną prędkość na [[favorite]]",
"ru": "Установить любимую скорость на [[favorite]]",
"ko": "[[favorite]]로 즐겨찾기 속도 설정"
},
"args": [
{
"name": "favorite",
"title": {
"en": "Favorite",
"nl": "Favoriet",
"da": "Favorit",
"de": "Favorit",
"es": "Favorito",
"fr": "Favori",
"it": "Preferito",
"no": "Favoritt",
"sv": "Favorit",
"pl": "Ulubiony",
"ru": "Любимый",
"ko": "즐겨찾기"
},
"type": "dropdown",
"values": [
{
"id": "1",
"label": {
"en": "1",
"nl": "1",
"da": "1",
"de": "1",
"es": "1",
"fr": "1",
"it": "1",
"no": "1",
"sv": "1",
"pl": "1",
"ru": "1",
"ko": "1"
}
},
{
"id": "2",
"label": {
"en": "2",
"nl": "2",
"da": "2",
"de": "2",
"es": "2",
"fr": "2",
"it": "2",
"no": "2",
"sv": "2",
"pl": "2",
"ru": "2",
"ko": "2"
}
},
{
"id": "3",
"label": {
"en": "3",
"nl": "3",
"da": "3",
"de": "3",
"es": "3",
"fr": "3",
"it": "3",
"no": "3",
"sv": "3",
"pl": "3",
"ru": "3",
"ko": "3"
}
},
{
"id": "4",
"label": {
"en": "4",
"nl": "4",
"da": "4",
"de": "4",
"es": "4",
"fr": "4",
"it": "4",
"no": "4",
"sv": "4",
"pl": "4",
"ru": "4",
"ko": "4"
}
},
{
"id": "5",
"label": {
"en": "5",
"nl": "5",
"da": "5",
"de": "5",
"es": "5",
"fr": "5",
"it": "5",
"no": "5",
"sv": "5",
"pl": "5",
"ru": "5",
"ko": "5"
}
},
{
"id": "6",
"label": {
"en": "6",
"nl": "6",
"da": "6",
"de": "6",
"es": "6",
"fr": "6",
"it": "6",
"no": "6",
"sv": "6",
"pl": "6",
"ru": "6",
"ko": "6"
}
},
{
"id": "7",
"label": {
"en": "7",
"nl": "7",
"da": "7",
"de": "7",
"es": "7",
"fr": "7",
"it": "7",
"no": "7",
"sv": "7",
"pl": "7",
"ru": "7",
"ko": "7"
}
},
{
"id": "8",
"label": {
"en": "8",
"nl": "8",
"da": "8",
"de": "8",
"es": "8",
"fr": "8",
"it": "8",
"no": "8",
"sv": "8",
"pl": "8",
"ru": "8",
"ko": "8"
}
},
{
"id": "9",
"label": {
"en": "9",
"nl": "9",
"da": "9",
"de": "9",
"es": "9",
"fr": "9",
"it": "9",
"no": "9",
"sv": "9",
"pl": "9",
"ru": "9",
"ko": "9"
}
},
{
"id": "10",
"label": {
"en": "10",
"nl": "10",
"da": "10",
"de": "10",
"es": "10",
"fr": "10",
"it": "10",
"no": "10",
"sv": "10",
"pl": "10",
"ru": "10",
"ko": "10"
}
},
{
"id": "11",
"label": {
"en": "11",
"nl": "11",
"da": "11",
"de": "11",
"es": "11",
"fr": "11",
"it": "11",
"no": "11",
"sv": "11",
"pl": "11",
"ru": "11",
"ko": "11"
}
},
{
"id": "12",
"label": {
"en": "12",
"nl": "12",
"da": "12",
"de": "12",
"es": "12",
"fr": "12",
"it": "12",
"no": "12",
"sv": "12",
"pl": "12",
"ru": "12",
"ko": "12"
}
},
{
"id": "13",
"label": {
"en": "13",
"nl": "13",
"da": "13",
"de": "13",
"es": "13",
"fr": "13",
"it": "13",
"no": "13",
"sv": "13",
"pl": "13",
"ru": "13",
"ko": "13"
}
},
{
"id": "14",
"label": {
"en": "14",
"nl": "14",
"da": "14",
"de": "14",
"es": "14",
"fr": "14",
"it": "14",
"no": "14",
"sv": "14",
"pl": "14",
"ru": "14",
"ko": "14"
}
},
{
"id": "15",
"label": {
"en": "15",
"nl": "15",
"da": "15",
"de": "15",
"es": "15",
"fr": "15",
"it": "15",
"no": "15",
"sv": "15",
"pl": "15",
"ru": "15",
"ko": "15"
}
},
{
"id": "16",
"label": {
"en": "16",
"nl": "16",
"da": "16",
"de": "16",
"es": "16",
"fr": "16",
"it": "16",
"no": "16",
"sv": "16",
"pl": "16",
"ru": "16",
"ko": "16"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Mi Air Purifier",
"nl": "Selecteer Mi Luchtreiniger",
"da": "Vælg Mi luftrenser",
"de": "Wählen Sie Mi Luftreiniger",
"es": "Seleccione Mi Purificador de aire",
"fr": "Sélectionnez Mi Purificateur d'air",
"it": "Seleziona Mi Purificatore d'aria",
"no": "Velg Mi luftrenser",
"sv": "Välj Mi luftrenare",
"pl": "Wybierz Mi oczyszczacz powietrza",
"ru": "Выберите Mi Очиститель воздуха",
"ko": "Mi 공기청정기 선택"
},
"filter": "driver_id=mi-airpurifier|airpurifier_zhimi_advanced"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/airpurifierXiaomiFanlevel.json
================================================
{
"title": {
"en": "Set fan level",
"nl": "Ventilatieniveau instellen",
"da": "Indstil ventilatorniveau",
"de": "Lüfterstufe einstellen",
"es": "Establecer nivel de ventilador",
"fr": "Définir le niveau du ventilateur",
"it": "Imposta livello ventola",
"no": "Still inn viftetrinn",
"sv": "Ställ in fläkthastighet",
"pl": "Ustaw poziom wentylatora",
"ru": "Установить уровень вентилятора",
"ko": "팬 레벨 설정"
},
"titleFormatted": {
"en": "Set fan level to [[fanlevel]]",
"nl": "Stel fan level in op [[fanlevel]]",
"da": "Indstil blæserniveau til [[fanlevel]]",
"de": "Lüfterstufe auf [[fanlevel]] einstellen",
"es": "Establecer el nivel del ventilador a [[fanlevel]]",
"fr": "Définir le niveau du ventilateur à [[fanlevel]]",
"it": "Imposta il livello della ventola a [[fanlevel]]",
"no": "Still inn viftenivå til [[fanlevel]]",
"sv": "Ställ in fläkthastighet till [[fanlevel]]",
"pl": "Ustaw poziom wentylatora na [[fanlevel]]",
"ru": "Установите уровень вентилятора на [[fanlevel]]",
"ko": "팬 레벨 [[fanlevel]]로 설정"
},
"args": [
{
"name": "fanlevel",
"title": {
"en": "Fan Level",
"nl": "Fan Level",
"da": "Blæserniveau",
"de": "Lüfterstufe",
"es": "Nivel del ventilador",
"fr": "Niveau de ventilateur",
"it": "Livello ventola",
"no": "Viftenivå",
"sv": "Fläkthastighet",
"pl": "Poziom wentylatora",
"ru": "Уровень вентилятора",
"ko": "팬 레벨"
},
"type": "number",
"min": 0,
"max": 14,
"step": 1
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Airpurifier",
"nl": "Selecteer Airpurifier",
"da": "Vælg luftrenser",
"de": "Luftreiniger auswählen",
"es": "Seleccionar purificador de aire",
"fr": "Sélectionner le purificateur d'air",
"it": "Seleziona purificatore d'aria",
"no": "Velg luftrenser",
"sv": "Välj luftrenare",
"pl": "Wybierz oczyszczacz powietrza",
"ru": "Выберите очиститель воздуха",
"ko": "공기청정기 선택"
},
"filter": "driver_id=airpurifier_zhimi_advanced_miot&capabilities=airpurifier_xiaomi_fanlevel"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/airpurifierZhimiFanlevel.json
================================================
{
"title": {
"en": "Set fan level",
"nl": "Ventilatieniveau instellen",
"da": "Indstil ventilatorniveau",
"de": "Lüfterstufe einstellen",
"es": "Establecer nivel de ventilador",
"fr": "Définir le niveau du ventilateur",
"it": "Imposta livello ventola",
"no": "Still inn viftetrinn",
"sv": "Ställ in fläkthastighet",
"pl": "Ustaw poziom wentylatora",
"ru": "Установить уровень вентилятора",
"ko": "팬 레벨 설정"
},
"titleFormatted": {
"en": "Set fan level to [[fanlevel]]",
"nl": "Stel fan level in op [[fanlevel]]",
"da": "Indstil blæserniveau til [[fanlevel]]",
"de": "Lüfterstufe auf [[fanlevel]] einstellen",
"es": "Establecer el nivel del ventilador a [[fanlevel]]",
"fr": "Définir le niveau du ventilateur à [[fanlevel]]",
"it": "Imposta il livello della ventola a [[fanlevel]]",
"no": "Still inn viftenivå til [[fanlevel]]",
"sv": "Ställ in fläkthastighet till [[fanlevel]]",
"pl": "Ustaw poziom wentylatora na [[fanlevel]]",
"ru": "Установите уровень вентилятора на [[fanlevel]]",
"ko": "팬 레벨 [[fanlevel]]로 설정"
},
"args": [
{
"name": "fanlevel",
"title": {
"en": "Fan Level",
"nl": "Fan Level",
"da": "Blæserniveau",
"de": "Lüfterstufe",
"es": "Nivel del ventilador",
"fr": "Niveau de ventilateur",
"it": "Livello ventola",
"no": "Viftenivå",
"sv": "Fläkthastighet",
"pl": "Poziom wentylatora",
"ru": "Уровень вентилятора",
"ko": "팬 레벨"
},
"type": "dropdown",
"values": [
{
"id": "1",
"title": {
"en": "Level 1",
"nl": "Level 1",
"da": "Niveau 1",
"de": "Stufe 1",
"es": "Nivel 1",
"fr": "Niveau 1",
"it": "Livello 1",
"no": "Nivå 1",
"sv": "Nivå 1",
"pl": "Poziom 1",
"ru": "Уровень 1",
"ko": "레벨 1"
}
},
{
"id": "2",
"title": {
"en": "Level 2",
"nl": "Level 2",
"da": "Niveau 2",
"de": "Stufe 2",
"es": "Nivel 2",
"fr": "Niveau 2",
"it": "Livello 2",
"no": "Nivå 2",
"sv": "Nivå 2",
"pl": "Poziom 2",
"ru": "Уровень 2",
"ko": "레벨 2"
}
},
{
"id": "3",
"title": {
"en": "Level 3",
"nl": "Level 3",
"da": "Niveau 3",
"de": "Stufe 3",
"es": "Nivel 3",
"fr": "Niveau 3",
"it": "Livello 3",
"no": "Nivå 3",
"sv": "Nivå 3",
"pl": "Poziom 3",
"ru": "Уровень 3",
"ko": "레벨 3"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Airpurifier",
"nl": "Selecteer Airpurifier",
"da": "Vælg luftrenser",
"de": "Luftreiniger auswählen",
"es": "Seleccionar purificador de aire",
"fr": "Sélectionner le purificateur d'air",
"it": "Seleziona purificatore d'aria",
"no": "Velg luftrenser",
"sv": "Välj luftrenare",
"pl": "Wybierz oczyszczacz powietrza",
"ru": "Выберите очиститель воздуха",
"ko": "공기청정기 선택"
},
"filter": "driver_id=airpurifier_zhimi_advanced_miot&capabilities=airpurifier_zhimi_fanlevel"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/airpurifierZhimiMode.json
================================================
{
"title": {
"en": "Set mode",
"nl": "Stel modus in",
"da": "Indstil tilstand",
"de": "Modus einstellen",
"es": "Configurar modo",
"fr": "Définir le mode",
"it": "Imposta modalità",
"no": "Angi modus",
"sv": "Ställ in läge",
"pl": "Ustaw tryb",
"ru": "Установить режим",
"ko": "모드 설정"
},
"titleFormatted": {
"en": "Set mode to [[mode]]",
"nl": "Stel modus in op [[mode]]",
"da": "Indstil tilstand til [[mode]]",
"de": "Modus einstellen auf [[mode]]",
"es": "Configurar modo a [[mode]]",
"fr": "Définir le mode sur [[mode]]",
"it": "Imposta modalità su [[mode]]",
"no": "Angi modus til [[mode]]",
"sv": "Ställ in läge till [[mode]]",
"pl": "Ustaw tryb na [[mode]]",
"ru": "Установить режим на [[mode]]",
"ko": "[[mode]]로 설정"
},
"args": [
{
"name": "mode",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"type": "dropdown",
"values": [
{
"id": "0",
"title": {
"en": "Auto",
"nl": "Auto",
"da": "Auto",
"de": "Auto",
"es": "Auto",
"fr": "Auto",
"it": "Auto",
"no": "Auto",
"sv": "Auto",
"pl": "Auto",
"ru": "Автоматический",
"ko": "자동"
}
},
{
"id": "1",
"title": {
"en": "Night",
"nl": "Nacht",
"da": "Nat",
"de": "Nacht",
"es": "Noche",
"fr": "Nuit",
"it": "Notte",
"no": "Natt",
"sv": "Natt",
"pl": "Noc",
"ru": "Ночной",
"ko": "야간"
}
},
{
"id": "2",
"title": {
"en": "Favorite",
"nl": "Favoriet",
"da": "Favorit",
"de": "Favorit",
"es": "Favorito",
"fr": "Favori",
"it": "Preferito",
"no": "Favoritt",
"sv": "Favorit",
"pl": "Ulubiony",
"ru": "Избранное",
"ko": "즐겨찾기"
}
},
{
"id": "3",
"title": {
"en": "Idle / Manual",
"nl": "Inactief / Handmatig",
"da": "Inaktiv / Manuel",
"de": "Leerlauf / Manuell",
"es": "Inactivo / Manual",
"fr": "Inactif / Manuel",
"it": "Inattivo / Manuale",
"no": "Inaktiv / Manuell",
"sv": "Inaktiv / Manuell",
"pl": "Bezczynny / Ręczny",
"ru": "Ожидание / Ручной",
"ko": "대기 / 수동"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Airpurifier",
"nl": "Selecteer Airpurifier",
"da": "Vælg luftrenser",
"de": "Luftreiniger auswählen",
"es": "Selecciona purificador",
"fr": "Sélectionnez l'purificateur",
"it": "Seleziona purificatore",
"no": "Velg luftrenser",
"sv": "Välj luftrenare",
"pl": "Wybierz oczyszczacz powietrza",
"ru": "Выбрать очиститель воздуха",
"ko": "공기 청정기 선택"
},
"filter": "driver_id=airpurifier_zhimi_advanced_miot|airpurifier_dmaker_airfresh_t2017"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/changeSpeed.json
================================================
{
"id": "changeSpeed",
"title": {
"en": "Set Speed",
"nl": "Stel snelheid in",
"da": "Indstil hastighed",
"de": "Geschwindigkeit einstellen",
"es": "Ajustar velocidad",
"fr": "Régler la vitesse",
"it": "Imposta velocità",
"no": "Sett hastighet",
"sv": "Ställ in hastighet",
"pl": "Ustaw prędkość",
"ru": "Установить скорость",
"ko": "속도 설정"
},
"titleFormatted": {
"en": "Set speed to [[speed]]",
"nl": "Stel snelheid in op [[speed]]",
"da": "Indstil hastighed til [[speed]]",
"de": "Geschwindigkeit auf [[speed]] einstellen",
"es": "Ajustar velocidad a [[speed]]",
"fr": "Régler la vitesse à [[speed]]",
"it": "Imposta velocità a [[speed]]",
"no": "Sett hastighet til [[speed]]",
"sv": "Ställ in hastighet till [[speed]]",
"pl": "Ustaw prędkość na [[speed]]",
"ru": "Установить скорость на [[speed]]",
"ko": "[[speed]]으로 속도 설정"
},
"args": [
{
"name": "speed",
"title": {
"en": "Speed",
"nl": "Snelheid",
"da": "Hastighed",
"de": "Geschwindigkeit",
"es": "Velocidad",
"fr": "Vitesse",
"it": "Velocità",
"no": "Hastighet",
"sv": "Hastighet",
"pl": "Prędkość",
"ru": "Скорость",
"ko": "속도"
},
"type": "range",
"min": 0,
"max": 100,
"step": 1,
"label": "%",
"labelDecimals": 0
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Device",
"nl": "Selecteer apparaat",
"da": "Vælg enhed",
"de": "Gerät auswählen",
"es": "Seleccionar dispositivo",
"fr": "Sélectionner un appareil",
"it": "Seleziona dispositivo",
"no": "Velg enhet",
"sv": "Välj enhet",
"pl": "Wybierz urządzenie",
"ru": "Выбрать устройство",
"ko": "장치 선택"
},
"filter": "driver_id=zhimi-fan|dmaker-fan"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/cleanZoneVacuum.json
================================================
{
"id": "cleanZoneVacuum",
"title": {
"en": "Start zone cleaning",
"nl": "Start zone schoonmaken",
"da": "Start zone rengøring",
"de": "Zonenreinigung starten",
"es": "Iniciar limpieza de zonas",
"fr": "Démarrer le nettoyage de zone",
"it": "Avvia pulizia della zona",
"no": "Start sone rengjøring",
"sv": "Starta zonstädning",
"pl": "Rozpocznij czyszczenie strefy",
"ru": "Начать уборку зоны",
"ko": "영역 청소 시작"
},
"titleFormatted": {
"en": "Start zone cleaning [[zones]]",
"nl": "Start zone schoonmaken [[zones]]",
"da": "Start zone rengøring [[zones]]",
"de": "Zonenreinigung starten [[zones]]",
"es": "Iniciar limpieza de zonas [[zones]]",
"fr": "Démarrer le nettoyage de zone [[zones]]",
"it": "Avvia pulizia della zona [[zones]]",
"no": "Start sone rengjøring [[zones]]",
"sv": "Starta zonstädning [[zones]]",
"pl": "Rozpocznij czyszczenie strefy [[zones]]",
"ru": "Начать уборку зоны [[zones]]",
"ko": "영역 청소 시작 [[zones]]"
},
"hint": {
"en": "Takes in an a list of zones and the number of times to clean. Each zone contains an array of 5 values: bottom-left-x, bottom-left-y, top-right-x, top-right-y, number of clean times. Zones example: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"nl": "Voer een lijst met zones in en het aantal keren om schoon te maken. Elke zone bevat een array met 5 waarden: bottom-left-x, bottom-left-y, top-right-x, top-right-y, number of clean times. Zones voorbeeld: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"da": "Indtast en liste over zoner og antallet af gange, der skal rengøres. Hver zone indeholder en række af 5 værdier: nederste venstre x, nederste venstre y, øverste højre x, øverste højre y, antal rengøringstider. Zoner eksempel: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"de": "Geben Sie eine Liste der Zonen und die Anzahl der Reinigungsvorgänge ein. Jede Zone enthält ein Array von 5 Werten: unten-links-x, unten-links-y, oben-rechts-x, oben-rechts-y, Anzahl der Reinigungszeiten. Zonenbeispiel: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"es": "Ingrese una lista de zonas y el número de veces para limpiar. Cada zona contiene una matriz de 5 valores: abajo-izquierda-x, abajo-izquierda-y, arriba-derecha-x, arriba-derecha-y, número de veces de limpieza. Ejemplo de zonas: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"fr": "Saisissez une liste de zones et le nombre de fois à nettoyer. Chaque zone contient un tableau de 5 valeurs : en bas à gauche-x, en bas à gauche-y, en haut à droite-x, en haut à droite-y, nombre de fois à nettoyer. Exemple de zones : [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"it": "Inserisci un elenco di zone e il numero di volte da pulire. Ogni zona contiene una matrice di 5 valori: in basso a sinistra x, in basso a sinistra y, in alto a destra x, in alto a destra y, numero di volte di pulizia. Esempio di zone: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"no": "Skriv inn en liste over soner og antall ganger å rengjøre. Hver sone inneholder en rekke med 5 verdier: nederst-venstre-x, nederst-venstre-y, øverst-høyre-x, øverst-høyre-y, antall rengjøringstider. Soneeksempel: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"sv": "Ange en lista över zoner och antalet gånger att städa. Varje zon innehåller en matris med 5 värden: nedre vänster-x, nedre vänster-y, övre höger-x, övre höger-y, antal rengöringstider. Exempel på zoner: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"pl": "Wprowadź listę stref i liczbę razy do czyszczenia. Każda strefa zawiera tablicę z 5 wartościami: dolna-lewa-x, dolna-lewa-y, górna-prawa-x, górna-prawa-y, liczba razy do czyszczenia. Przykład stref: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"ru": "Введите список зон и количество раз для уборки. Каждая зона содержит массив из 5 значений: слева внизу-x, слева внизу-y, справа вверху-x, справа вверху-y, количество уборок. Пример зон: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]",
"ko": "청소할 횟수와 목록을 입력합니다. 각 영역은 5가지 값의 배열을 포함합니다: 좌하단 x, 좌하단 y, 우상단 x, 우상단 y, 청소 횟수. 영역 예시: [26234,26042,26634,26642,1],[26232,25304,27282,25804,2],[26246,24189,27296,25139,2]"
},
"args": [
{
"name": "zones",
"title": {
"en": "Zones",
"nl": "Zones",
"da": "Zoner",
"de": "Zonen",
"es": "Zonas",
"fr": "Zones",
"it": "Zone",
"no": "Soner",
"sv": "Zoner",
"pl": "Strefy",
"ru": "Зоны",
"ko": "영역"
},
"type": "text",
"placeholder": {
"en": "Zones",
"nl": "Zones",
"da": "Zoner",
"de": "Zonen",
"es": "Zonas",
"fr": "Zones",
"it": "Zone",
"no": "Soner",
"sv": "Zoner",
"pl": "Strefy",
"ru": "Зоны",
"ko": "영역"
}
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Vacuum",
"nl": "Selecteer Stofzuiger",
"da": "Vælg Støvsuger",
"de": "Staubsauger auswählen",
"es": "Seleccionar aspiradora",
"fr": "Sélectionner l'aspirateur",
"it": "Seleziona aspirapolvere",
"no": "Velg Støvsuger",
"sv": "Välj Dammsugare",
"pl": "Wybierz Odkurzacz",
"ru": "Выберите пылесос",
"ko": "진공 청소기 선택"
},
"filter": "driver_id=mi-robot|vacuum_mi_rockrobo_vacuum_advanced|vacuum_mi_rockrobo_vacuum_t6"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/enableAngle.json
================================================
{
"id": "enableAngle",
"title": {
"en": "Enable Oscillation",
"nl": "Inschakelen oscillatie",
"da": "Aktivér oscillation",
"de": "Oszillation aktivieren",
"es": "Activar oscilación",
"fr": "Activer l'oscillation",
"it": "Abilita oscillazione",
"no": "Aktiver svinging",
"sv": "Aktivera oscillator",
"pl": "Włącz oscylację",
"ru": "Включить осцилляцию",
"ko": "진동 활성화"
},
"titleFormatted": {
"en": "Oscillation [[oscillation]]",
"nl": "Oscillatie [[oscillation]]",
"da": "Oscillation [[oscillation]]",
"de": "Oszillation [[oscillation]]",
"es": "Oscilación [[oscillation]]",
"fr": "Oscillation [[oscillation]]",
"it": "Oscillazione [[oscillation]]",
"no": "Oscillation [[oscillation]]",
"sv": "Oscillation [[oscillation]]",
"pl": "Oscylacja [[oscillation]]",
"ru": "Осцилляция [[oscillation]]",
"ko": "진동 [[oscillation]]"
},
"args": [
{
"name": "oscillation",
"title": {
"en": "Angle",
"nl": "Hoek",
"da": "Vinkel",
"de": "Winkel",
"es": "Ángulo",
"fr": "Angle",
"it": "Angolo",
"no": "Vinkel",
"sv": "Vinkel",
"pl": "Kąt",
"ru": "Угол",
"ko": "각도"
},
"type": "dropdown",
"values": [
{
"id": "on",
"label": {
"en": "Enable",
"nl": "Inschakelen",
"da": "Aktiver",
"de": "Aktivieren",
"es": "Habilitar",
"fr": "Activer",
"it": "Abilita",
"no": "Aktiver",
"sv": "Aktivera",
"pl": "Włącz",
"ru": "Включить",
"ko": "사용"
}
},
{
"id": "off",
"label": {
"en": "Disable",
"nl": "Uitschakelen",
"da": "Deaktiver",
"de": "Deaktivieren",
"es": "Deshabilitar",
"fr": "Désactiver",
"it": "Disabilita",
"no": "Deaktiver",
"sv": "Inaktivera",
"pl": "Wyłącz",
"ru": "Выключить",
"ko": "비활성화"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Device",
"nl": "Selecteer apparaat",
"da": "Vælg enhed",
"de": "Gerät auswählen",
"es": "Seleccionar dispositivo",
"fr": "Choisir l'appareil",
"it": "Seleziona dispositivo",
"no": "Velg enhet",
"sv": "Välj enhet",
"pl": "Wybierz urządzenie",
"ru": "Выберите устройство",
"ko": "장치 선택"
},
"filter": "driver_id=zhimi-fan|dmaker-fan|fan_zhimi_advanced|fan_zhimi_fan_za5|fan_dmaker_advanced"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/enableBuzzer.json
================================================
{
"title": {
"en": "Enable notification sound",
"nl": "Instellen notificatie geluid",
"da": "Aktiver notifikationslyd",
"de": "Benachrichtigungston aktivieren",
"es": "Activar sonido de notificaciones",
"fr": "Activer le son de notification",
"it": "Abilita suono di notifica",
"no": "Aktiver varslingslyd",
"sv": "Aktivera notifikationsljud",
"pl": "Włącz dźwięk powiadomień",
"ru": "Включить звуковое уведомление",
"ko": "알림 소리 사용"
},
"titleFormatted": {
"en": "Set notification sound [[sound]]",
"nl": "Wijzig notificatie geluid naar [[sound]]",
"da": "Indstil notifikationslyd [[sound]]",
"de": "Benachrichtigungston einstellen [[sound]]",
"es": "Configurar sonido de notificación [[sound]]",
"fr": "Définir le son de notification [[sound]]",
"it": "Imposta suono di notifica [[sound]]",
"no": "Angi varslingslyd [[sound]]",
"sv": "Ställ in notifikationsljud [[sound]]",
"pl": "Ustaw dźwięk powiadomień [[sound]]",
"ru": "Установить звуковое уведомление [[sound]]",
"ko": "알림 소리 설정 [[sound]]"
},
"args": [
{
"name": "sound",
"title": {
"en": "Sound",
"nl": "Geluid",
"da": "Lyd",
"de": "Klang",
"es": "Sonido",
"fr": "Son",
"it": "Suono",
"no": "Lyd",
"sv": "Ljud",
"pl": "Dźwięk",
"ru": "Звук",
"ko": "소리"
},
"type": "dropdown",
"values": [
{
"id": "0",
"label": {
"en": "Off",
"nl": "Uit",
"da": "Fra",
"de": "Aus",
"es": "Apagado",
"fr": "Désactivé",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłączone",
"ru": "Выкл.",
"ko": "끔"
}
},
{
"id": "1",
"label": {
"en": "On",
"nl": "Aan",
"da": "Til",
"de": "Ein",
"es": "Encendido",
"fr": "Activé",
"it": "Acceso",
"no": "På",
"sv": "På",
"pl": "Włączone",
"ru": "Вкл.",
"ko": "켬"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Device",
"nl": "Selecteer apparaat",
"da": "Vælg enhed",
"de": "Gerät auswählen",
"es": "Seleccionar dispositivo",
"fr": "Sélectionner l'appareil",
"it": "Seleziona dispositivo",
"no": "Velg enhet",
"sv": "Välj enhet",
"pl": "Wybierz urządzenie",
"ru": "Выбрать устройство",
"ko": "장치 선택"
},
"filter": "driver_id=airpurifier_zhimi_advanced_miot|fan_dmaker_advanced|heater_zhimi_heater_miot|humidifier_xiaomi_humidifier|petwaterdispenser_mmgg_miot|humidifier_deerma_humidifier_miot|humidifier_zhimi_humidifier_miot"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/enableChildLock.json
================================================
{
"id": "enableChildLock",
"title": {
"en": "Enable Child Lock",
"nl": "Instellen kindbeveiliging",
"da": "Aktivér børnelås",
"de": "Kindersicherung aktivieren",
"es": "Activar bloqueo infantil",
"fr": "Activer le verrouillage enfant",
"it": "Abilita blocco bambini",
"no": "Aktiver barnelås",
"sv": "Aktivera barnlås",
"pl": "Włącz blokadę rodzicielską",
"ru": "Включить детский замок",
"ko": "어린이 잠금 장치를 활성화"
},
"titleFormatted": {
"en": "Set child lock [[childlock]]",
"nl": "Wijzig kindbeveiliging naar [[childlock]]",
"da": "Indstil børnelås [[childlock]]",
"de": "Kindersicherung setzen [[childlock]]",
"es": "Configurar bloqueo infantil [[childlock]]",
"fr": "Définir le verrouillage enfant [[childlock]]",
"it": "Imposta blocco bambini [[childlock]]",
"no": "Sett barnelås [[childlock]]",
"sv": "Ställ in barnlåset [[childlock]]",
"pl": "Ustaw blokadę rodzicielską [[childlock]]",
"ru": "Установить детский замок [[childlock]]",
"ko": "어린이 잠금 설정 [[childlock]]"
},
"args": [
{
"name": "childlock",
"title": {
"en": "Childlock",
"nl": "Kinderslot",
"da": "Børnelås",
"de": "Kindersicherung",
"es": "Bloqueo infantil",
"fr": "Verrouillage enfant",
"it": "Blocco bambini",
"no": "Barnelås",
"sv": "Barnlås",
"pl": "Blokada rodzicielska",
"ru": "Детский замок",
"ko": "어린이 잠금 장치"
},
"type": "dropdown",
"values": [
{
"id": "on",
"label": {
"en": "On",
"nl": "Aan",
"da": "Til",
"de": "Ein",
"es": "Encendido",
"fr": "Activé",
"it": "Acceso",
"no": "På",
"sv": "På",
"pl": "Włączone",
"ru": "Вкл",
"ko": "켜기"
}
},
{
"id": "off",
"label": {
"en": "Off",
"nl": "Uit",
"da": "Fra",
"de": "Aus",
"es": "Apagado",
"fr": "Désactivé",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłączone",
"ru": "Выкл",
"ko": "끄기"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Device",
"nl": "Selecteer apparaat",
"da": "Vælg enhed",
"de": "Gerät auswählen",
"es": "Seleccionar dispositivo",
"fr": "Sélectionner l'appareil",
"it": "Seleziona dispositivo",
"no": "Velg enhet",
"sv": "Välj enhet",
"pl": "Wybierz urządzenie",
"ru": "Выберите устройство",
"ko": "장치 선택"
},
"filter": "driver_id=zhimi-fan|dmaker-fan|fan_zhimi_advanced|fan_zhimi_fan_za5"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/enableEyecare.json
================================================
{
"id": "enableEyecare",
"title": {
"en": "Switch Eyecare",
"nl": "Eyecare schakelen",
"da": "Skift Eyecare",
"de": "Eyecare einschalten",
"es": "Cambiar Eyecare",
"fr": "Changer Eyecare",
"it": "Cambia Eyecare",
"no": "Bytt Eyecare",
"sv": "Byt Eyecare",
"pl": "Przełącz Eyecare",
"ru": "Переключить Eyecare",
"ko": "아이케어 전환"
},
"titleFormatted": {
"en": "Eyecare [[eyecare]]",
"nl": "Eyecare [[eyecare]]",
"da": "Eyecare [[eyecare]]",
"de": "Eyecare [[eyecare]]",
"es": "Eyecare [[eyecare]]",
"fr": "Eyecare [[eyecare]]",
"it": "Eyecare [[eyecare]]",
"no": "Eyecare [[eyecare]]",
"sv": "Eyecare [[eyecare]]",
"pl": "Eyecare [[eyecare]]",
"ru": "Eyecare [[eyecare]]",
"ko": "Eyecare [[eyecare]]"
},
"args": [
{
"name": "eyecare",
"title": {
"en": "Eyecare",
"nl": "Eyecare",
"da": "Eyecare",
"de": "Eyecare",
"es": "Eyecare",
"fr": "Eyecare",
"it": "Eyecare",
"no": "Eyecare",
"sv": "Eyecare",
"pl": "Eyecare",
"ru": "Eyecare",
"ko": "Eyecare"
},
"type": "dropdown",
"values": [
{
"id": "on",
"label": {
"en": "On",
"nl": "Aan",
"da": "Tænd",
"de": "An",
"es": "Encendido",
"fr": "Allumé",
"it": "Acceso",
"no": "På",
"sv": "På",
"pl": "Włącz",
"ru": "Вкл",
"ko": "켜짐"
}
},
{
"id": "off",
"label": {
"en": "Off",
"nl": "Uit",
"da": "Slukket",
"de": "Aus",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłącz",
"ru": "Выкл",
"ko": "꺼짐"
}
},
{
"id": "phone",
"label": {
"en": "Phone",
"nl": "Telefoon",
"da": "Telefon",
"de": "Telefon",
"es": "Teléfono",
"fr": "Téléphone",
"it": "Telefono",
"no": "Telefon",
"sv": "Telefon",
"pl": "Telefon",
"ru": "Телефон",
"ko": "전화기"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Philips Eyecare Lamp",
"nl": "Selecteer Philips Eyecare Lamp",
"da": "Vælg Philips Eyecare Lampe",
"de": "Wählen Sie Philips Eyecare Lampe",
"es": "Seleccione Philips Eyecare Lamp",
"fr": "Sélectionnez Philips Eyecare Lamp",
"it": "Seleziona Philips Eyecare Lamp",
"no": "Velg Philips Eyecare Lamp",
"sv": "Välj Philips Eyecare Lamp",
"pl": "Wybierz lampę Philips Eyecare",
"ru": "Выберите лампу Philips Eyecare",
"ko": "필립스 아이케어 램프 선택"
},
"filter": "driver_id=philips-eyecare"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/enableLED.json
================================================
{
"title": {
"en": "Enable LED",
"nl": "Instellen LED",
"da": "Aktiver LED",
"de": "LED aktivieren",
"es": "Activar LED",
"fr": "Activer LED",
"it": "Abilita LED",
"no": "Aktiver LED",
"sv": "Aktivera LED",
"pl": "Włącz LED",
"ru": "Включить светодиод",
"ko": "LED 켜기"
},
"titleFormatted": {
"en": "Set LED [[led]]",
"nl": "Wijzig LED naar [[led]]",
"da": "Indstil LED [[led]]",
"de": "LED einstellen [[led]]",
"es": "Configurar LED [[led]]",
"fr": "Définir la LED [[led]]",
"it": "Imposta LED [[led]]",
"no": "Still inn LED [[led]]",
"sv": "Ställ in LED [[led]]",
"pl": "Ustaw LED [[led]]",
"ru": "Установить светодиод [[led]]",
"ko": "LED 설정 [[led]]"
},
"args": [
{
"name": "led",
"title": {
"en": "LED",
"nl": "LED",
"da": "LED",
"de": "LED",
"es": "LED",
"fr": "LED",
"it": "LED",
"no": "LED",
"sv": "LED",
"pl": "LED",
"ru": "LED",
"ko": "LED"
},
"type": "dropdown",
"values": [
{
"id": "0",
"label": {
"en": "Off",
"nl": "Uit",
"da": "Slukket",
"de": "Aus",
"es": "Apagado",
"fr": "Éteint",
"it": "Spento",
"no": "Av",
"sv": "Av",
"pl": "Wyłączony",
"ru": "Выкл",
"ko": "끄기"
}
},
{
"id": "1",
"label": {
"en": "On",
"nl": "Aan",
"da": "Tændt",
"de": "Ein",
"es": "Encendido",
"fr": "Allumé",
"it": "Acceso",
"no": "På",
"sv": "På",
"pl": "Włączony",
"ru": "Вкл",
"ko": "켜기"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Device",
"nl": "Selecteer apparaat",
"da": "Vælg enhed",
"de": "Gerät auswählen",
"es": "Seleccionar dispositivo",
"fr": "Sélectionner un appareil",
"it": "Seleziona dispositivo",
"no": "Velg enhet",
"sv": "Välj enhet",
"pl": "Wybierz urządzenie",
"ru": "Выберите устройство",
"ko": "기기 선택"
},
"filter": "driver_id=airpurifier_zhimi_advanced_miot|fan_dmaker_advanced|heater_zhimi_heater_miot|humidifier_xiaomi_humidifier|petwaterdispenser_mmgg_miot|humidifier_deerma_humidifier_miot|humidifier_zhimi_humidifier_miot"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/fanDmakerMode.json
================================================
{
"title": {
"en": "Set Mode",
"nl": "Stel modus in",
"da": "Indstil tilstand",
"de": "Modus einstellen",
"es": "Configurar modo",
"fr": "Définir le mode",
"it": "Imposta modalità",
"no": "Sett modus",
"sv": "Ställ in läge",
"pl": "Ustaw tryb",
"ru": "Установить режим",
"ko": "모드 설정"
},
"titleFormatted": {
"en": "Set mode to [[mode]]",
"nl": "Stel modus in op [[mode]]",
"da": "Indstil tilstand til [[mode]]",
"de": "Modus auf [[mode]] einstellen",
"es": "Configurar modo en [[mode]]",
"fr": "Définir le mode sur [[mode]]",
"it": "Imposta modalità su [[mode]]",
"no": "Sett modus til [[mode]]",
"sv": "Ställ in läge till [[mode]]",
"pl": "Ustaw tryb na [[mode]]",
"ru": "Установить режим на [[mode]]",
"ko": "[[mode]]으로 설정"
},
"args": [
{
"name": "mode",
"title": {
"en": "Mode",
"nl": "Modus",
"da": "Tilstand",
"de": "Modus",
"es": "Modo",
"fr": "Mode",
"it": "Modalità",
"no": "Modus",
"sv": "Läge",
"pl": "Tryb",
"ru": "Режим",
"ko": "모드"
},
"type": "dropdown",
"values": [
{
"id": "0",
"label": {
"en": "Straigth Wind",
"nl": "Rechte wind",
"da": "Lige Vind",
"de": "Gerader Wind",
"es": "Viento recto",
"fr": "Vent droit",
"it": "Vento dritto",
"no": "Rett vind",
"sv": "Rak vind",
"pl": "Prosty wiatr",
"ru": "Прямой ветер",
"ko": "직선 바람"
}
},
{
"id": "1",
"label": {
"en": "Natural Wind",
"nl": "Natuurlijke wind",
"da": "Naturlig Vind",
"de": "Natürlicher Wind",
"es": "Viento natural",
"fr": "Vent naturel",
"it": "Vento naturale",
"no": "Naturlig vind",
"sv": "Naturlig vind",
"pl": "Naturalny wiatr",
"ru": "Естественный ветер",
"ko": "자연풍"
}
}
]
},
{
"name": "device",
"type": "device",
"placeholder": {
"en": "Select Dmaker Fan",
"nl": "Selecteer Dmaker Fan",
"da": "Vælg Dmaker Ventilator",
"de": "Wählen Sie Dmaker Ventilator",
"es": "Seleccione Dmaker Fan",
"fr": "Sélectionnez Dmaker Ventilateur",
"it": "Seleziona Dmaker Ventilatore",
"no": "Velg Dmaker Vifte",
"sv": "Välj Dmaker Fläkt",
"pl": "Wybierz wentylator Dmaker",
"ru": "Выберите вентилятор Dmaker",
"ko": "Dmaker 팬 선택"
},
"filter": "driver_id=fan_dmaker_advanced"
}
],
"platforms": [
"local"
]
}
================================================
FILE: .homeycompose/flow/actions/fanPowerVacuum.json
================================================
{
"id": "fanPowerVacuum",
"title": {
"en": "Set Fanspeed",
"nl": "Stel ventilator in",
"da": "Indstil ventilatorhastighed",
"de": "Lüftergeschwindigkeit einstellen",
"es": "Ajustar la velocidad del ventilador",
"fr": "Régler la vitesse du ventilateur",
"it": "Imposta velocità ventola",
"no": "Sett viftespeed",
"sv": "Ställ in fläkthastigheten",
"pl": "Ustaw prędkość wentylatora",
"ru": "Установить скорость вентилятора",
"ko": "팬 속도 설정"
},
"titleFormatted": {
"en": "Set Fanspeed [[fanspeed]]",
"nl": "Stel ventilator in op [[fanspeed]]",
"da": "Indstil ventilatorhastighe
gitextract_j6yld1qx/ ├── .github/ │ ├── FUNDING.yml │ └── ISSUE_TEMPLATE/ │ └── new-device.md ├── .gitignore ├── .homeychangelog.json ├── .homeycompose/ │ ├── app.json │ ├── capabilities/ │ │ ├── airfryer_careli_food_quantity.json │ │ ├── airfryer_careli_mode.json │ │ ├── airfryer_careli_target_temperature.json │ │ ├── airfryer_careli_target_time.json │ │ ├── airpurifier_heater_mode.json │ │ ├── airpurifier_mode.json │ │ ├── airpurifier_xiaomi_fanlevel.json │ │ ├── airpurifier_zhimi_airfresh_mode.json │ │ ├── airpurifier_zhimi_airpurifier_mb3_mode.json │ │ ├── airpurifier_zhimi_fanlevel.json │ │ ├── airpurifier_zhimi_mode.json │ │ ├── alarm_desiccant_low.json │ │ ├── alarm_filter_work_time.json │ │ ├── alarm_main_brush_work_time.json │ │ ├── alarm_sensor_dirty_time.json │ │ ├── alarm_side_brush_work_time.json │ │ ├── alarm_water_shortage.json │ │ ├── dehumidifier_dmaker_mode.json │ │ ├── diffuser_xwhzp_fragrance_out_time.json │ │ ├── diffuser_xwhzp_mode.json │ │ ├── fan_dmaker_mode.json │ │ ├── fan_zhimi_angle.json │ │ ├── fan_zhimi_mode.json │ │ ├── heater_zhimi_heater_target_temperature.json │ │ ├── heater_zhimi_heatlevel.json │ │ ├── heater_zhimi_oscillation.json │ │ ├── humidifier2_mode.json │ │ ├── humidifier_deerma_jsq_mode.json │ │ ├── humidifier_leshow_jsq1_mode.json │ │ ├── humidifier_water_level_state.json │ │ ├── humidifier_xiaomi_mode.json │ │ ├── humidifier_zhimi_mode.json │ │ ├── humidifier_zhimi_mode_miot.json │ │ ├── measure_desiccant.json │ │ ├── measure_desiccant_time.json │ │ ├── measure_filter_days_left.json │ │ ├── measure_filter_life.json │ │ ├── measure_gas_density.json │ │ ├── measure_smoke_density.json │ │ ├── measure_target_humidity.json │ │ ├── measure_tvoc.json │ │ ├── measure_waterlevel.json │ │ ├── petfeeder_busy.json │ │ ├── petfeeder_eaten_food_today.json │ │ ├── petfeeder_eaten_food_total.json │ │ ├── petfeeder_food_in_bowl.json │ │ ├── petfeeder_food_out_progress.json │ │ ├── petfeeder_food_out_status.json │ │ ├── petfeeder_foodlevel.json │ │ ├── petfeeder_heap_status.json │ │ ├── petfeeder_schedule_progress.json │ │ ├── petfeeder_status_mode.json │ │ ├── petwaterdispenser_mmgg_mode.json │ │ ├── petwaterdispenser_mmgg_mode_3.json │ │ ├── vacuum_dreame_fanspeed.json │ │ ├── vacuum_dreame_mop_intensity.json │ │ ├── vacuum_roborock_fanspeed.json │ │ ├── vacuum_roborock_mop_intensity.json │ │ ├── vacuum_roidmi_fanspeed.json │ │ ├── vacuum_roidmi_mop_mode.json │ │ ├── vacuum_roidmi_waterlevel.json │ │ ├── vacuum_viomi_mop_mode.json │ │ ├── vacuum_xiaomi_carpet_mode_max.json │ │ ├── vacuum_xiaomi_cleaning_mode_max.json │ │ ├── vacuum_xiaomi_detergent_left_level.json │ │ ├── vacuum_xiaomi_dust_bag_left_level.json │ │ ├── vacuum_xiaomi_mop_mode.json │ │ ├── vacuum_xiaomi_mop_mode_max.json │ │ ├── vacuum_xiaomi_path_mode_max.json │ │ ├── vacuum_xiaomi_status.json │ │ ├── vacuum_xiaomi_water_level_max.json │ │ └── yeelight_ceil43_mode.json │ ├── drivers/ │ │ ├── pair/ │ │ │ ├── add_device/ │ │ │ │ └── index.html │ │ │ ├── pair/ │ │ │ │ └── index.html │ │ │ └── start/ │ │ │ └── index.html │ │ ├── settings/ │ │ │ ├── address.json │ │ │ ├── deviceSid.json │ │ │ ├── gatewaySid.json │ │ │ ├── model.json │ │ │ ├── modelCode.json │ │ │ ├── polling.json │ │ │ └── token.json │ │ └── templates/ │ │ ├── defaults.json │ │ └── defaults_subdevice.json │ └── flow/ │ ├── actions/ │ │ ├── airpurifierSetFavorite.json │ │ ├── airpurifierXiaomiFanlevel.json │ │ ├── airpurifierZhimiFanlevel.json │ │ ├── airpurifierZhimiMode.json │ │ ├── changeSpeed.json │ │ ├── cleanZoneVacuum.json │ │ ├── enableAngle.json │ │ ├── enableBuzzer.json │ │ ├── enableChildLock.json │ │ ├── enableEyecare.json │ │ ├── enableLED.json │ │ ├── fanDmakerMode.json │ │ ├── fanPowerVacuum.json │ │ ├── fanZhimiMode.json │ │ ├── findVacuum.json │ │ ├── gateway_custom_radio.json │ │ ├── gateway_play_effect.json │ │ ├── gateway_play_radio.json │ │ ├── gateway_set_volume.json │ │ ├── goToTargetVacuum.json │ │ ├── heaterZhimiHeatlevel.json │ │ ├── heaterZhimiOscillation.json │ │ ├── heaterZhimiTargetTemperature.json │ │ ├── humidifierXiaomiMode.json │ │ ├── humidifierZhimiMode.json │ │ ├── humidifierZhimiModeMIoT.json │ │ ├── ledAirpurifierHumidifier.json │ │ ├── leftSwitchOff.json │ │ ├── leftSwitchOn.json │ │ ├── leftSwitchToggle.json │ │ ├── modeAirpurifier.json │ │ ├── modeAirpurifierV7.json │ │ ├── modeDehumidifierDmaker.json │ │ ├── modeDiffuserXwhzp.json │ │ ├── modeDmakerFan.json │ │ ├── modeEyecare.json │ │ ├── modeHumidifierDeerma.json │ │ ├── modeHumidifierLeshowJSQ1.json │ │ ├── modeVacuumMop.json │ │ ├── modeZhimiAirfresh.json │ │ ├── petfeederCalibrate.json │ │ ├── petfeederDisplaySchedule.json │ │ ├── petfeederServeFood.json │ │ ├── petwaterdispenserMmggMode.json │ │ ├── petwaterdispenserMmggMode_Xiaomi.json │ │ ├── remote_send_ir_code.json │ │ ├── rightSwitchOff.json │ │ ├── rightSwitchOn.json │ │ ├── rightSwitchToggle.json │ │ ├── rotateLeftStep.json │ │ ├── rotateRightStep.json │ │ ├── setAngle.json │ │ ├── vacuumDreameFanspeed.json │ │ ├── vacuumDreameMopIntensity.json │ │ ├── vacuumRoborockFanspeed.json │ │ ├── vacuumRoborockMopIntensity.json │ │ ├── vacuumRoborockMopVacuumMode.json │ │ ├── vacuumRoborockPause.json │ │ ├── vacuumRoidmiFanspeed.json │ │ ├── vacuumRoidmiMopMode.json │ │ ├── vacuumRoomCleaning.json │ │ ├── vacuumRoomCleaningRepeats.json │ │ └── vacuumXiaomiMopMode.json │ ├── conditions/ │ │ ├── leftSwitch.json │ │ ├── measure_humidity_between.json │ │ ├── measure_temperature_between.json │ │ └── rightSwitch.json │ └── triggers/ │ ├── alertVacuum.json │ ├── alert_cube.json │ ├── click_double.json │ ├── click_double_left.json │ ├── click_double_right.json │ ├── click_long.json │ ├── click_long_left.json │ ├── click_long_release.json │ ├── click_long_right.json │ ├── click_single.json │ ├── click_single_left.json │ ├── click_single_left_right.json │ ├── click_single_right.json │ ├── cubeRotated.json │ ├── desiccant_low.json │ ├── eaten_food_changed.json │ ├── feeder_status_changed.json │ ├── flip180_cube.json │ ├── flip90_cube.json │ ├── free_fall_cube.json │ ├── gatewayLuminance.json │ ├── humidifier2Waterlevel.json │ ├── leftSwitchOff.json │ ├── leftSwitchOn.json │ ├── lockEvent.json │ ├── motionSensorNoMotion120.json │ ├── motionSensorNoMotion1200.json │ ├── motionSensorNoMotion180.json │ ├── motionSensorNoMotion1800.json │ ├── motionSensorNoMotion300.json │ ├── motionSensorNoMotion600.json │ ├── move_cube.json │ ├── rightSwitchOff.json │ ├── rightSwitchOn.json │ ├── rotate_negative_cube.json │ ├── rotate_positive_cube.json │ ├── shake.json │ ├── shake_air_cube.json │ ├── statusVacuum.json │ ├── tap_twice_cube.json │ ├── triggerModeChanged.json │ ├── triggerPlugInUse.json │ ├── triggerVacuumRoomSegments.json │ ├── triggerVibrationFreeFallAlarm.json │ └── triggerVibrationTiltAlarm.json ├── .homeyignore ├── .prettierrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.da.txt ├── README.de.txt ├── README.es.txt ├── README.fr.txt ├── README.it.txt ├── README.ko.txt ├── README.md ├── README.nl.txt ├── README.no.txt ├── README.pl.txt ├── README.ru.txt ├── README.sv.txt ├── README.txt ├── api.js ├── app.js ├── app.json ├── docs/ │ ├── mirobot_zonecleanup.md │ └── obtain_token.md ├── drivers/ │ ├── airfresh_zhimi_airfresh/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airfresh_zhimi_airfresh_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airfryer_careli_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airmonitor_cgllc_zhimi_airmonitor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airpurifier_dmaker_airfresh_t2017/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airpurifier_zhimi_advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── airpurifier_zhimi_advanced_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── aqara-86sw1-advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-86sw2-advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-button/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-button-advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-ctrl-ln1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-ctrl-ln2/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-ctrl-neutral1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-ctrl-neutral2/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-curtain/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-curtain-aq2/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-magnet-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-motion-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-temperature-humidity-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara-wleak-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara_86sw1_switch/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── aqara_86sw2_switch/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── clothesdryer_hyd_airer_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── ctrl_86plug_aq1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── dehumidifier_dmaker_derh_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── diffuser_xwhzp_diffuser_xwxfj/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── dmaker-fan/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── fan_dmaker_advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── fan_zhimi_advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── fan_zhimi_fan_za5/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── gateway/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── heater_zhimi_heater_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_deerma_humidifier_jsq/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_deerma_humidifier_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_leshow_humidifier_jsq1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_xiaomi_humidifier/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_zhimi_humidifier/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── humidifier_zhimi_humidifier_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── lock_aq1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-airpurifier/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-aqara-cube/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-button/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-humidifier/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-humidifier2/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-magnet-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-motion-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-plug/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── mi-power-plug/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-power-strip/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-robot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── mi-temperature-humidity-sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── natgas_sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── pet_waterer_xiaomi/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── petfeeder_mmgg_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── petwaterdispenser_mmgg_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── philips-bulb/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── philips-eyecare/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── philips_light_cbulb/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── philips_light_moonlight/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── philips_light_strip/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── plug_chuangmi_plug_m1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── plug_chuangmi_plug_v1_v3/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── plug_cuco_plug/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── powerstrip_qmi_powerstrip_v1/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── relay_c2acn01/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── remote_chuangmi_remote_v2/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── capabilities.js │ │ ├── deviceCharacteristics.html │ │ ├── deviceTypes.html │ │ ├── devices.html │ │ ├── done.html │ │ └── keys.html │ ├── smoke_sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── subdevice_device.js │ ├── subdevice_driver.js │ ├── vacuum_dreame_vacuum/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_mi_rockrobo_vacuum_advanced/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_mija_vacuum_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_roidmi_vacuum_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_viomi_vacuum_v7/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_xiaomi_vacuum_max/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.flow.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vacuum_xiaomi_vacuum_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ ├── vibration_sensor/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ └── driver.settings.compose.json │ ├── wifi_device.js │ ├── wifi_driver.js │ ├── yeelink_light_ceil43_miot/ │ │ ├── device.js │ │ ├── driver.compose.json │ │ ├── driver.js │ │ ├── driver.settings.compose.json │ │ └── pair/ │ │ ├── add_device.html │ │ ├── pair.html │ │ └── start.html │ └── zhimi-fan/ │ ├── device.js │ ├── driver.compose.json │ ├── driver.js │ ├── driver.settings.compose.json │ └── pair/ │ ├── add_device.html │ ├── pair.html │ └── start.html ├── lib/ │ ├── MiHub.js │ └── util.js ├── locales/ │ ├── da.json │ ├── de.json │ ├── en.json │ ├── es.json │ ├── fr.json │ ├── it.json │ ├── ko.json │ ├── nl.json │ ├── no.json │ ├── pl.json │ ├── ru.json │ └── sv.json ├── package.json ├── settings/ │ └── index.html └── tsconfig.json
SYMBOL INDEX (583 symbols across 164 files)
FILE: api.js
method generate (line 4) | async generate({homey, body}) {
method testConnection (line 8) | async testConnection({homey, body}) {
method getGateways (line 12) | async getGateways({homey, body}) {
FILE: app.js
class XiaomiMiioApp (line 7) | class XiaomiMiioApp extends Homey.App {
method onInit (line 9) | async onInit() {
method onSettingsChanged (line 749) | async onSettingsChanged(key) {
method generate (line 760) | async generate(args) {
method generateKey (line 774) | async generateKey() {
method testConnection (line 785) | async testConnection(args) {
method getGateways (line 796) | async getGateways() {
FILE: drivers/airfresh_zhimi_airfresh/device.js
class MiAirFreshDevice (line 11) | class MiAirFreshDevice extends Device {
method onInit (line 13) | async onInit() {
method onSettings (line 74) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 94) | async retrieveDeviceData() {
method handleModeEvent (line 149) | async handleModeEvent(mode) {
FILE: drivers/airfresh_zhimi_airfresh/driver.js
class MiAirFreshDriver (line 5) | class MiAirFreshDriver extends Driver {}
FILE: drivers/airfresh_zhimi_airfresh_miot/device.js
class MiAirFreshMiotDevice (line 32) | class MiAirFreshMiotDevice extends Device {
method onInit (line 34) | async onInit() {
method onSettings (line 95) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 115) | async retrieveDeviceData() {
FILE: drivers/airfresh_zhimi_airfresh_miot/driver.js
class MiAirFreshMiotDriver (line 5) | class MiAirFreshMiotDriver extends Driver {}
FILE: drivers/airfryer_careli_miot/device.js
class AirfryerCareliMiotDevice (line 70) | class AirfryerCareliMiotDevice extends Device {
method onInit (line 72) | async onInit() {
method retrieveDeviceData (line 180) | async retrieveDeviceData() {
FILE: drivers/airfryer_careli_miot/driver.js
class AirfryerCareliMiotDriver (line 5) | class AirfryerCareliMiotDriver extends Driver {}
FILE: drivers/airmonitor_cgllc_zhimi_airmonitor/device.js
class AirmonitorZhimiCgllcDevice (line 12) | class AirmonitorZhimiCgllcDevice extends Device {
method onInit (line 13) | async onInit() {
method retrieveDeviceData (line 98) | async retrieveDeviceData() {
FILE: drivers/airmonitor_cgllc_zhimi_airmonitor/driver.js
class AirmonitorZhimiCgllcDriver (line 5) | class AirmonitorZhimiCgllcDriver extends Driver {}
FILE: drivers/airpurifier_dmaker_airfresh_t2017/device.js
class MiAirPurifierT2017Device (line 18) | class MiAirPurifierT2017Device extends Device {
method onInit (line 20) | async onInit() {
method onSettings (line 114) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 138) | async retrieveDeviceData() {
FILE: drivers/airpurifier_dmaker_airfresh_t2017/driver.js
class MiAirPurifierT2017Driver (line 5) | class MiAirPurifierT2017Driver extends Driver {}
FILE: drivers/airpurifier_zhimi_advanced/device.js
constant MIOT_MODE_TO_CAPABILITY (line 23) | const MIOT_MODE_TO_CAPABILITY = {
constant CAPABILITY_MODE_TO_MIOT (line 30) | const CAPABILITY_MODE_TO_MIOT = {
constant V7_SUPPORTED_MODES (line 37) | const V7_SUPPORTED_MODES = new Set(['auto', 'silent', 'favorite']);
constant V7_MODE_OPTIONS (line 38) | const V7_MODE_OPTIONS = [
constant V7_FAVORITE_LEVEL_MAX (line 43) | const V7_FAVORITE_LEVEL_MAX = 16;
constant MIOT_PROPERTIES (line 49) | const MIOT_PROPERTIES = {
class AdvancedOlderMiAirPurifierDevice (line 78) | class AdvancedOlderMiAirPurifierDevice extends Device {
method onInit (line 80) | async onInit() {
method onSettings (line 211) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 263) | async retrieveDeviceData() {
method retrieveMiotData (line 312) | async retrieveMiotData() {
FILE: drivers/airpurifier_zhimi_advanced/driver.js
class AdvancedOlderMiAirPurifierDriver (line 5) | class AdvancedOlderMiAirPurifierDriver extends Driver {}
FILE: drivers/airpurifier_zhimi_advanced_miot/device.js
class AdvancedMiAirPurifierMiotDevice (line 287) | class AdvancedMiAirPurifierMiotDevice extends Device {
method onInit (line 289) | async onInit() {
method onSettings (line 392) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 412) | async retrieveDeviceData() {
FILE: drivers/airpurifier_zhimi_advanced_miot/driver.js
class AdvancedMiAirPurifierMiotDriver (line 5) | class AdvancedMiAirPurifierMiotDriver extends Driver {}
FILE: drivers/aqara-86sw1-advanced/device.js
class AqaraWirellesSwitch (line 6) | class AqaraWirellesSwitch extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-86sw1-advanced/driver.js
class AqaraWirellesSwitch (line 6) | class AqaraWirellesSwitch extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-86sw2-advanced/device.js
class AqaraWirellesSwitch (line 6) | class AqaraWirellesSwitch extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-86sw2-advanced/driver.js
class AqaraWirellesSwitch (line 6) | class AqaraWirellesSwitch extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-button-advanced/device.js
class AqaraButtonAdvanced (line 6) | class AqaraButtonAdvanced extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-button-advanced/driver.js
class AqaraButtonAdvanced (line 6) | class AqaraButtonAdvanced extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-button/device.js
class AqaraButton (line 6) | class AqaraButton extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-button/driver.js
class AqaraButton (line 6) | class AqaraButton extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-ctrl-ln1/device.js
class AqaraCtrlLn1SwitchDevice (line 6) | class AqaraCtrlLn1SwitchDevice extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 18) | async onEventFromGateway(device) {
FILE: drivers/aqara-ctrl-ln1/driver.js
class AqaraCtrlLn1SwitchDriver (line 6) | class AqaraCtrlLn1SwitchDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-ctrl-ln2/device.js
class AqaraCtrlLn2SwitchDevice (line 6) | class AqaraCtrlLn2SwitchDevice extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 26) | async onEventFromGateway(device) {
FILE: drivers/aqara-ctrl-ln2/driver.js
class AqaraCtrlLn2SwitchDriver (line 6) | class AqaraCtrlLn2SwitchDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-ctrl-neutral1/device.js
class AqaraNeutralSwitch (line 6) | class AqaraNeutralSwitch extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 18) | async onEventFromGateway(device) {
FILE: drivers/aqara-ctrl-neutral1/driver.js
class AqaraSwitch (line 6) | class AqaraSwitch extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-ctrl-neutral2/device.js
class AqaraNeutral2Switch (line 6) | class AqaraNeutral2Switch extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 26) | async onEventFromGateway(device) {
FILE: drivers/aqara-ctrl-neutral2/driver.js
class AqaraNeutral2Switch (line 6) | class AqaraNeutral2Switch extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-curtain-aq2/device.js
class AqaraCurtainAQ2 (line 6) | class AqaraCurtainAQ2 extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 47) | async onEventFromGateway(device) {
FILE: drivers/aqara-curtain-aq2/driver.js
class AqaraCurtainAQ2 (line 6) | class AqaraCurtainAQ2 extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-curtain/device.js
class AqaraCurtain (line 6) | class AqaraCurtain extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 52) | async onEventFromGateway(device) {
FILE: drivers/aqara-curtain/driver.js
class AqaraCurtain (line 6) | class AqaraCurtain extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-magnet-sensor/device.js
class AqaraMagnetSensor (line 6) | class AqaraMagnetSensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-magnet-sensor/driver.js
class AqaraMagnetSensor (line 6) | class AqaraMagnetSensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-motion-sensor/device.js
class AqaraMotionSensor (line 6) | class AqaraMotionSensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-motion-sensor/driver.js
class AqaraMotionSensor (line 6) | class AqaraMotionSensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-temperature-humidity-sensor/device.js
class AqaraTemperatureHumiditySensor (line 6) | class AqaraTemperatureHumiditySensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-temperature-humidity-sensor/driver.js
class AqaraTemperatureHumiditySensor (line 6) | class AqaraTemperatureHumiditySensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara-wleak-sensor/device.js
class AqaraWleakSensor (line 6) | class AqaraWleakSensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara-wleak-sensor/driver.js
class AqaraWleakSensor (line 6) | class AqaraWleakSensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara_86sw1_switch/device.js
class AqaraWireless86SW1SwitchDevice (line 6) | class AqaraWireless86SW1SwitchDevice extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara_86sw1_switch/driver.js
class AqaraWireless86SW1SwitchDriver (line 6) | class AqaraWireless86SW1SwitchDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/aqara_86sw2_switch/device.js
class AqaraWireless86SW2SwitchDevice (line 6) | class AqaraWireless86SW2SwitchDevice extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/aqara_86sw2_switch/driver.js
class AqaraWireless86SW2SwitchDriver (line 6) | class AqaraWireless86SW2SwitchDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/clothesdryer_hyd_airer_miot/device.js
class ClothesDryerHydAirerMiotDevice (line 31) | class ClothesDryerHydAirerMiotDevice extends Device {
method onInit (line 33) | async onInit() {
method onSettings (line 95) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 102) | async retrieveDeviceData() {
FILE: drivers/clothesdryer_hyd_airer_miot/driver.js
class ClothesDryerHydAirerMiotDriver (line 5) | class ClothesDryerHydAirerMiotDriver extends Driver {}
FILE: drivers/ctrl_86plug_aq1/device.js
class AqaraWallOutletDevice (line 6) | class AqaraWallOutletDevice extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 18) | async onEventFromGateway(device) {
FILE: drivers/ctrl_86plug_aq1/driver.js
class AqaraWallOutletDriver (line 6) | class AqaraWallOutletDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/dehumidifier_dmaker_derh_miot/device.js
class DehumidifierDmakerDerhMiotDevice (line 50) | class DehumidifierDmakerDerhMiotDevice extends Device {
method onInit (line 52) | async onInit() {
method onSettings (line 135) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 155) | async retrieveDeviceData() {
FILE: drivers/dehumidifier_dmaker_derh_miot/driver.js
class DehumidifierDmakerDerhMiotDriver (line 5) | class DehumidifierDmakerDerhMiotDriver extends Driver {}
FILE: drivers/diffuser_xwhzp_diffuser_xwxfj/device.js
constant MODEL_MAPPING (line 7) | const MODEL_MAPPING = {
constant FALLBACK_MODEL_KEY (line 11) | const FALLBACK_MODEL_KEY = 'xwxfj';
constant EMPTY_LEVEL_THRESHOLD (line 12) | const EMPTY_LEVEL_THRESHOLD = 10;
constant MODE_LABELS (line 14) | const MODE_LABELS = {
constant PROPERTIES (line 27) | const PROPERTIES = {
class MijiaSmartScentDiffuserDevice (line 60) | class MijiaSmartScentDiffuserDevice extends Device {
method onInit (line 61) | async onInit() {
method ensureCapabilities (line 107) | async ensureCapabilities(capabilities) {
method getModelIdentifier (line 117) | getModelIdentifier() {
method resolveDeviceProperties (line 131) | resolveDeviceProperties() {
method toBoolean (line 140) | toBoolean(value) {
method clamp01 (line 150) | clamp01(value) {
method clamp100 (line 154) | clamp100(value) {
method hasUsableValue (line 158) | hasUsableValue(entry) {
method indexResults (line 164) | indexResults(result) {
method setPropertyValue (line 177) | async setPropertyValue(propertyKey, value) {
method setMultipleProperties (line 199) | async setMultipleProperties(entries) {
method setAmbientLightBrightness (line 222) | async setAmbientLightBrightness(value) {
method setAmbientLightColor (line 242) | async setAmbientLightColor(valueObj) {
method onSettings (line 271) | async onSettings({ changedKeys }) {
method retrieveDeviceData (line 279) | async retrieveDeviceData() {
method handleModeEvent (line 357) | async handleModeEvent(mode) {
FILE: drivers/diffuser_xwhzp_diffuser_xwxfj/driver.js
class MijiaSmartScentDiffuserDriver (line 5) | class MijiaSmartScentDiffuserDriver extends Driver {}
FILE: drivers/dmaker-fan/device.js
class DmakerFanDevice (line 7) | class DmakerFanDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/dmaker-fan/driver.js
class DmakerFanDriver (line 5) | class DmakerFanDriver extends Driver {}
FILE: drivers/fan_dmaker_advanced/device.js
class AdvancedDmakerFanMiotDevice (line 217) | class AdvancedDmakerFanMiotDevice extends Device {
method onInit (line 218) | async onInit() {
method onSettings (line 376) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 396) | async retrieveDeviceData() {
method rotateFanHead (line 469) | async rotateFanHead(direction) {
FILE: drivers/fan_dmaker_advanced/driver.js
class AdvancedDmakerFanMiotDriver (line 5) | class AdvancedDmakerFanMiotDriver extends Driver {}
FILE: drivers/fan_zhimi_advanced/device.js
class ZhiMiFanAdvancedDevice (line 20) | class ZhiMiFanAdvancedDevice extends Device {
method onInit (line 22) | async onInit() {
method onSettings (line 116) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 136) | async retrieveDeviceData() {
FILE: drivers/fan_zhimi_advanced/driver.js
class ZhiMiFanAdvancedDriver (line 5) | class ZhiMiFanAdvancedDriver extends Driver {}
FILE: drivers/fan_zhimi_fan_za5/device.js
class ZhiMiFanZA5Device (line 29) | class ZhiMiFanZA5Device extends Device {
method onInit (line 31) | async onInit() {
method onSettings (line 137) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 157) | async retrieveDeviceData() {
FILE: drivers/fan_zhimi_fan_za5/driver.js
class ZhiMiFanZA5Driver (line 5) | class ZhiMiFanZA5Driver extends Driver {}
FILE: drivers/gateway/device.js
class GatewayDevice (line 8) | class GatewayDevice extends Device {
method onInit (line 9) | async onInit() {
method onSettings (line 249) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 288) | async retrieveDeviceData() {
FILE: drivers/gateway/driver.js
class GatewayDriver (line 5) | class GatewayDriver extends Driver {}
FILE: drivers/heater_zhimi_heater_miot/device.js
class ZhimiHeaterMiotDevice (line 116) | class ZhimiHeaterMiotDevice extends Device {
method onInit (line 118) | async onInit() {
method onSettings (line 210) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 230) | async retrieveDeviceData() {
FILE: drivers/heater_zhimi_heater_miot/driver.js
class ZhimiHeaterMiotDriver (line 5) | class ZhimiHeaterMiotDriver extends Driver {}
FILE: drivers/humidifier_deerma_humidifier_jsq/device.js
class HumidifierDeermaJSQDevice (line 19) | class HumidifierDeermaJSQDevice extends Device {
method onInit (line 21) | async onInit() {
method onSettings (line 83) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 99) | async retrieveDeviceData() {
FILE: drivers/humidifier_deerma_humidifier_jsq/driver.js
class HumidifierDeermaJSQDriver (line 5) | class HumidifierDeermaJSQDriver extends Driver {}
FILE: drivers/humidifier_deerma_humidifier_miot/device.js
class HumidifierDeermaMiotDevice (line 70) | class HumidifierDeermaMiotDevice extends Device {
method onInit (line 72) | async onInit() {
method onSettings (line 137) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 153) | async retrieveDeviceData() {
FILE: drivers/humidifier_deerma_humidifier_miot/driver.js
class HumidifierDeermaMiotDriver (line 5) | class HumidifierDeermaMiotDriver extends Driver {}
FILE: drivers/humidifier_leshow_humidifier_jsq1/device.js
constant MODEL_MAPPING (line 7) | const MODEL_MAPPING = {
constant FALLBACK_MODEL_KEY (line 12) | const FALLBACK_MODEL_KEY = 'leshow_jsq1';
constant MODE_LABELS (line 14) | const MODE_LABELS = {
constant WATER_STATE_BY_FAULT (line 20) | const WATER_STATE_BY_FAULT = {
constant DEFAULT_WATER_STATE (line 25) | const DEFAULT_WATER_STATE = 'normal';
class MiHumidifierLeshowJSQ1Device (line 64) | class MiHumidifierLeshowJSQ1Device extends Device {
method onInit (line 65) | async onInit() {
method getModelIdentifier (line 100) | getModelIdentifier() {
method resolveDeviceProperties (line 112) | resolveDeviceProperties() {
method handleSetProperty (line 121) | async handleSetProperty(propertyKey, value) {
method handleTargetHumidity (line 143) | async handleTargetHumidity(value) {
method onSettings (line 166) | async onSettings({ newSettings, changedKeys }) {
method retrieveDeviceData (line 185) | async retrieveDeviceData() {
method indexResults (line 255) | indexResults(result) {
method hasUsableValue (line 266) | hasUsableValue(entry) {
method handleModeEvent (line 272) | async handleModeEvent(mode) {
FILE: drivers/humidifier_leshow_humidifier_jsq1/driver.js
class MiHumidifierLeshowJSQ1Driver (line 5) | class MiHumidifierLeshowJSQ1Driver extends Driver {}
FILE: drivers/humidifier_xiaomi_humidifier/device.js
constant MODEL_MAPPING (line 11) | const MODEL_MAPPING = {
constant MODE_OPTIONS (line 64) | const MODE_OPTIONS = {
constant ERROR_CODES (line 80) | const ERROR_CODES = {
class XiaomiHumidifierMIoTDevice (line 96) | class XiaomiHumidifierMIoTDevice extends Device {
method getModel (line 97) | getModel() {
method is600ek (line 101) | is600ek() {
method getModeOptions (line 105) | getModeOptions() {
method getModeLabel (line 109) | getModeLabel(mode) {
method getTargetHumidityOptions (line 115) | getTargetHumidityOptions() {
method getTargetHumidityCapabilityValue (line 123) | getTargetHumidityCapabilityValue(value) {
method getTargetHumidityMiotValue (line 131) | getTargetHumidityMiotValue(value) {
method getErrorLabel (line 139) | getErrorLabel(value) {
method normalizeBooleanValue (line 144) | normalizeBooleanValue(value) {
method indexResults (line 148) | indexResults(result) {
method hasUsableValue (line 161) | hasUsableValue(entry) {
method handleSetProperty (line 167) | async handleSetProperty(propertyKey, value) {
method onInit (line 191) | async onInit() {
method onSettings (line 255) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method handleModeEvent (line 275) | async handleModeEvent(mode) {
method retrieveDeviceData (line 299) | async retrieveDeviceData() {
FILE: drivers/humidifier_xiaomi_humidifier/driver.js
class XiaomiHumidifierMIoTDriver (line 5) | class XiaomiHumidifierMIoTDriver extends Driver {}
FILE: drivers/humidifier_zhimi_humidifier/device.js
class MiHumidifierDevice (line 13) | class MiHumidifierDevice extends Device {
method onInit (line 15) | async onInit() {
method onSettings (line 77) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 97) | async retrieveDeviceData() {
FILE: drivers/humidifier_zhimi_humidifier/driver.js
class MiHumidifierDriver (line 5) | class MiHumidifierDriver extends Driver {}
FILE: drivers/humidifier_zhimi_humidifier_miot/device.js
constant CA6_WATER_LEVEL_STATE_BY_VALUE (line 103) | const CA6_WATER_LEVEL_STATE_BY_VALUE = {
class MiHumidifierCa4Device (line 109) | class MiHumidifierCa4Device extends Device {
method getModel (line 111) | getModel() {
method isCa6 (line 115) | isCa6() {
method getModeOptions (line 119) | getModeOptions() {
method getModeLabel (line 123) | getModeLabel(mode) {
method getTargetHumidityOptions (line 129) | getTargetHumidityOptions() {
method normalizeLedSettingValue (line 137) | normalizeLedSettingValue(value) {
method normalizeWaterLevelValue (line 141) | normalizeWaterLevelValue(value) {
method getCa6WaterLevelState (line 149) | getCa6WaterLevelState(value) {
method onInit (line 154) | async onInit() {
method onSettings (line 275) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 295) | async retrieveDeviceData() {
FILE: drivers/humidifier_zhimi_humidifier_miot/driver.js
class MiHumidifierCa4Driver (line 5) | class MiHumidifierCa4Driver extends Driver {}
FILE: drivers/lock_aq1/device.js
class LockAQ1Device (line 315) | class LockAQ1Device extends Device {
method onEventFromGateway (line 317) | async onEventFromGateway(device) {
FILE: drivers/lock_aq1/driver.js
class LockAQ1Driver (line 6) | class LockAQ1Driver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-airpurifier/device.js
class MiAirPurifierDevice (line 7) | class MiAirPurifierDevice extends Device {
method onInit (line 9) | async onInit() {
method handleDeviceSettings (line 42) | async handleDeviceSettings() {
method onSettings (line 63) | async onSettings({ oldSettings, newSettings, changedKeys }) {
FILE: drivers/mi-airpurifier/driver.js
class MiAirPurifierDriver (line 5) | class MiAirPurifierDriver extends Driver {}
FILE: drivers/mi-aqara-cube/device.js
class MiAqaraCube (line 6) | class MiAqaraCube extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/mi-aqara-cube/driver.js
class MiAqaraCube (line 6) | class MiAqaraCube extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-button/device.js
class MiButton (line 6) | class MiButton extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/mi-button/driver.js
class MiButton (line 6) | class MiButton extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-humidifier/device.js
class MiHumidifierDevice (line 7) | class MiHumidifierDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/mi-humidifier/driver.js
class MiHumidifierDriver (line 5) | class MiHumidifierDriver extends Driver {}
FILE: drivers/mi-humidifier2/device.js
class MiHumidifier2Device (line 7) | class MiHumidifier2Device extends Device {
method onInit (line 9) | async onInit() {
method handleDeviceSettings (line 39) | async handleDeviceSettings() {
method onSettings (line 60) | async onSettings({ oldSettings, newSettings, changedKeys }) {
FILE: drivers/mi-humidifier2/driver.js
class MiHumidifier2Driver (line 5) | class MiHumidifier2Driver extends Driver {}
FILE: drivers/mi-magnet-sensor/device.js
class MiMagnetSensor (line 6) | class MiMagnetSensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/mi-magnet-sensor/driver.js
class MiMagnetSensor (line 6) | class MiMagnetSensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-motion-sensor/device.js
class MiMotionSensor (line 6) | class MiMotionSensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/mi-motion-sensor/driver.js
class MiMotionSensor (line 6) | class MiMotionSensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-plug/device.js
class MiPlug (line 6) | class MiPlug extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 18) | async onEventFromGateway(device) {
FILE: drivers/mi-plug/driver.js
class MiPlug (line 6) | class MiPlug extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/mi-power-plug/device.js
class PowerPlugDevice (line 7) | class PowerPlugDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/mi-power-plug/driver.js
class PowerPlugDriver (line 5) | class PowerPlugDriver extends Driver {}
FILE: drivers/mi-power-strip/device.js
class PowerStripDevice (line 7) | class PowerStripDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/mi-power-strip/driver.js
class PowerStripDriver (line 5) | class PowerStripDriver extends Driver {}
FILE: drivers/mi-robot/device.js
class MiRobotDevice (line 7) | class MiRobotDevice extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 28) | async retrieveDeviceData() {
FILE: drivers/mi-robot/driver.js
class MiRobotDriver (line 5) | class MiRobotDriver extends Driver {}
FILE: drivers/mi-temperature-humidity-sensor/device.js
class MiTemperatureHumiditySensor (line 6) | class MiTemperatureHumiditySensor extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/mi-temperature-humidity-sensor/driver.js
class MiTemperatureHumiditySensor (line 6) | class MiTemperatureHumiditySensor extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/natgas_sensor/device.js
class NatSensorDevice (line 6) | class NatSensorDevice extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/natgas_sensor/driver.js
class NatSensorDriver (line 6) | class NatSensorDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/pet_waterer_xiaomi/device.js
class PetwaterdispenserXiaomiDevice (line 51) | class PetwaterdispenserXiaomiDevice extends Device {
method normalizeBooleanValue (line 52) | normalizeBooleanValue(value) {
method getPropertyDefinition (line 62) | getPropertyDefinition(did) {
method getPropertyResult (line 66) | getPropertyResult(result, did) {
method prettyPrintProperties (line 77) | prettyPrintProperties(result, propertyDefs) {
method onInit (line 96) | async onInit() {
method onSettings (line 173) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 180) | async retrieveDeviceData() {
FILE: drivers/pet_waterer_xiaomi/driver.js
class PetwaterdispenserMmggMiotDriver (line 5) | class PetwaterdispenserMmggMiotDriver extends Driver {}
FILE: drivers/petfeeder_mmgg_miot/device.js
constant MODEL_TO_PRESET (line 28) | const MODEL_TO_PRESET = {
function resolvePresetId (line 36) | function resolvePresetId(model) {
constant BASE_GET_PROPS (line 46) | const BASE_GET_PROPS = [
constant LEGACY_MIOT_PROPS (line 51) | const LEGACY_MIOT_PROPS = {
constant IV2001_MIOT_PROPS (line 66) | const IV2001_MIOT_PROPS = {
constant LEGACY_SETTING_PROPS (line 78) | const LEGACY_SETTING_PROPS = {
constant IV2001_SETTING_PROPS (line 89) | const IV2001_SETTING_PROPS = {
function resolveMiotProps (line 93) | function resolveMiotProps(presetId) {
function resolveSettingProps (line 97) | function resolveSettingProps(presetId) {
constant MANUAL_FEED_PORTION_GRAMS (line 101) | const MANUAL_FEED_PORTION_GRAMS = 5;
constant DESICCANT_FULL_DAYS (line 102) | const DESICCANT_FULL_DAYS = 30;
constant MANUAL_FEED_MAX_PORTIONS (line 103) | const MANUAL_FEED_MAX_PORTIONS = 30;
constant STORE_KEYS (line 104) | const STORE_KEYS = {
constant BOWL_DELTA_THRESHOLD (line 107) | const BOWL_DELTA_THRESHOLD = 0.5;
constant PROGRESS_COMPLETE_THRESHOLD (line 108) | const PROGRESS_COMPLETE_THRESHOLD = 99.5;
constant MODE_MAP (line 112) | const MODE_MAP = new Map([
constant FOODLEVEL_ENUM_VALUES (line 119) | const FOODLEVEL_ENUM_VALUES = new Set(['0', '1']);
constant FOODLEVEL_LABELS (line 120) | const FOODLEVEL_LABELS = new Map([
function toNumber (line 129) | function toNumber(v) {
function normalizePercent (line 134) | function normalizePercent(v) {
function clampNumber (line 140) | function clampNumber(value, min, max) {
function fromMiotBool (line 147) | function fromMiotBool(v) {
function toMiotBoolInput (line 154) | function toMiotBoolInput(v, format) {
function normalizeDesiccantDays (line 160) | function normalizeDesiccantDays(v) {
class PetFeederMiotDevice (line 182) | class PetFeederMiotDevice extends DeviceBase {
method _warn (line 184) | _warn(...args) {
method onInit (line 190) | async onInit() {
method onUninit (line 278) | async onUninit() {
method onSettings (line 285) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method _pollOnce (line 332) | async _pollOnce() {
method _updateFaultAndFoodLevel (line 408) | async _updateFaultAndFoodLevel(g) {
method _updateEatenFood (line 437) | async _updateEatenFood(g) {
method _updateFoodOutAndHeap (line 655) | async _updateFoodOutAndHeap(g) {
method _updateStatusMode (line 677) | async _updateStatusMode(g) {
method _updateTargetFeedingMeasure (line 721) | async _updateTargetFeedingMeasure(g) {
method _syncSettingsFromMiot (line 736) | async _syncSettingsFromMiot(g) {
method _updateDesiccant (line 760) | async _updateDesiccant(g) {
method _initMiio (line 838) | async _initMiio() {
method _safeGetProps (line 864) | async _safeGetProps(requestArray) {
method setDisplaySchedule (line 894) | async setDisplaySchedule(enabled) {
method servePortions (line 906) | async servePortions(portionCount) {
method _callMiio (line 937) | async _callMiio(method, params, options, timeoutMs = 8000) {
method _indexResults (line 947) | _indexResults(reqList, respList) {
method _setCap (line 958) | async _setCap(cap, value) {
method _timeline (line 980) | async _timeline(excerpt, data) {
method _triggerEatenChanged (line 993) | async _triggerEatenChanged(todayG, deltaG) {
method _applyManualEatenAdjust (line 1015) | async _applyManualEatenAdjust(value, skipSettingSync = false) {
method _syncEatenSetting (line 1033) | async _syncEatenSetting(value) {
method _onceWarn (line 1052) | _onceWarn(msg) {
method _ymdNow (line 1059) | _ymdNow() {
method _logDesiccantConversion (line 1065) | _logDesiccantConversion(branch, raw, days) {
method _ensureCapabilities (line 1077) | async _ensureCapabilities() {
method _normalizeSettingFromDevice (line 1113) | _normalizeSettingFromDevice(def, rawValue) {
method _serializeSettingForDevice (line 1129) | _serializeSettingForDevice(def, value) {
method _applySettingToDevice (line 1148) | async _applySettingToDevice(key, value) {
FILE: drivers/petfeeder_mmgg_miot/driver.js
class PetFeederMmggMiotDriver (line 5) | class PetFeederMmggMiotDriver extends Driver {}
FILE: drivers/petwaterdispenser_mmgg_miot/device.js
class PetwaterdispenserMmggMiotDevice (line 63) | class PetwaterdispenserMmggMiotDevice extends Device {
method onInit (line 65) | async onInit() {
method onSettings (line 115) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 127) | async retrieveDeviceData() {
FILE: drivers/petwaterdispenser_mmgg_miot/driver.js
class PetwaterdispenserMmggMiotDriver (line 5) | class PetwaterdispenserMmggMiotDriver extends Driver {}
FILE: drivers/philips-bulb/device.js
class PhilipsBulbDevice (line 7) | class PhilipsBulbDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/philips-bulb/driver.js
class PhilipsBulbDriver (line 5) | class PhilipsBulbDriver extends Driver {}
FILE: drivers/philips-eyecare/device.js
class PhilipsEyecareDevice (line 7) | class PhilipsEyecareDevice extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 55) | async retrieveDeviceData() {
FILE: drivers/philips-eyecare/driver.js
class PhilipsEyecareDriver (line 5) | class PhilipsEyecareDriver extends Driver {}
FILE: drivers/philips_light_cbulb/device.js
class PhilipsColorBulbDevice (line 7) | class PhilipsColorBulbDevice extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 56) | async retrieveDeviceData() {
FILE: drivers/philips_light_cbulb/driver.js
class PhilipsColorBulbDriver (line 5) | class PhilipsColorBulbDriver extends Driver {}
FILE: drivers/philips_light_moonlight/device.js
class PhilipsBedsideLampDevice (line 7) | class PhilipsBedsideLampDevice extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 58) | async retrieveDeviceData() {
method hsb2rgb (line 101) | hsb2rgb(hsb) {
method rgb2hsb (line 115) | rgb2hsb(rgb) {
FILE: drivers/philips_light_moonlight/driver.js
class PhilipsBedsideLampDriver (line 5) | class PhilipsBedsideLampDriver extends Driver {}
FILE: drivers/philips_light_strip/device.js
class PhilipsLightStripDevice (line 33) | class PhilipsLightStripDevice extends Device {
method onInit (line 35) | async onInit() {
method retrieveDeviceData (line 102) | async retrieveDeviceData() {
FILE: drivers/philips_light_strip/driver.js
class PhilipsLightStripDriver (line 5) | class PhilipsLightStripDriver extends Driver {}
FILE: drivers/plug_chuangmi_plug_m1/device.js
class MiSmartPlugWiFiDevice (line 10) | class MiSmartPlugWiFiDevice extends Device {
method onInit (line 12) | async onInit() {
method retrieveDeviceData (line 42) | async retrieveDeviceData() {
FILE: drivers/plug_chuangmi_plug_m1/driver.js
class MiSmartPlugWiFiDriver (line 5) | class MiSmartPlugWiFiDriver extends Driver {}
FILE: drivers/plug_chuangmi_plug_v1_v3/device.js
class MiSmartPlugWiFiWithUSBDevice (line 11) | class MiSmartPlugWiFiWithUSBDevice extends Device {
method onInit (line 13) | async onInit() {
method retrieveDeviceData (line 58) | async retrieveDeviceData() {
FILE: drivers/plug_chuangmi_plug_v1_v3/driver.js
class MiSmartPlugWiFiWithUSBDriver (line 5) | class MiSmartPlugWiFiWithUSBDriver extends Driver {}
FILE: drivers/plug_cuco_plug/device.js
class CucoPlugDevice (line 32) | class CucoPlugDevice extends Device {
method onInit (line 34) | async onInit() {
method onSettings (line 65) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method retrieveDeviceData (line 81) | async retrieveDeviceData() {
FILE: drivers/plug_cuco_plug/driver.js
class CucoPlugDriver (line 5) | class CucoPlugDriver extends Driver {}
FILE: drivers/powerstrip_qmi_powerstrip_v1/device.js
class PowerStripQMIV1Device (line 7) | class PowerStripQMIV1Device extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 24) | async retrieveDeviceData() {
FILE: drivers/powerstrip_qmi_powerstrip_v1/driver.js
class PowerStripQMIV1Driver (line 5) | class PowerStripQMIV1Driver extends Driver {}
FILE: drivers/relay_c2acn01/device.js
class RelayC2ACN01Device (line 6) | class RelayC2ACN01Device extends Device {
method registerCapabilities (line 8) | async registerCapabilities() {
method onEventFromGateway (line 26) | async onEventFromGateway(device) {
FILE: drivers/relay_c2acn01/driver.js
class RelayC2ACN01Driver (line 6) | class RelayC2ACN01Driver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/remote_chuangmi_remote_v2/device.js
class IRRemoteDevice (line 7) | class IRRemoteDevice extends Device {
method onInit (line 9) | async onInit() {
method sendIrCode (line 105) | async sendIrCode(code) {
FILE: drivers/remote_chuangmi_remote_v2/driver.js
class IRRemoteDriver (line 6) | class IRRemoteDriver extends Driver {
method onPair (line 8) | onPair(session) {
FILE: drivers/smoke_sensor/device.js
class SmokeSensorDevice (line 6) | class SmokeSensorDevice extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/smoke_sensor/driver.js
class SmokeSensorDriver (line 6) | class SmokeSensorDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/subdevice_device.js
class MiSubDeviceDevice (line 6) | class MiSubDeviceDevice extends Homey.Device {
method onInit (line 8) | async onInit() {
method onDeleted (line 18) | async onDeleted() {
method onUninit (line 27) | async onUninit() {
method initialize (line 39) | async initialize() {
method registerCapabilities (line 49) | registerCapabilities() { }
method registerStateChangeListener (line 52) | registerStateChangeListener() {
method unregisterStateChangeListener (line 57) | unregisterStateChangeListener() {
method unregisterAuthChangeListener (line 62) | unregisterAuthChangeListener() {
method updateCapabilityValue (line 67) | async updateCapabilityValue(capability, value) {
FILE: drivers/subdevice_driver.js
class MiHomeSubDeviceDriver (line 6) | class MiHomeSubDeviceDriver extends Homey.Driver {
method onInit (line 8) | onInit() {
method onPair (line 12) | onPair(session) {
FILE: drivers/vacuum_dreame_vacuum/device.js
class AdvancedDreameMiotDevice (line 147) | class AdvancedDreameMiotDevice extends Device {
method onInit (line 149) | async onInit() {
method retrieveDeviceData (line 312) | async retrieveDeviceData() {
FILE: drivers/vacuum_dreame_vacuum/driver.js
class AdvancedDreameMiotDriver (line 5) | class AdvancedDreameMiotDriver extends Driver {}
FILE: drivers/vacuum_mi_rockrobo_vacuum_advanced/device.js
class MiRobotAdvancedDevice (line 159) | class MiRobotAdvancedDevice extends Device {
method onInit (line 161) | async onInit() {
method retrieveDeviceData (line 242) | async retrieveDeviceData() {
FILE: drivers/vacuum_mi_rockrobo_vacuum_advanced/driver.js
class MiRobotAdvancedDriver (line 5) | class MiRobotAdvancedDriver extends Driver {}
FILE: drivers/vacuum_mija_vacuum_miot/device.js
class MijaVacuumMiotDevice (line 226) | class MijaVacuumMiotDevice extends Device {
method onInit (line 228) | async onInit() {
method retrieveDeviceData (line 327) | async retrieveDeviceData() {
FILE: drivers/vacuum_mija_vacuum_miot/driver.js
class MijaVacuumMiotDriver (line 5) | class MijaVacuumMiotDriver extends Driver {}
FILE: drivers/vacuum_roidmi_vacuum_miot/device.js
class RoidmiMiotDevice (line 48) | class RoidmiMiotDevice extends Device {
method onInit (line 50) | async onInit() {
method retrieveDeviceData (line 189) | async retrieveDeviceData() {
FILE: drivers/vacuum_roidmi_vacuum_miot/driver.js
class RoidmiMiotDriver (line 5) | class RoidmiMiotDriver extends Driver {}
FILE: drivers/vacuum_viomi_vacuum_v7/device.js
class ViomiV7Device (line 7) | class ViomiV7Device extends Device {
method onInit (line 9) | async onInit() {
method retrieveDeviceData (line 110) | async retrieveDeviceData() {
FILE: drivers/vacuum_viomi_vacuum_v7/driver.js
class ViomiV7Driver (line 5) | class ViomiV7Driver extends Driver {}
FILE: drivers/vacuum_xiaomi_vacuum_max/device.js
constant ERROR_CODES (line 17) | const ERROR_CODES = {
constant STATUS_MAPPING (line 40) | const STATUS_MAPPING = {
constant STATUS_MAPPING_C102 (line 50) | const STATUS_MAPPING_C102 = {
constant STATUS_MAPPING_B108GL (line 59) | const STATUS_MAPPING_B108GL = {
constant STATUS_MAPPING_D101 (line 68) | const STATUS_MAPPING_D101 = {
class XiaomiVacuumMiotDeviceMax (line 292) | class XiaomiVacuumMiotDeviceMax extends Device {
method getMiotProp (line 293) | getMiotProp(result, propName) {
method _getDeviceModel (line 306) | _getDeviceModel() {
method _applyModelProperties (line 313) | _applyModelProperties(model) {
method _syncModelFromDevice (line 336) | _syncModelFromDevice() {
method onInit (line 370) | async onInit() {
method retrieveDeviceData (line 740) | async retrieveDeviceData() {
method customVacuumTotals (line 1053) | async customVacuumTotals(totals) {
method customVacuumConsumables (line 1103) | async customVacuumConsumables(consumables) {
method getOrCreateToken (line 1175) | async getOrCreateToken(id, title) {
method _accumulateJobTotals (line 1185) | async _accumulateJobTotals() {
method _addLiveDelta (line 1194) | async _addLiveDelta(deltaAreaRaw, deltaTimeRaw) {
method onSettings (line 1214) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method prettyPrintProperties (line 1238) | prettyPrintProperties(rawProps, propertyDefs) {
method getModelIdentifier (line 1249) | getModelIdentifier() {
method mapMopModeInbound (line 1253) | mapMopModeInbound(raw) {
method mapMopModeOutbound (line 1263) | mapMopModeOutbound(value) {
method mapCleaningModeInbound (line 1274) | mapCleaningModeInbound(raw) {
method mapCleaningModeOutbound (line 1284) | mapCleaningModeOutbound(value) {
method mapWaterLevelInbound (line 1295) | mapWaterLevelInbound(raw) {
method mapWaterLevelOutbound (line 1312) | mapWaterLevelOutbound(value) {
method mapPathModeInbound (line 1323) | mapPathModeInbound(raw) {
method mapPathModeOutbound (line 1334) | mapPathModeOutbound(value) {
method mapCarpetModeInbound (line 1345) | mapCarpetModeInbound(raw) {
method buildCarpetModeSetPayload (line 1357) | buildCarpetModeSetPayload(value) {
method _runOneTimeMiotScan (line 1417) | async _runOneTimeMiotScan() {
FILE: drivers/vacuum_xiaomi_vacuum_max/driver.js
class XiaomiVacuumMiotDriver (line 5) | class XiaomiVacuumMiotDriver extends Driver {}
FILE: drivers/vacuum_xiaomi_vacuum_miot/device.js
class XiaomiVacuumMiotDevice (line 159) | class XiaomiVacuumMiotDevice extends Device {
method onInit (line 160) | async onInit() {
method retrieveDeviceData (line 338) | async retrieveDeviceData() {
method customVacuumTotals (line 510) | async customVacuumTotals(totals) {
method customVacuumConsumables (line 563) | async customVacuumConsumables(consumables) {
FILE: drivers/vacuum_xiaomi_vacuum_miot/driver.js
class XiaomiVacuumMiotDriver (line 5) | class XiaomiVacuumMiotDriver extends Driver {}
FILE: drivers/vibration_sensor/device.js
class VibrationSensorDevice (line 6) | class VibrationSensorDevice extends Device {
method onEventFromGateway (line 8) | async onEventFromGateway(device) {
FILE: drivers/vibration_sensor/driver.js
class VibrationSensorDriver (line 6) | class VibrationSensorDriver extends Driver {
method onInit (line 8) | async onInit() {
FILE: drivers/wifi_device.js
class MiWifiDeviceDevice (line 7) | class MiWifiDeviceDevice extends Homey.Device {
method onInit (line 8) | async onInit() {}
method bootSequence (line 10) | async bootSequence() {
method onDeleted (line 38) | async onDeleted() {
method onUninit (line 56) | async onUninit() {
method onSettings (line 74) | async onSettings({ oldSettings, newSettings, changedKeys }) {
method onCapabilityOnoff (line 85) | async onCapabilityOnoff(value, opts) {
method onCapabilityDim (line 103) | async onCapabilityDim(value, opts) {
method onCapabilityOnoffVacuumcleaner (line 122) | async onCapabilityOnoffVacuumcleaner(value, opts) {
method onCapabilityVacuumcleanerState (line 146) | async onCapabilityVacuumcleanerState(value, opts) {
method onCapabilityVacuumMopIntensity (line 186) | async onCapabilityVacuumMopIntensity(value, opts) {
method onCapabilityButtonConsumable (line 204) | async onCapabilityButtonConsumable(value, opts) {
method updateCapabilityValue (line 224) | async updateCapabilityValue(capability, value) {
method updateSettingValue (line 244) | async updateSettingValue(setting, value) {
method createDevice (line 261) | async createDevice() {
method refreshDevice (line 305) | async refreshDevice() {
method getDeviceInfo (line 333) | async getDeviceInfo() {
method pollDevice (line 350) | async pollDevice() {
method retrieveDeviceData (line 371) | async retrieveDeviceData() {
method startCapabilityListeners (line 565) | async startCapabilityListeners() {
method handleModeEvent (line 661) | async handleModeEvent(mode) {
method handleDeviceSettings (line 695) | async handleDeviceSettings() {}
method vacuumCleanerState (line 698) | async vacuumCleanerState(state) {
method vacuumConsumables (line 780) | async vacuumConsumables(consumables) {
method vacuumTotals (line 885) | async vacuumTotals(totals) {
FILE: drivers/wifi_driver.js
class MiHomeWifiDriver (line 7) | class MiHomeWifiDriver extends Homey.Driver {
method onInit (line 9) | onInit() {
method onPair (line 13) | onPair(session) {
FILE: drivers/yeelink_light_ceil43_miot/device.js
constant COLOR_TEMPERATURE_MIN (line 10) | const COLOR_TEMPERATURE_MIN = 2700;
constant COLOR_TEMPERATURE_MAX (line 11) | const COLOR_TEMPERATURE_MAX = 6500;
constant MIOT_MODE_DAY (line 12) | const MIOT_MODE_DAY = 0;
constant MIOT_MODE_NIGHT (line 13) | const MIOT_MODE_NIGHT = 1;
constant MIOT_MODE_COLOR (line 14) | const MIOT_MODE_COLOR = 2;
constant MIOT_MODE_FLOW (line 15) | const MIOT_MODE_FLOW = 3;
class YeelightArwenCeilingLightDDevice (line 49) | class YeelightArwenCeilingLightDDevice extends Device {
method onInit (line 51) | async onInit() {
method ensureCapability (line 86) | async ensureCapability(capability) {
method setMiotProperty (line 92) | async setMiotProperty(property, value) {
method onMainLightCapabilities (line 112) | async onMainLightCapabilities(valueObj) {
method onAmbientLightCapabilities (line 141) | async onAmbientLightCapabilities(valueObj) {
method getRgbIntFromCapabilities (line 163) | getRgbIntFromCapabilities(valueObj, hueCapability, saturationCapabilit...
method toCapabilityValue (line 175) | toCapabilityValue(value, fallback) {
method toHomeyLightMode (line 179) | toHomeyLightMode(mode) {
method toHomeyColorTemperature (line 183) | toHomeyColorTemperature(value) {
method toMiotColorTemperature (line 188) | toMiotColorTemperature(value) {
method updateColorCapabilities (line 193) | async updateColorCapabilities(colorValue, hueCapability, saturationCap...
method retrieveDeviceData (line 204) | async retrieveDeviceData() {
FILE: drivers/yeelink_light_ceil43_miot/driver.js
class YeelightArwenCeilingLightDDriver (line 5) | class YeelightArwenCeilingLightDDriver extends Driver {}
FILE: drivers/zhimi-fan/device.js
class ZhiMiFanDevice (line 7) | class ZhiMiFanDevice extends Device {
method onInit (line 9) | async onInit() {
FILE: drivers/zhimi-fan/driver.js
class ZhiMiFanDriver (line 5) | class ZhiMiFanDriver extends Driver {}
FILE: lib/MiHub.js
class MiHub (line 4) | class MiHub extends EventEmitter {
method constructor (line 5) | constructor(opts) {
method MiInitialize (line 16) | MiInitialize(gateways) {
method getDevice (line 50) | async getDevice(sid) {
method getDevicesByModel (line 55) | async getDevicesByModel(modelTypes) {
method getGatewayByModel (line 60) | async getGatewayByModel(modelTypes) {
method updateGateways (line 65) | updateGateways(gateways) {
method devicesReport (line 70) | devicesReport(data) {
method sendWrite (line 95) | async sendWrite(sid, data) {
method sendWriteCmd (line 99) | async sendWriteCmd(sid, data) {
method controlLightHLS (line 103) | async controlLightHLS(sid, hue, saturation, brightness) {
method controlLightRGB (line 112) | async controlLightRGB(sid, rgb) {
method controlLightPower (line 116) | async controlLightPower(sid, power) {
method controlMid (line 120) | async controlMid(sid, mid, vol) {
method getGateways (line 124) | getGateways() {
FILE: lib/util.js
class Util (line 3) | class Util {
method constructor (line 294) | constructor(opts) {
method getFriendlyNameWiFi (line 298) | getFriendlyNameWiFi(model) {
method getFriendlyNameSubdevice (line 302) | getFriendlyNameSubdevice(model) {
method normalize (line 306) | normalize(value, min, max) {
method denormalize (line 311) | denormalize(normalized, min, max) {
method getRandomTimeout (line 316) | getRandomTimeout(max) {
method clamp (line 320) | clamp(value, min, max) {
method sleep (line 324) | sleep(ms) {
Condensed preview — 711 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,355K chars).
[
{
"path": ".github/FUNDING.yml",
"chars": 28,
"preview": "custom: [paypal.me/bkubesa]\n"
},
{
"path": ".github/ISSUE_TEMPLATE/new-device.md",
"chars": 1252,
"preview": "---\nname: New Device\nabout: Request support for a new device\ntitle: ''\nlabels: feature, new device\nassignees: ''\n\n---\n\n>"
},
{
"path": ".gitignore",
"chars": 220,
"preview": "/env.json\n/node_modules/\n/.homeybuild/\n.codegpt\n/.homeybuild\n/node_modules\nappdirectory.zip\nappdirectory_working.zip\n/.h"
},
{
"path": ".homeychangelog.json",
"chars": 34854,
"preview": "{\n \"2.13.3\": {\n \"en\": \"Added a mechanism to refresh the device connection to prevent devices from not responding on "
},
{
"path": ".homeycompose/app.json",
"chars": 5119,
"preview": "{\n \"id\": \"com.xiaomi-miio\",\n \"sdk\": 3,\n \"brandColor\": \"#FF6801\",\n \"name\": {\n \"en\": \"Xiaomi Mi Home\",\n \"nl\": \"X"
},
{
"path": ".homeycompose/capabilities/airfryer_careli_food_quantity.json",
"chars": 2135,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Food Quantity\",\n \"nl\": \"Voedselhoeveelheid\",\n \"da\": \"Mad Kvantitet\",\n "
},
{
"path": ".homeycompose/capabilities/airfryer_careli_mode.json",
"chars": 4421,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Air Fryer Mode\",\n \"nl\": \"Air Fryer Mode\",\n \"da\": \"Airfryer-tilstand\",\n"
},
{
"path": ".homeycompose/capabilities/airfryer_careli_target_temperature.json",
"chars": 760,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Target Temperature\",\n \"nl\": \"Target Temperature\",\n \"da\": \"Måltempera"
},
{
"path": ".homeycompose/capabilities/airfryer_careli_target_time.json",
"chars": 734,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Target time\",\n \"nl\": \"Target time\",\n \"da\": \"Måletid\",\n \"de\": \"Zie"
},
{
"path": ".homeycompose/capabilities/airpurifier_heater_mode.json",
"chars": 1967,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Air Purifier Heating Mode\",\n \"nl\": \"Air Purifier verwarming modus\",\n \""
},
{
"path": ".homeycompose/capabilities/airpurifier_mode.json",
"chars": 3085,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/airpurifier_xiaomi_fanlevel.json",
"chars": 489,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Fan Level\",\n \"nl\": \"Fan Level\",\n \"da\": \"Ventilatorniveau\",\n \"de\":"
},
{
"path": ".homeycompose/capabilities/airpurifier_zhimi_airfresh_mode.json",
"chars": 2550,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Air Fresh Mode\",\n \"nl\": \"Air Fresh Mode\",\n \"da\": \"Luftfriskningstilsta"
},
{
"path": ".homeycompose/capabilities/airpurifier_zhimi_airpurifier_mb3_mode.json",
"chars": 2053,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"de\": \"Modus\",\n \"da\": \"Tilstand\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/airpurifier_zhimi_fanlevel.json",
"chars": 1535,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Fan Level\",\n \"nl\": \"Fan Level\",\n \"da\": \"Ventilatorniveau\",\n \"de\": \""
},
{
"path": ".homeycompose/capabilities/airpurifier_zhimi_mode.json",
"chars": 1714,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/alarm_desiccant_low.json",
"chars": 128,
"preview": "{\n \"type\": \"boolean\",\n \"title\": { \"en\": \"Desiccant Low\" },\n \"getable\": true,\n \"setable\": false,\n \"uiComponent\": \"se"
},
{
"path": ".homeycompose/capabilities/alarm_filter_work_time.json",
"chars": 451,
"preview": "{\n \"title\": {\n \"en\": \"Filter Alert\",\n \"nl\": \"Filter waarschuwing\",\n \"da\": \"Filteralarm\",\n \"de\": \"Filteralar"
},
{
"path": ".homeycompose/capabilities/alarm_main_brush_work_time.json",
"chars": 544,
"preview": "{\n \"title\": {\n \"en\": \"Main Brush Alert\",\n \"nl\": \"Hoofdborstel waarschuwing\",\n \"da\": \"Hovedbørstealarm\",\n \"d"
},
{
"path": ".homeycompose/capabilities/alarm_sensor_dirty_time.json",
"chars": 458,
"preview": "{\n \"title\": {\n \"en\": \"Sensor Alert\",\n \"nl\": \"Sensor waarschuwing\",\n \"da\": \"Sensoralarm\",\n \"de\": \"Sensoralar"
},
{
"path": ".homeycompose/capabilities/alarm_side_brush_work_time.json",
"chars": 549,
"preview": "{\n \"title\": {\n \"en\": \"Side Brush Alert\",\n \"nl\": \"Zijborstel waarschuwing\",\n \"da\": \"Sidebørste Advarsel\",\n \""
},
{
"path": ".homeycompose/capabilities/alarm_water_shortage.json",
"chars": 578,
"preview": "{\n \"type\": \"boolean\",\n \"title\": {\n \"en\": \"Water Shortage Alarm\",\n \"nl\": \"Watertekort Alarm\",\n \"da\": \"Vandmang"
},
{
"path": ".homeycompose/capabilities/dehumidifier_dmaker_mode.json",
"chars": 1491,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/diffuser_xwhzp_fragrance_out_time.json",
"chars": 761,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Fragrance Out Time\",\n \"nl\": \"Geurafgifte tijd\",\n \"da\": \"Duftudslipst"
},
{
"path": ".homeycompose/capabilities/diffuser_xwhzp_mode.json",
"chars": 1043,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/fan_dmaker_mode.json",
"chars": 2227,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/fan_zhimi_angle.json",
"chars": 2337,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Swing Angle\",\n \"nl\": \"Draaihoek\",\n \"da\": \"Svingvinkel\",\n \"de\": \"Sch"
},
{
"path": ".homeycompose/capabilities/fan_zhimi_mode.json",
"chars": 1178,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/heater_zhimi_heater_target_temperature.json",
"chars": 801,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Target Temperature\",\n \"nl\": \"Target Temperature\",\n \"da\": \"Mål Temper"
},
{
"path": ".homeycompose/capabilities/heater_zhimi_heatlevel.json",
"chars": 1074,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Heatlevel\",\n \"nl\": \"Hitte stand\",\n \"da\": \"Varmeniveau\",\n \"de\": \"Hei"
},
{
"path": ".homeycompose/capabilities/heater_zhimi_oscillation.json",
"chars": 455,
"preview": "{\n \"type\": \"boolean\",\n \"title\": {\n \"en\": \"Oscillation\",\n \"nl\": \"Oscillatie\",\n \"da\": \"Oscillation\",\n \"de\": "
},
{
"path": ".homeycompose/capabilities/humidifier2_mode.json",
"chars": 2366,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/humidifier_deerma_jsq_mode.json",
"chars": 2018,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/humidifier_leshow_jsq1_mode.json",
"chars": 1502,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/humidifier_water_level_state.json",
"chars": 493,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Water level state\"\n },\n \"desc\": {\n \"en\": \"Indicates the current water l"
},
{
"path": ".homeycompose/capabilities/humidifier_xiaomi_mode.json",
"chars": 2641,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Mode\",\n \"de\": \"Modus\",\n \"es\": \"Mo"
},
{
"path": ".homeycompose/capabilities/humidifier_zhimi_mode.json",
"chars": 2355,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/humidifier_zhimi_mode_miot.json",
"chars": 1750,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/measure_desiccant.json",
"chars": 197,
"preview": "{\n \"type\": \"number\",\n \"title\": { \"en\": \"Desiccant Left\" },\n \"getable\": true,\n \"setable\": false,\n \"units\": { \"en\": \""
},
{
"path": ".homeycompose/capabilities/measure_desiccant_time.json",
"chars": 191,
"preview": "{\n \"type\": \"number\",\n \"title\": { \"en\": \"Desiccant Time Left\" },\n \"getable\": true,\n \"setable\": false,\n \"units\": { \"e"
},
{
"path": ".homeycompose/capabilities/measure_filter_days_left.json",
"chars": 636,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Filter Days Left\",\n \"nl\": \"Filterdagen resterend\",\n \"da\": \"Filtrets "
},
{
"path": ".homeycompose/capabilities/measure_filter_life.json",
"chars": 622,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Filter Life (%)\",\n \"nl\": \"Filter Levensduur (%)\",\n \"da\": \"Filterleve"
},
{
"path": ".homeycompose/capabilities/measure_gas_density.json",
"chars": 685,
"preview": "{\n \"title\": {\n \"en\": \"Gas Density\",\n \"nl\": \"Gas dichtheid\",\n \"da\": \"Gasdensitet\",\n \"de\": \"Gasdichte\",\n \""
},
{
"path": ".homeycompose/capabilities/measure_smoke_density.json",
"chars": 672,
"preview": "{\n \"title\": {\n \"en\": \"Smoke Density\",\n \"nl\": \"Rook dichtheid\",\n \"da\": \"Røgtæthed\",\n \"de\": \"Rauchdichte\",\n "
},
{
"path": ".homeycompose/capabilities/measure_target_humidity.json",
"chars": 258,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Target humidity\"\n },\n \"desc\": {\n \"en\": \"Target humidity for Insights\""
},
{
"path": ".homeycompose/capabilities/measure_tvoc.json",
"chars": 645,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"TVOC\",\n \"nl\": \"TVOC\",\n \"da\": \"TVOC\",\n \"de\": \"TVOC\",\n \"es\": \"TV"
},
{
"path": ".homeycompose/capabilities/measure_waterlevel.json",
"chars": 669,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Waterlevel\",\n \"nl\": \"Waterniveau\",\n \"da\": \"Vandstand\",\n \"de\": \"Wa"
},
{
"path": ".homeycompose/capabilities/petfeeder_busy.json",
"chars": 250,
"preview": "{\n \"type\": \"boolean\",\n \"title\": {\n \"en\": \"Feeder busy\"\n },\n \"getable\": true,\n \"setable\": false,\n \"uiComponent\":"
},
{
"path": ".homeycompose/capabilities/petfeeder_eaten_food_today.json",
"chars": 327,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Eaten Food Today\"\n },\n \"desc\": {\n \"en\": \"Food eaten since midnight\"\n "
},
{
"path": ".homeycompose/capabilities/petfeeder_eaten_food_total.json",
"chars": 249,
"preview": "{\n \"type\": \"number\",\n \"title\": { \"en\": \"Eaten Food Total\" },\n \"desc\": { \"en\": \"Cumulative eaten food reported by devi"
},
{
"path": ".homeycompose/capabilities/petfeeder_food_in_bowl.json",
"chars": 269,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Food left in bowl\"\n },\n \"units\": {\n \"en\": \"g\"\n },\n \"decimals\": 1,\n "
},
{
"path": ".homeycompose/capabilities/petfeeder_food_out_progress.json",
"chars": 212,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Food out progress\"\n },\n \"getable\": true,\n \"setable\": false,\n \"units\": "
},
{
"path": ".homeycompose/capabilities/petfeeder_food_out_status.json",
"chars": 247,
"preview": "{\n \"type\": \"enum\",\n \"title\": { \"en\": \"Food Out Status\" },\n \"getable\": true,\n \"setable\": false,\n \"values\": [\n { \""
},
{
"path": ".homeycompose/capabilities/petfeeder_foodlevel.json",
"chars": 697,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Foodlevel\",\n \"nl\": \"Voedselniveau\",\n \"da\": \"Madniveau\",\n \"de\": \"Fut"
},
{
"path": ".homeycompose/capabilities/petfeeder_heap_status.json",
"chars": 253,
"preview": "{\n \"type\": \"enum\",\n \"title\": { \"en\": \"Heap Status\" },\n \"getable\": true,\n \"setable\": false,\n \"values\": [\n { \"id\":"
},
{
"path": ".homeycompose/capabilities/petfeeder_schedule_progress.json",
"chars": 212,
"preview": "{\n \"type\": \"number\",\n \"title\": {\n \"en\": \"Schedule progress\"\n },\n \"units\": {\n \"en\": \"%\"\n },\n \"decimals\": 0,\n "
},
{
"path": ".homeycompose/capabilities/petfeeder_status_mode.json",
"chars": 406,
"preview": "{\n \"type\": \"enum\",\n \"title\": { \"en\": \"Feeder Status\" },\n \"getable\": true,\n \"setable\": false,\n \"values\": [\n { \"id"
},
{
"path": ".homeycompose/capabilities/petwaterdispenser_mmgg_mode.json",
"chars": 1355,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Pet Waterdispenser Mode\",\n \"nl\": \"Pet Waterdispenser Mode\",\n \"da\": \"Kæ"
},
{
"path": ".homeycompose/capabilities/petwaterdispenser_mmgg_mode_3.json",
"chars": 1615,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Pet Fountain Mode\",\n \"nl\": \"Huisdier Fontein Modus\",\n \"da\": \"Kæledyr F"
},
{
"path": ".homeycompose/capabilities/vacuum_dreame_fanspeed.json",
"chars": 1960,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Fanspeed\",\n \"nl\": \"Fanspeed\",\n \"da\": \"Blæserhastighed\",\n \"de\": \"Lüf"
},
{
"path": ".homeycompose/capabilities/vacuum_dreame_mop_intensity.json",
"chars": 2034,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mop Intensity\",\n \"nl\": \"Dweil intensiteit\",\n \"da\": \"Mop Intensity\",\n "
},
{
"path": ".homeycompose/capabilities/vacuum_roborock_fanspeed.json",
"chars": 2183,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Fanspeed\",\n \"nl\": \"Fanspeed\",\n \"da\": \"Blæserhastighed\",\n \"de\": \"Lüf"
},
{
"path": ".homeycompose/capabilities/vacuum_roborock_mop_intensity.json",
"chars": 3018,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mop Intensity\",\n \"nl\": \"Dweil intensiteit\",\n \"da\": \"Mop intensitet\",\n "
},
{
"path": ".homeycompose/capabilities/vacuum_roidmi_fanspeed.json",
"chars": 2278,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Fanspeed\",\n \"nl\": \"Fanspeed\",\n \"da\": \"Blæserhastighed\",\n \"de\": \"Lüf"
},
{
"path": ".homeycompose/capabilities/vacuum_roidmi_mop_mode.json",
"chars": 1717,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Sweep and Mop Mode\",\n \"nl\": \"Sweep and Mop modus\",\n \"da\": \"Feje- og mo"
},
{
"path": ".homeycompose/capabilities/vacuum_roidmi_waterlevel.json",
"chars": 2187,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Fanspeed\",\n \"nl\": \"Fanspeed\",\n \"da\": \"Blæserhastighed\",\n \"de\": \"Lüf"
},
{
"path": ".homeycompose/capabilities/vacuum_viomi_mop_mode.json",
"chars": 1666,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Vacuum Mode\",\n \"nl\": \"Stofzuiger modus\",\n \"da\": \"Støvsugermodus\",\n "
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_carpet_mode_max.json",
"chars": 1887,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Carpet avoidance\",\n \"nl\": \"Tapijt vermijden\",\n \"de\": \"Teppichvermeidun"
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_cleaning_mode_max.json",
"chars": 1853,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Cleaning Power\",\n \"nl\": \"Reinigingskracht\",\n \"de\": \"Reinigungsleistung"
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_detergent_left_level.json",
"chars": 670,
"preview": "{\n \"title\": {\n \"en\": \"Water left (%)\",\n \"nl\": \"Overgebleven water (%)\",\n \"da\": \"Resterende vand (%)\",\n \"de\""
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_dust_bag_left_level.json",
"chars": 748,
"preview": "{\n \"title\": {\n \"en\": \"Dust bag left (%)\",\n \"nl\": \"Stofzak over (%)\",\n \"da\": \"Støvsugerpose tilbage (%)\",\n \""
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_mop_mode.json",
"chars": 1644,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Sweep and Mop Mode\",\n \"nl\": \"Sweep and Mop modus\",\n \"da\": \"Feje og Mop"
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_mop_mode_max.json",
"chars": 2145,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Sweep & Mop Mode\",\n \"it\": \"Modalità Spazza e Passa\",\n \"no\": \"Feie- og "
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_path_mode_max.json",
"chars": 1460,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Path Mode\",\n \"nl\": \"Padmodus\",\n \"de\": \"Pfadmodus\",\n \"da\": \"Sti mode"
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_status.json",
"chars": 470,
"preview": "{\n \"type\": \"string\",\n \"title\": {\n \"en\": \"Status / error\",\n \"nl\": \"Status / fout\",\n \"da\": \"Status / fejl\",\n "
},
{
"path": ".homeycompose/capabilities/vacuum_xiaomi_water_level_max.json",
"chars": 1514,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Water Output\",\n \"nl\": \"Wateroutput\",\n \"de\": \"Wasserausgabe\",\n \"es\":"
},
{
"path": ".homeycompose/capabilities/yeelight_ceil43_mode.json",
"chars": 1679,
"preview": "{\n \"type\": \"enum\",\n \"title\": {\n \"en\": \"Mode\",\n \"nl\": \"Modus\",\n \"da\": \"Tilstand\",\n \"de\": \"Modus\",\n \"es\":"
},
{
"path": ".homeycompose/drivers/pair/add_device/index.html",
"chars": 240,
"preview": "<script type=\"text/javascript\">\n try {\n Homey.emit('add_device', {})\n .then(result => {\n Homey.createDev"
},
{
"path": ".homeycompose/drivers/pair/pair/index.html",
"chars": 3188,
"preview": "<script type=\"text/javascript\">\n\nHomey.setTitle( __('pair.title') );\n\n$(function() {\n $('#test-connection').click(funct"
},
{
"path": ".homeycompose/drivers/pair/start/index.html",
"chars": 1035,
"preview": "<script type=\"text/javascript\">\n Homey.setTitle( __('pair.title') );\n</script>\n\n<style type=\"text/css\">.hy-tmpl-start{h"
},
{
"path": ".homeycompose/drivers/settings/address.json",
"chars": 358,
"preview": "{\n \"id\": \"address\",\n \"type\": \"text\",\n \"value\": \"0.0.0.0\",\n \"label\": {\n \"en\": \"IP Address\",\n \"nl\": \"IP adres\",\n"
},
{
"path": ".homeycompose/drivers/settings/deviceSid.json",
"chars": 390,
"preview": "{\n \"id\": \"deviceSid\",\n \"type\": \"label\",\n \"value\": \"0123456789abcd\",\n \"label\": {\n \"en\": \"Device SID\",\n \"nl\": \"A"
},
{
"path": ".homeycompose/drivers/settings/gatewaySid.json",
"chars": 387,
"preview": "{\n \"id\": \"gatewaySid\",\n \"type\": \"label\",\n \"value\": \"0123456789ab\",\n \"label\": {\n \"en\": \"Gateway SID\",\n \"nl\": \"G"
},
{
"path": ".homeycompose/drivers/settings/model.json",
"chars": 314,
"preview": "{\n \"id\": \"model\",\n \"type\": \"label\",\n \"value\": \"lumi.device\",\n \"label\": {\n \"en\": \"Model\",\n \"nl\": \"Model\",\n \""
},
{
"path": ".homeycompose/drivers/settings/modelCode.json",
"chars": 486,
"preview": "{\n \"id\": \"modelCode\",\n \"type\": \"label\",\n \"value\": \"AABBCC01LM\",\n \"label\": {\n \"en\": \"Device Model Code\",\n \"nl\":"
},
{
"path": ".homeycompose/drivers/settings/polling.json",
"chars": 489,
"preview": "{\n \"id\": \"polling\",\n \"type\": \"number\",\n \"value\": 60,\n \"attr\": {\n \"min\": 5,\n \"max\": 3600\n },\n \"label\": {\n "
},
{
"path": ".homeycompose/drivers/settings/token.json",
"chars": 438,
"preview": "{\n \"id\": \"token\",\n \"type\": \"text\",\n \"value\": \"\",\n \"label\": {\n \"en\": \"Mi Device Token\",\n \"nl\": \"Mi Apparaat Tok"
},
{
"path": ".homeycompose/drivers/templates/defaults.json",
"chars": 375,
"preview": "{\n \"icon\": \"{{driverAssetsPath}}/icon.svg\",\n \"pair\": [\n {\n \"id\": \"start\",\n \"$template\": \"start\",\n \"n"
},
{
"path": ".homeycompose/drivers/templates/defaults_subdevice.json",
"chars": 391,
"preview": "{\n \"icon\": \"{{driverAssetsPath}}/icon.svg\",\n \"pair\": [\n {\n \"id\": \"list_devices\",\n \"template\": \"list_devic"
},
{
"path": ".homeycompose/flow/actions/airpurifierSetFavorite.json",
"chars": 8038,
"preview": "{\n \"id\": \"airpurifierSetFavorite\",\n \"title\": {\n \"en\": \"Set Favorite Speed\",\n \"nl\": \"Favoriete snelheid instellen"
},
{
"path": ".homeycompose/flow/actions/airpurifierXiaomiFanlevel.json",
"chars": 2357,
"preview": "{\n \"title\": {\n \"en\": \"Set fan level\",\n \"nl\": \"Ventilatieniveau instellen\",\n \"da\": \"Indstil ventilatorniveau\",\n"
},
{
"path": ".homeycompose/flow/actions/airpurifierZhimiFanlevel.json",
"chars": 3606,
"preview": "{\n \"title\": {\n \"en\": \"Set fan level\",\n \"nl\": \"Ventilatieniveau instellen\",\n \"da\": \"Indstil ventilatorniveau\",\n"
},
{
"path": ".homeycompose/flow/actions/airpurifierZhimiMode.json",
"chars": 3651,
"preview": "{\n \"title\": {\n \"en\": \"Set mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/changeSpeed.json",
"chars": 2022,
"preview": "{\n \"id\": \"changeSpeed\",\n \"title\": {\n \"en\": \"Set Speed\",\n \"nl\": \"Stel snelheid in\",\n \"da\": \"Indstil hastighed\""
},
{
"path": ".homeycompose/flow/actions/cleanZoneVacuum.json",
"chars": 5972,
"preview": "{\n \"id\": \"cleanZoneVacuum\",\n \"title\": {\n \"en\": \"Start zone cleaning\",\n \"nl\": \"Start zone schoonmaken\",\n \"da\":"
},
{
"path": ".homeycompose/flow/actions/enableAngle.json",
"chars": 2843,
"preview": "{\n \"id\": \"enableAngle\",\n \"title\": {\n \"en\": \"Enable Oscillation\",\n \"nl\": \"Inschakelen oscillatie\",\n \"da\": \"Akt"
},
{
"path": ".homeycompose/flow/actions/enableBuzzer.json",
"chars": 3034,
"preview": "{\n \"title\": {\n \"en\": \"Enable notification sound\",\n \"nl\": \"Instellen notificatie geluid\",\n \"da\": \"Aktiver notif"
},
{
"path": ".homeycompose/flow/actions/enableChildLock.json",
"chars": 2968,
"preview": "{\n \"id\": \"enableChildLock\",\n \"title\": {\n \"en\": \"Enable Child Lock\",\n \"nl\": \"Instellen kindbeveiliging\",\n \"da\""
},
{
"path": ".homeycompose/flow/actions/enableEyecare.json",
"chars": 3155,
"preview": "{\n \"id\": \"enableEyecare\",\n \"title\": {\n \"en\": \"Switch Eyecare\",\n \"nl\": \"Eyecare schakelen\",\n \"da\": \"Skift Eyec"
},
{
"path": ".homeycompose/flow/actions/enableLED.json",
"chars": 2677,
"preview": "{\n \"title\": {\n \"en\": \"Enable LED\",\n \"nl\": \"Instellen LED\",\n \"da\": \"Aktiver LED\",\n \"de\": \"LED aktivieren\",\n "
},
{
"path": ".homeycompose/flow/actions/fanDmakerMode.json",
"chars": 2847,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/fanPowerVacuum.json",
"chars": 3899,
"preview": "{\n \"id\": \"fanPowerVacuum\",\n \"title\": {\n \"en\": \"Set Fanspeed\",\n \"nl\": \"Stel ventilator in\",\n \"da\": \"Indstil ve"
},
{
"path": ".homeycompose/flow/actions/fanZhimiMode.json",
"chars": 2771,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus einstellen\",\n"
},
{
"path": ".homeycompose/flow/actions/findVacuum.json",
"chars": 1707,
"preview": "{\n \"id\": \"findVacuum\",\n \"title\": {\n \"en\": \"Find vacuum cleaner\",\n \"nl\": \"Vind stofzuiger\",\n \"da\": \"Find støvs"
},
{
"path": ".homeycompose/flow/actions/gateway_custom_radio.json",
"chars": 4063,
"preview": "{\n \"title\": {\n \"en\": \"Play custom radio station\",\n \"nl\": \"Afspelen custom radio station\",\n \"da\": \"Afspil tilpa"
},
{
"path": ".homeycompose/flow/actions/gateway_play_effect.json",
"chars": 12076,
"preview": "{\n \"title\": {\n \"en\": \"Play effect\",\n \"nl\": \"Speel effect\",\n \"da\": \"Afspil effekt\",\n \"de\": \"Effekt abspielen"
},
{
"path": ".homeycompose/flow/actions/gateway_play_radio.json",
"chars": 11386,
"preview": "{\n \"title\": {\n \"en\": \"Play favorite radio station\",\n \"nl\": \"Afspelen favoriete radio station\",\n \"da\": \"Afspil "
},
{
"path": ".homeycompose/flow/actions/gateway_set_volume.json",
"chars": 4302,
"preview": "{\n \"title\": {\n \"en\": \"Set volume for\",\n \"nl\": \"Set volume voor\",\n \"da\": \"Indstil lydstyrke for\",\n \"de\": \"La"
},
{
"path": ".homeycompose/flow/actions/goToTargetVacuum.json",
"chars": 4888,
"preview": "{\n \"id\": \"goToTargetVacuum\",\n \"title\": {\n \"en\": \"Send vacuum cleaner to target\",\n \"nl\": \"Stuur stofzuiger naar d"
},
{
"path": ".homeycompose/flow/actions/heaterZhimiHeatlevel.json",
"chars": 2932,
"preview": "{\n \"title\": {\n \"en\": \"Set heatlevel\",\n \"nl\": \"Stel hitte in\",\n \"da\": \"Indstil varme niveau\",\n \"de\": \"Heizst"
},
{
"path": ".homeycompose/flow/actions/heaterZhimiOscillation.json",
"chars": 2892,
"preview": "{\n \"title\": {\n \"en\": \"Set oscillation\",\n \"nl\": \"Stel oscillatie in\",\n \"da\": \"Indstil oscillation\",\n \"de\": \""
},
{
"path": ".homeycompose/flow/actions/heaterZhimiTargetTemperature.json",
"chars": 2385,
"preview": "{\n \"title\": {\n \"en\": \"Set target temperature\",\n \"nl\": \"Stel doel temperatuur in\",\n \"da\": \"Indstil måletemperat"
},
{
"path": ".homeycompose/flow/actions/humidifierXiaomiMode.json",
"chars": 4639,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus einstellen\",\n"
},
{
"path": ".homeycompose/flow/actions/humidifierZhimiMode.json",
"chars": 4297,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/humidifierZhimiModeMIoT.json",
"chars": 3552,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus einstellen\",\n"
},
{
"path": ".homeycompose/flow/actions/ledAirpurifierHumidifier.json",
"chars": 3515,
"preview": "{\n \"title\": {\n \"en\": \"LED display brightness\",\n \"nl\": \"LED display helderheid\",\n \"da\": \"LED skærm lysstyrke\",\n"
},
{
"path": ".homeycompose/flow/actions/leftSwitchOff.json",
"chars": 1136,
"preview": "{\n \"id\": \"leftSwitchOff\",\n \"title\": {\n \"en\": \"Turn Left Switch Off\",\n \"nl\": \"Schakel linkerschakelaar uit\",\n "
},
{
"path": ".homeycompose/flow/actions/leftSwitchOn.json",
"chars": 1131,
"preview": "{\n \"id\": \"leftSwitchOn\",\n \"title\": {\n \"en\": \"Turn Left Switch On\",\n \"nl\": \"Schakel linkerschakelaar aan\",\n \"d"
},
{
"path": ".homeycompose/flow/actions/leftSwitchToggle.json",
"chars": 1124,
"preview": "{\n \"id\": \"leftSwitchToggle\",\n \"title\": {\n \"en\": \"Toggle Left Switch\",\n \"nl\": \"Schakel linkerschakelaar\",\n \"da"
},
{
"path": ".homeycompose/flow/actions/modeAirpurifier.json",
"chars": 5201,
"preview": "{\n \"title\": {\n \"en\": \"Set mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/modeAirpurifierV7.json",
"chars": 3309,
"preview": "{\n \"id\": \"modeAirpurifierV7\",\n \"title\": {\n \"en\": \"Set mode (v7)\",\n \"nl\": \"Stel modus in (v7)\",\n \"da\": \"Indsti"
},
{
"path": ".homeycompose/flow/actions/modeDehumidifierDmaker.json",
"chars": 3228,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus einstellen\",\n"
},
{
"path": ".homeycompose/flow/actions/modeDiffuserXwhzp.json",
"chars": 1367,
"preview": "{\n \"id\": \"modeDiffuserXwhzp\",\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Saet tilstand\",\n"
},
{
"path": ".homeycompose/flow/actions/modeDmakerFan.json",
"chars": 2715,
"preview": "{\n \"id\": \"modeDmakerFan\",\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n "
},
{
"path": ".homeycompose/flow/actions/modeEyecare.json",
"chars": 3239,
"preview": "{\n \"id\": \"modeEyecare\",\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n "
},
{
"path": ".homeycompose/flow/actions/modeHumidifierDeerma.json",
"chars": 3561,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/modeHumidifierLeshowJSQ1.json",
"chars": 3282,
"preview": "{\n \"id\": \"modeHumidifierLeshowJSQ1\",\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilst"
},
{
"path": ".homeycompose/flow/actions/modeVacuumMop.json",
"chars": 3247,
"preview": "{\n \"id\": \"modeVacuumMop\",\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n "
},
{
"path": ".homeycompose/flow/actions/modeZhimiAirfresh.json",
"chars": 4472,
"preview": "{\n \"title\": {\n \"en\": \"Set Mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Indstil tilstand\",\n \"de\": \"Modus einstelle"
},
{
"path": ".homeycompose/flow/actions/petfeederCalibrate.json",
"chars": 277,
"preview": "{\n \"title\": {\n \"en\": \"Calibrate feeder scale\"\n },\n \"args\": [\n {\n \"name\": \"device\",\n \"type\": \"device\","
},
{
"path": ".homeycompose/flow/actions/petfeederDisplaySchedule.json",
"chars": 645,
"preview": "{\n \"title\": {\n \"en\": \"Set display schedule progress\"\n },\n \"titleFormatted\": {\n \"en\": \"Display progress [[enable"
},
{
"path": ".homeycompose/flow/actions/petfeederServeFood.json",
"chars": 2225,
"preview": "{\n \"title\": {\n \"en\": \"Serve food\",\n \"nl\": \"Voedsel serveren\",\n \"da\": \"Server mad\",\n \"de\": \"Essen servieren\""
},
{
"path": ".homeycompose/flow/actions/petwaterdispenserMmggMode.json",
"chars": 2779,
"preview": "{\n \"title\": {\n \"en\": \"Set mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus einstellen\",\n"
},
{
"path": ".homeycompose/flow/actions/petwaterdispenserMmggMode_Xiaomi.json",
"chars": 3401,
"preview": "{\n \"title\": {\n \"en\": \"Set mode\",\n \"nl\": \"Stel modus in\",\n \"da\": \"Sæt tilstand\",\n \"de\": \"Modus ein"
},
{
"path": ".homeycompose/flow/actions/remote_send_ir_code.json",
"chars": 2048,
"preview": "{\n \"title\": {\n \"en\": \"Send IR code\",\n \"nl\": \"IR code versturen\",\n \"da\": \"Send IR-kode\",\n \"de\": \"IR-Code sen"
},
{
"path": ".homeycompose/flow/actions/rightSwitchOff.json",
"chars": 1122,
"preview": "{\n \"id\": \"rightSwitchOff\",\n \"title\": {\n \"en\": \"Turn Right Switch Off\",\n \"nl\": \"Schakel rechterschakelaar uit\",\n "
},
{
"path": ".homeycompose/flow/actions/rightSwitchOn.json",
"chars": 1118,
"preview": "{\n \"id\": \"rightSwitchOn\",\n \"title\": {\n \"en\": \"Turn Right Switch On\",\n \"nl\": \"Schakel rechterschakelaar aan\",\n "
},
{
"path": ".homeycompose/flow/actions/rightSwitchToggle.json",
"chars": 1135,
"preview": "{\n \"id\": \"rightSwitchToggle\",\n \"title\": {\n \"en\": \"Toggle Right Switch\",\n \"nl\": \"Schakel rechterschakelaar\",\n "
},
{
"path": ".homeycompose/flow/actions/rotateLeftStep.json",
"chars": 373,
"preview": "{\n \"title\": { \"en\": \"Rotate fan to the left\", \"de\": \"Lüfter nach links drehen\" },\n \"titleFormatted\": { \"en\": \"Rotate f"
},
{
"path": ".homeycompose/flow/actions/rotateRightStep.json",
"chars": 377,
"preview": "{\n \"title\": { \"en\": \"Rotate fan to the right\", \"de\": \"Lüfter nach rechts drehen\" },\n \"titleFormatted\": { \"en\": \"Rotate"
},
{
"path": ".homeycompose/flow/actions/setAngle.json",
"chars": 4422,
"preview": "{\n \"title\": {\n \"en\": \"Change Oscillating Angle\",\n \"nl\": \"Wijzig oscillatie hoek\",\n \"da\": \"Skift oscillerende v"
},
{
"path": ".homeycompose/flow/actions/vacuumDreameFanspeed.json",
"chars": 4030,
"preview": "{\n \"id\": \"vacuumDreameFanspeed\",\n \"title\": {\n \"en\": \"Set Fanspeed\",\n \"nl\": \"Stel ventilator in\",\n \"da\": \"Inds"
},
{
"path": ".homeycompose/flow/actions/vacuumDreameMopIntensity.json",
"chars": 3593,
"preview": "{\n \"id\": \"vacuumDreameMopIntensity\",\n \"title\": {\n \"en\": \"Set Mop Intesity\",\n \"nl\": \"Stel dweil intensiteit in\",\n"
},
{
"path": ".homeycompose/flow/actions/vacuumRoborockFanspeed.json",
"chars": 4305,
"preview": "{\n \"id\": \"vacuumRoborockFanspeed\",\n \"title\": {\n \"en\": \"Set Fanspeed\",\n \"nl\": \"Stel ventilator in\",\n \"da\": \"In"
},
{
"path": ".homeycompose/flow/actions/vacuumRoborockMopIntensity.json",
"chars": 4031,
"preview": "{\n \"id\": \"vacuumRoborockMopIntensity\",\n \"title\": {\n \"en\": \"Set Mop Intensity\",\n \"nl\": \"Stel dweil intensiteit in"
},
{
"path": ".homeycompose/flow/actions/vacuumRoborockMopVacuumMode.json",
"chars": 9163,
"preview": "{\n \"id\": \"vacuumRoborockMopVacuumMode\",\n \"title\": {\n \"en\": \"Set mop/vacuummode and intensity\",\n \"nl\": \"Stel mop/"
},
{
"path": ".homeycompose/flow/actions/vacuumRoborockPause.json",
"chars": 1039,
"preview": "{\n \"title\": {\n \"en\": \"Pause cleaning\",\n \"nl\": \"Schoonmaken pauzeren\",\n \"da\": \"Pause rengøring\",\n \"de\": \"Rei"
},
{
"path": ".homeycompose/flow/actions/vacuumRoidmiFanspeed.json",
"chars": 4454,
"preview": "{\n \"title\": {\n \"en\": \"Set Fanspeed\",\n \"nl\": \"Stel ventilator in\",\n \"da\": \"Indstil blæserhastigheden\",\n \"de\""
},
{
"path": ".homeycompose/flow/actions/vacuumRoidmiMopMode.json",
"chars": 3710,
"preview": "{\n \"title\": {\n \"en\": \"Set Sweep and Mop Mode\",\n \"nl\": \"Stel Sweep and Mop modus in\",\n \"da\": \"Indstil Sweep og "
},
{
"path": ".homeycompose/flow/actions/vacuumRoomCleaning.json",
"chars": 3264,
"preview": "{\n \"id\": \"vacuumRoomCleaning\",\n \"title\": {\n \"en\": \"Start room cleaning\",\n \"nl\": \"Start kamer stofzuigen\",\n \"d"
},
{
"path": ".homeycompose/flow/actions/vacuumRoomCleaningRepeats.json",
"chars": 4136,
"preview": "{\n \"id\": \"vacuumRoomCleaningRepeats\",\n \"title\": {\n \"en\": \"Start repeated room cleaning\",\n \"nl\": \"Start herhaald "
},
{
"path": ".homeycompose/flow/actions/vacuumXiaomiMopMode.json",
"chars": 3537,
"preview": "{\n \"title\": {\n \"en\": \"Set Sweep and Mop Mode\",\n \"nl\": \"Stel Sweep and Mop modus in\",\n \"da\": \"Indstil Sweep og "
},
{
"path": ".homeycompose/flow/conditions/leftSwitch.json",
"chars": 1162,
"preview": "{\n \"id\": \"leftSwitch\",\n \"title\": {\n \"en\": \"Left switch !{{on|off}}\",\n \"nl\": \"Linkerschakelaar !{{aan|uit}}\",\n "
},
{
"path": ".homeycompose/flow/conditions/measure_humidity_between.json",
"chars": 5261,
"preview": "{\n \"id\": \"measure_humidity_between\",\n \"title\": {\n \"en\": \"Humidity !{{is between|is not between}}\",\n \"nl\": \"Lucht"
},
{
"path": ".homeycompose/flow/conditions/measure_temperature_between.json",
"chars": 5307,
"preview": "{\n \"id\": \"measure_temperature_between\",\n \"title\": {\n \"en\": \"Temperature !{{is between|is not between}}\",\n \"nl\": "
},
{
"path": ".homeycompose/flow/conditions/rightSwitch.json",
"chars": 1208,
"preview": "{\n \"id\": \"rightSwitch\",\n \"title\": {\n \"en\": \"Right switch !{{on|off}}\",\n \"nl\": \"Rechterschakelaar !{{aan|uit}}\",\n"
},
{
"path": ".homeycompose/flow/triggers/alertVacuum.json",
"chars": 2102,
"preview": "{\n \"id\": \"alertVacuum\",\n \"title\": {\n \"en\": \"Consumable Alert\",\n \"nl\": \"Verbruiksartikel waarschuwing\",\n \"da\":"
},
{
"path": ".homeycompose/flow/triggers/alert_cube.json",
"chars": 870,
"preview": "{\n \"id\": \"alert_cube\",\n \"title\": {\n \"en\": \"Alert\",\n \"nl\": \"Waarschuwing\",\n \"da\": \"Alarm\",\n \"de\": \"Alarm\",\n"
},
{
"path": ".homeycompose/flow/triggers/click_double.json",
"chars": 985,
"preview": "{\n \"id\": \"click_double\",\n \"title\": {\n \"en\": \"Double Click\",\n \"nl\": \"Dubbelklik\",\n \"da\": \"Dobbeltklik\",\n \"d"
},
{
"path": ".homeycompose/flow/triggers/click_double_left.json",
"chars": 1042,
"preview": "{\n \"id\": \"click_double_left\",\n \"title\": {\n \"en\": \"Left Double Click\",\n \"nl\": \"Dubbel klik links\",\n \"da\": \"Dob"
},
{
"path": ".homeycompose/flow/triggers/click_double_right.json",
"chars": 1025,
"preview": "{\n \"id\": \"click_double_right\",\n \"title\": {\n \"en\": \"Right Double Click\",\n \"nl\": \"Dubbel klik rechts\",\n \"da\": \""
},
{
"path": ".homeycompose/flow/triggers/click_long.json",
"chars": 976,
"preview": "{\n \"id\": \"click_long\",\n \"title\": {\n \"en\": \"Long Click\",\n \"nl\": \"Lange klik\",\n \"da\": \"Langt Klik\",\n \"de\": \""
},
{
"path": ".homeycompose/flow/triggers/click_long_left.json",
"chars": 1037,
"preview": "{\n \"id\": \"click_long_left\",\n \"title\": {\n \"en\": \"Left Long Click\",\n \"nl\": \"Lange klik links\",\n \"da\": \"Langt kl"
},
{
"path": ".homeycompose/flow/triggers/click_long_release.json",
"chars": 1061,
"preview": "{\n \"id\": \"click_long_release\",\n \"title\": {\n \"en\": \"Long Click Release\",\n \"nl\": \"Lange klik loslaten\",\n \"da\": "
},
{
"path": ".homeycompose/flow/triggers/click_long_right.json",
"chars": 1018,
"preview": "{\n \"id\": \"click_long_right\",\n \"title\": {\n \"en\": \"Right Long Click\",\n \"nl\": \"Lange klik rechts\",\n \"da\": \"Højre"
},
{
"path": ".homeycompose/flow/triggers/click_single.json",
"chars": 925,
"preview": "{\n \"id\": \"click_single\",\n \"title\": {\n \"en\": \"Click\",\n \"nl\": \"Klik\",\n \"da\": \"Klik\",\n \"de\": \"Klick\",\n \"es"
},
{
"path": ".homeycompose/flow/triggers/click_single_left.json",
"chars": 975,
"preview": "{\n \"id\": \"click_single_left\",\n \"title\": {\n \"en\": \"Left Click\",\n \"nl\": \"Klik links\",\n \"da\": \"Venstre klik\",\n "
},
{
"path": ".homeycompose/flow/triggers/click_single_left_right.json",
"chars": 1182,
"preview": "{\n \"id\": \"click_single_left_right\",\n \"title\": {\n \"en\": \"Left and Right Click Together\",\n \"nl\": \"Klik rechts en l"
},
{
"path": ".homeycompose/flow/triggers/click_single_right.json",
"chars": 994,
"preview": "{\n \"id\": \"click_single_right\",\n \"title\": {\n \"en\": \"Right Click\",\n \"nl\": \"Klik rechts\",\n \"da\": \"Højreklik\",\n "
},
{
"path": ".homeycompose/flow/triggers/cubeRotated.json",
"chars": 1306,
"preview": "{\n \"id\": \"cubeRotated\",\n \"title\": {\n \"en\": \"Rotated\",\n \"nl\": \"Gedraaid\",\n \"da\": \"Drejet\",\n \"de\": \"Gedreht\""
},
{
"path": ".homeycompose/flow/triggers/desiccant_low.json",
"chars": 348,
"preview": "{\n \"title\": { \"en\": \"Desiccant low\" },\n \"hint\": { \"en\": \"Triggers when desiccant level falls below the threshold.\" },"
},
{
"path": ".homeycompose/flow/triggers/eaten_food_changed.json",
"chars": 488,
"preview": "{\n \"title\": { \"en\": \"Eaten food changed\" },\n \"hint\": { \"en\": \"Triggers when eaten food telemetry changes.\" },\n \"args"
},
{
"path": ".homeycompose/flow/triggers/feeder_status_changed.json",
"chars": 441,
"preview": "{\n \"title\": { \"en\": \"Feeder status changed\" },\n \"hint\": { \"en\": \"Triggers when the feeder status (mode) changes.\" },\n"
},
{
"path": ".homeycompose/flow/triggers/flip180_cube.json",
"chars": 930,
"preview": "{\n \"id\": \"flip180_cube\",\n \"title\": {\n \"en\": \"Flip 180°\",\n \"nl\": \"180° keren\",\n \"da\": \"Vend 180°\",\n \"de\": \""
},
{
"path": ".homeycompose/flow/triggers/flip90_cube.json",
"chars": 921,
"preview": "{\n \"id\": \"flip90_cube\",\n \"title\": {\n \"en\": \"Flip 90°\",\n \"nl\": \"90° keren\",\n \"da\": \"Flip 90°\",\n \"de\": \"90° "
},
{
"path": ".homeycompose/flow/triggers/free_fall_cube.json",
"chars": 928,
"preview": "{\n \"id\": \"free_fall_cube\",\n \"title\": {\n \"en\": \"Free Fall\",\n \"nl\": \"Vrije val\",\n \"da\": \"Frit fald\",\n \"de\": "
},
{
"path": ".homeycompose/flow/triggers/gatewayLuminance.json",
"chars": 1518,
"preview": "{\n \"id\": \"gatewayLuminance\",\n \"title\": {\n \"en\": \"Luminance has changed\",\n \"nl\": \"De helderheid is veranderd\",\n "
},
{
"path": ".homeycompose/flow/triggers/humidifier2Waterlevel.json",
"chars": 2335,
"preview": "{\n \"id\": \"humidifier2Waterlevel\",\n \"title\": {\n \"en\": \"Waterlevel has changed\",\n \"nl\": \"Waterniveau is veranderd\""
},
{
"path": ".homeycompose/flow/triggers/leftSwitchOff.json",
"chars": 1088,
"preview": "{\n \"id\": \"leftSwitchOff\",\n \"title\": {\n \"en\": \"Left Switch Off\",\n \"nl\": \"Linkerschakelaar uit\",\n \"da\": \"Venstr"
},
{
"path": ".homeycompose/flow/triggers/leftSwitchOn.json",
"chars": 1092,
"preview": "{\n \"id\": \"leftSwitchOn\",\n \"title\": {\n \"en\": \"Left Switch On\",\n \"nl\": \"Linkerschakelaar aan\",\n \"da\": \"Venstre "
},
{
"path": ".homeycompose/flow/triggers/lockEvent.json",
"chars": 2740,
"preview": "{\n \"title\": {\n \"en\": \"Lock Event\",\n \"nl\": \"Lock event\",\n \"da\": \"Låsebegivenhed\",\n \"de\": \"Schlossereignis\",\n"
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion120.json",
"chars": 1249,
"preview": "{\n \"id\": \"motionSensorNoMotion120\",\n \"title\": {\n \"en\": \"No motion detected in 2 minutes\",\n \"nl\": \"Geen beweging "
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion1200.json",
"chars": 1270,
"preview": "{\n \"id\": \"motionSensorNoMotion1200\",\n \"title\": {\n \"en\": \"No motion detected in 20 minutes\",\n \"nl\": \"Geen bewegin"
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion180.json",
"chars": 1243,
"preview": "{\n \"id\": \"motionSensorNoMotion180\",\n \"title\": {\n \"en\": \"No motion detected in 3 minutes\",\n \"nl\": \"Geen beweging "
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion1800.json",
"chars": 1264,
"preview": "{\n \"id\": \"motionSensorNoMotion1800\",\n \"title\": {\n \"en\": \"No motion detected in 30 minutes\",\n \"nl\": \"Geen bewegin"
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion300.json",
"chars": 1227,
"preview": "{\n \"id\": \"motionSensorNoMotion300\",\n \"title\": {\n \"en\": \"No motion detected in 5 minutes\",\n \"nl\": \"Geen beweging "
},
{
"path": ".homeycompose/flow/triggers/motionSensorNoMotion600.json",
"chars": 1264,
"preview": "{\n \"id\": \"motionSensorNoMotion600\",\n \"title\": {\n \"en\": \"No motion detected in 10 minutes\",\n \"nl\": \"Geen beweging"
},
{
"path": ".homeycompose/flow/triggers/move_cube.json",
"chars": 866,
"preview": "{\n \"id\": \"move_cube\",\n \"title\": {\n \"en\": \"Move\",\n \"nl\": \"Verplaatsen\",\n \"da\": \"Flyt\",\n \"de\": \"Bewegen\",\n "
},
{
"path": ".homeycompose/flow/triggers/rightSwitchOff.json",
"chars": 1092,
"preview": "{\n \"id\": \"rightSwitchOff\",\n \"title\": {\n \"en\": \"Right Switch Off\",\n \"nl\": \"Rechterschakelaar uit\",\n \"da\": \"Høj"
},
{
"path": ".homeycompose/flow/triggers/rightSwitchOn.json",
"chars": 1081,
"preview": "{\n \"id\": \"rightSwitchOn\",\n \"title\": {\n \"en\": \"Right Switch On\",\n \"nl\": \"Rechterschakelaar aan\",\n \"da\": \"Højre"
},
{
"path": ".homeycompose/flow/triggers/rotate_negative_cube.json",
"chars": 1101,
"preview": "{\n \"id\": \"rotate_negative_cube\",\n \"title\": {\n \"en\": \"Rotated Anti Clockwise\",\n \"nl\": \"Rotatie tegen de klok in\","
},
{
"path": ".homeycompose/flow/triggers/rotate_positive_cube.json",
"chars": 1108,
"preview": "{\n \"id\": \"rotate_positive_cube\",\n \"title\": {\n \"en\": \"Rotated Clockwise\",\n \"nl\": \"Rotatie met de klok mee\",\n \""
},
{
"path": ".homeycompose/flow/triggers/shake.json",
"chars": 873,
"preview": "{\n \"id\": \"shake\",\n \"title\": {\n \"en\": \"Shake\",\n \"nl\": \"Schudden\",\n \"da\": \"Ryst\",\n \"de\": \"Schütteln\",\n \"e"
},
{
"path": ".homeycompose/flow/triggers/shake_air_cube.json",
"chars": 994,
"preview": "{\n \"id\": \"shake_air_cube\",\n \"title\": {\n \"en\": \"Shake in air\",\n \"nl\": \"Schudden in de lucht\",\n \"da\": \"Ryst i l"
},
{
"path": ".homeycompose/flow/triggers/statusVacuum.json",
"chars": 1585,
"preview": "{\n \"id\": \"statusVacuum\",\n \"title\": {\n \"en\": \"Status has changed\",\n \"nl\": \"Status is gewijzigd\",\n \"da\": \"Statu"
},
{
"path": ".homeycompose/flow/triggers/tap_twice_cube.json",
"chars": 957,
"preview": "{\n \"id\": \"tap_twice_cube\",\n \"title\": {\n \"en\": \"Tap twice\",\n \"nl\": \"2x tikken\",\n \"da\": \"Tryk to gange\",\n \"d"
},
{
"path": ".homeycompose/flow/triggers/triggerModeChanged.json",
"chars": 2455,
"preview": "{\n \"title\": {\n \"en\": \"Mode has changed\",\n \"nl\": \"Modus gewijzigd\",\n \"de\": \"Modus hat sich geändert\",\n \"da\":"
},
{
"path": ".homeycompose/flow/triggers/triggerPlugInUse.json",
"chars": 903,
"preview": "{\n \"id\": \"triggerPlugInUse\",\n \"title\": {\n \"en\": \"In use\",\n \"nl\": \"In gebruik\",\n \"da\": \"I brug\",\n \"de\": \"In"
},
{
"path": ".homeycompose/flow/triggers/triggerVacuumRoomSegments.json",
"chars": 1625,
"preview": "{\n \"id\": \"triggerVacuumRoomSegments\",\n \"title\": {\n \"en\": \"Room segments has changed\",\n \"nl\": \"Kamer segmenten is"
},
{
"path": ".homeycompose/flow/triggers/triggerVibrationFreeFallAlarm.json",
"chars": 947,
"preview": "{\n \"id\": \"triggerVibrationFreeFallAlarm\",\n \"title\": {\n \"en\": \"Free Fall\",\n \"nl\": \"Vrije val\",\n \"da\": \"Frit fa"
}
]
// ... and 511 more files (download for full content)
About this extraction
This page contains the full source code of the jghaanstra/com.xiaomi-miio GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 711 files (2.8 MB), approximately 768.1k tokens, and a symbol index with 583 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.