73 Commits

Author SHA1 Message Date
Li Shuzhen
c8d48625e9 Fix specs (#1567)
* fix: the playing-state property's access field of xiaomi.wifispeaker.lx04 and xiaomi.wifispeaker.lx06 (#1566)

* fix: the playing-state property's access field of xiaomi.wifispeaker.x08c

* feat: remove xiaomi.router.rd03 from UNSUPPORTED_MODELS and add era.airp.cwb03 into it

* fix: xiaomi.airc.h09h00 humidity-range unit (#1589)

* fix: add k0918.toothbrush.t700 into UNSUPPORTED_MODELS (#1585)

* fix: the playing-state property's access field of xiaomi.wifispeaker.l04m (#1596)
2026-01-07 10:04:42 +08:00
Mümin Köykıran
d4ac7a935e Feat/add turkish language (#1593)
Some checks failed
Tests / check-rule-format (push) Failing after 2s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 1s
Validate / validate-setup (push) Failing after 3s
* feat: add Turkish device translations to multi_lang.json

Added comprehensive Turkish (tr) translations for all 13 MIoT device specifications
in multi_lang.json to complete Turkish language support.

Changes:
- Added Turkish translations for all device properties, services, events, and actions
- Covers 13 device types: bath-heater, electronic-valve, fan, gateway, lock,
  plant-monitor, switch, thermostat, and vacuum
- Used proper Turkish characters (ç, ğ, ı, ö, ş, ü, İ)
- Maintained technical term consistency (Gateway→Ağ Geçidi, WiFi, IP, etc.)
- Followed formal Turkish (siz form) for professional user experience

Technical details:
- 135 lines added to multi_lang.json
- Turkish translations placed alphabetically after Russian (ru)
- JSON syntax validated successfully
- All translations follow same structure as existing languages (de, en, es, fr, ja, ru, zh-Hans, zh-Hant)

This completes the Turkish language support started in #1468, enabling Turkish-speaking
users to see device names and properties in their native language.

Users will need to update conversion rules via Integration CONFIGURE page in
Home Assistant for translations to take effect.

* feat: add comprehensive Turkish translations for vacuum devices

Added Turkish translations for 5 vacuum device models to multi_lang.json:
- Viomi V5 Pro (viomi-v38, viomi-v5): Full translation including map management
- Narwa vacuum models (narwa-001, narwa-ax11): Core features and map support
- Roidmi V60 (roidmi-v60): Complete vacuum functionality

Key translations added:
- Map management (Harita Yönetimi): Map list, active map, map name, map ID
- Battery and charging status
- Cleaning modes and suction power levels
- Consumables lifetime tracking
- Advanced settings (carpet mode, edge cleaning, obstacle detection)

This resolves Chinese text appearing in vacuum device interfaces by providing
local Turkish translations that override cloud-provided Chinese defaults.

Total vacuum devices with Turkish support: 6 models
File size: 617 lines (expanded from 442 lines)

* fix: sort multi_lang.json entries alphabetically

Sort all device URN entries in multi_lang.json to pass check-rule-format test.
Entries are now in alphabetical order as required by the test suite.

This fixes the failing GitHub Actions check-rule-format test.
2026-01-06 10:16:54 +08:00
Necroneco
ae047758de feat: add unit days to xiaomi.toothbrush.p001 (#1588)
Some checks failed
Tests / check-rule-format (push) Failing after 3s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 2s
Validate / validate-setup (push) Failing after 3s
2026-01-04 14:08:02 +08:00
Li Shuzhen
86a739b503 feat: add tv-box device as media player entity (#1562) 2025-12-18 09:04:59 +08:00
Li Shuzhen
084694c9e7 fix: string property access of daikin air-fresher and air-conditioner (#1561)
Some checks failed
Tests / check-rule-format (push) Failing after -7m40s
Validate / validate-hassfest (push) Failing after -7m40s
Validate / validate-hacs (push) Failing after -7m31s
Validate / validate-lint (push) Failing after -7m42s
Validate / validate-setup (push) Failing after -7m40s
2025-12-16 14:01:43 +08:00
Li Shuzhen
77cebb2e15 Fix specs (#1553)
* fix: daikin.aircondition.k2 property format (#1364)

* fix: daikin.airfresh.k33 property format (#1364)

* feat: xiaomi.wifispeaker.x08e is not converted to the media player entity (#1533)

* docs: FAQ local mode in README
2025-12-16 08:28:37 +08:00
Li Shuzhen
3925e12863 fix: playing state of media player entity (#1552) 2025-12-16 08:28:16 +08:00
Li Shuzhen
1b87381f43 Fix specs (#1517)
Some checks failed
Tests / check-rule-format (push) Failing after 7s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 13s
Validate / validate-lint (push) Failing after 1s
Validate / validate-setup (push) Failing after 6s
* fix: xiaomi.waterpuri.s1200g filter property unit (#1489)

* fix: xiaomi.aircondition.c24 power consumption device class (#1243)

* fix: cuco.plug.cp7pd power consumption and power value precision (#1502)

* fix: lxzn.valve.02 electricity property unit (#1514)
2025-11-24 17:11:38 +08:00
Quint Stoffers
f95c71c2ad fix: xiaomi.derh.lite temperature precision (#1505)
* fix: xiaomi.derh.lite temperature precision

Add value-range step of 0.1 for dehumidifier temperature property to preserve decimal precision.

The xiaomi.derh.lite dehumidifier was reporting temperature as integer instead of float due to the default value-range step of 1. This fix changes the step to 0.1 to allow one decimal place precision (e.g., 22.5°C instead of 23°C).

Similar to the fix for cgllc.airm.cgd1st air monitor in commit 580ff87.

* chore: sort dehumidifier entry
2025-11-17 10:48:53 +08:00
Li Shuzhen
3e33804477 Fix specs (#1496)
* fix: roidmi.vacuum.v60 duplicated service name for vacuum entity

* fix: cykj.hood.jyj22 spec urn version 4 (#1477)

* fix: lumi.motion.bmgl01 siid=2 piid=2 value-list (#1444)

* fix: ykcn.valve.cbcs power property value unit (#1488)

* fix: ainice.sensor_occupy.3b siid=2 piid=5,11,14,17 device_class (#1495)

* fix: qdhkl.airc.a42 hvac mode (#1483)
2025-11-11 08:56:33 +08:00
Mümin Köykıran
551b5cc938 feat: add Turkish language support (#1468)
Some checks failed
Tests / check-rule-format (push) Failing after 2s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 7s
Validate / validate-lint (push) Failing after -1s
Validate / validate-setup (push) Failing after 1s
* feat: add Turkish language support

Added comprehensive Turkish (tr) language translations for Xiaomi Home Integration.

Changes:
- Added custom_components/xiaomi_home/translations/tr.json with complete UI translations
- Added custom_components/xiaomi_home/miot/i18n/tr.json with MIoT-specific translations
- All placeholders, markdown formatting, and special characters preserved
- Validated against English source files for structural integrity

Technical details:
- Followed Home Assistant language code standards (ISO 639-1: tr)
- Maintained formal Turkish (siz form) for professional user experience
- Preserved all technical terms (OAuth2, MIoT-Spec-V2, MQTT, etc.)
- JSON structure validated and all keys match English version

* feat: add Turkish translations to bool_trans.yaml

Added Turkish boolean value translations for:
- default: true/false values
- contact_state: contact/no contact states
- motion_state: motion detected states
- open_close: open/close states
- yes_no: yes/no values

* docs: update README to reflect Turkish language support

Updated multiple language support section:
- Changed from 8 to 13 supported languages
- Added Turkish (tr) to the language code list
- Updated language list to include all currently supported languages:
  Italian, Dutch, Portuguese, Brazilian Portuguese, and Turkish

* fix: correct language dictionary sorting and update documentation

- Sort INTEGRATION_LANGUAGES dictionary alphabetically (tr after ru)
- Update CLAUDE.md to reflect 13 supported languages instead of 8
- Fixes test_miot_data_sort() test requirement
- No functional changes, documentation and code style improvements only

* docs: update Chinese README to reflect 13 supported languages

- Changed from 8 to 13 languages in Chinese documentation
- Added Turkish, Italian, Dutch, Portuguese, Brazilian Portuguese
- Updated language code list to include: it, nl, pt, pt-BR, tr
- Changed translation source note from "machine translation"
  to "machine translation or community contributions"
- Maintains consistency with English README.md
2025-11-10 09:50:02 +08:00
Li Shuzhen
a11c3e2fda Fix specs (#1394)
Some checks failed
Tests / check-rule-format (push) Failing after 2s
Validate / validate-hassfest (push) Failing after 1s
Validate / validate-hacs (push) Failing after 8s
Validate / validate-lint (push) Failing after 0s
Validate / validate-setup (push) Failing after 2s
* fix: xiaomi.airc.rr0r00 swing mode (#1386)

* fix: hyd.airer.lyjpro current-position (#1376)

* feat: add an alongside button entity for xiaomi.wifispeaker.l05b play action (#1372)

* fix: ignore the unsupported property 2.3 of 759413.aircondition.iez (#1391)

* fix: ignore unsupported properties of xiaomi.wifispeaker.l15a

* feat: zhimi.fan.za1 fan mode description in zh_Hans (#1424)

* fix: roidmi.vacuum.v60 siid=2 aiid=3 out field format (#1437)
2025-10-11 11:33:07 +08:00
Li Shuzhen
739998211e feat: remove VacuumEntityFeature.BATTERY from the vacuum entity (#1433)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 15s
Validate / validate-lint (push) Failing after 1s
Validate / validate-setup (push) Failing after 4s
2025-10-10 16:31:02 +08:00
Li Shuzhen
947169f18d Fix specs (#1367)
Some checks failed
Tests / check-rule-format (push) Failing after 5s
Validate / validate-hassfest (push) Failing after 3s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 3s
Validate / validate-setup (push) Failing after 5s
* fix: xiaomi.fan.p70 fan level

* fix: xiaomi.fan.p76 fan level

* fix: ignore hmpace.motion.v6nfc

* fix: xiaomi.airc.rr0r00 humidity-range

* fix: xiaomi.airc.h43h00 humidity-range

* fix: zhimi.humidifier.ca4 water level
2025-08-19 17:49:27 +08:00
Li Shuzhen
c29f7eecbd fix: delete all unsupported MIoT-Spec-V2 instances of Narwa vacuum (#1355) 2025-08-19 14:12:35 +08:00
Brandon Chen
58c671483e fix: add RETURN_HOME functionality for new vacuum cleaner model (#1344)
Some checks failed
Tests / check-rule-format (push) Failing after 4s
Validate / validate-hassfest (push) Failing after 3s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 2s
Validate / validate-setup (push) Failing after 4s
2025-08-19 10:15:01 +08:00
Li Shuzhen
3f2c2a648b Fix specs (#1329)
Some checks failed
Tests / check-rule-format (push) Failing after 4s
Validate / validate-hassfest (push) Failing after 5s
Validate / validate-hacs (push) Failing after 11s
Validate / validate-lint (push) Failing after 4s
Validate / validate-setup (push) Failing after 5s
* fix: cuco.plug.cp2d electric current (#1279)

* fix: xiaomi.fan.p45 fan level (#1291)

* docs: add necessary notices

* fix: xiaomi.aircondition.c17 humidity-range unit (#1308)

* fix: xiaomi.airc.h40h00 humidity-range unit

* fix: sanmei.valve.s1 power consumption, current and voltage (#1327)

* fix: xiaomi.aircondition.m16 humidity-range unit
2025-08-01 14:56:42 +08:00
Li Shuzhen
f3abbef94c fix: set the device on when the switch status is False or None (#1303)
Some checks failed
Tests / check-rule-format (push) Failing after 5s
Validate / validate-hassfest (push) Failing after 5s
Validate / validate-hacs (push) Failing after 11s
Validate / validate-lint (push) Failing after 3s
Validate / validate-setup (push) Failing after 5s
* fix: set the air conditioner on if its switch status property is False or None (#1277)

* feat: add a standalone switch for 090615.aircondition.ktf

* fix: add an alongside switch for juhl.aircondition.hvac (#1287)
2025-07-30 15:15:28 +08:00
Li Shuzhen
580ff87e7f fix: specs (#1256)
* fix: xiaomi.aircondition.c24 total power consumption unit (#1243)

* fix: adp.motor.adswb4 motor switch (#1257)

* docs: modify README

* fix: cgllc.airm.cgd1st environment temperature (#1270)

* fix: shhf.light.sflt11 fan switch status (#1276)
2025-07-21 16:44:47 +08:00
Li Shuzhen
981429670a feat: add an alongside switch entity for viomi.waterheater.m1 (#1255) 2025-07-15 16:26:13 +08:00
Li Shuzhen
e09676661c feat: add the watch as the device tracker entity (#1189)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
Validate / validate-hassfest (push) Failing after 6s
Validate / validate-hacs (push) Failing after 14s
Validate / validate-lint (push) Failing after 6s
Validate / validate-setup (push) Failing after 8s
2025-07-09 14:14:27 +08:00
Li Shuzhen
aebeaf0245 feat: add wifi speaker and television as the media player entity (#706) 2025-07-09 14:02:22 +08:00
Li Shuzhen
a43447ef61 Fix specs (#1236)
* fix: ignore bjkcz.curtain.kczble curtain status (#1184)

* fix: yutai.plug.fsov8m power consumption (#1229)
2025-07-09 09:14:10 +08:00
Li Shuzhen
6069eaaba8 feat: exclude unsupported model (#1205)
* feat: ignore unsupported models (#933)

* fix: remove unnecessary logs
2025-06-30 11:12:58 +08:00
天成
664787ca58 fix: ptx air-conditioner environment temperature (#1210)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
Validate / validate-hassfest (push) Failing after 5s
Validate / validate-hacs (push) Failing after 13s
Validate / validate-lint (push) Failing after 4s
Validate / validate-setup (push) Failing after 7s
* fix: ptx air-conditioner temperature #1163

* fix: environment temperature siid and piid
2025-06-27 17:52:39 +08:00
Li Shuzhen
3402587b1c Fix specs (#1187)
* fix: 090615.switch.x1tpm English switch name (#1122)

* fix: dmaker.fan.p33 fan-level (#1165)

* fix: humidity-range string value unit (#1179)
2025-06-23 16:21:39 +08:00
Li Shuzhen
028399c0b1 fix: tofan.airrtc.wk01 thermostat and air conditioner service (#1160)
Some checks failed
Tests / check-rule-format (push) Failing after 5s
Validate / validate-hassfest (push) Failing after 6s
Validate / validate-hacs (push) Failing after 12s
Validate / validate-lint (push) Failing after 5s
Validate / validate-setup (push) Failing after 7s
2025-06-19 17:07:31 +08:00
Li Shuzhen
9fdbf3dff2 fix: mrbond.airer.m1t closing status (#1134) 2025-06-12 10:41:12 +08:00
Li Shuzhen
d0508ead25 Fix specs (#1132) 2025-06-12 10:40:54 +08:00
Li Shuzhen
d05bdcbba9 fix: linp.magnet.m1 contact state in sensor text (#1116)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
Validate / validate-hassfest (push) Failing after 5s
Validate / validate-hacs (push) Failing after 12s
Validate / validate-lint (push) Failing after 4s
Validate / validate-setup (push) Failing after 6s
2025-05-29 13:32:42 +08:00
Li Shuzhen
62dd32a132 feat: add an alongside switch entity for the water heater (#1115) 2025-05-23 09:10:11 +08:00
Li Shuzhen
1bd338639b feat: modify MIoT-Spec-V2 property format (#1111) 2025-05-23 08:45:35 +08:00
Li Shuzhen
23cc1130fe Fix specs (#1110)
* fix: the power consumption, the voltage and the current of lxzn.switch.cbcsmj

* fix: the fan direction of shhf.light.sfla10

* fix: the door state value-list description in Chinese of loock.lock.t2pv1

* fix: the stepless fan level of zhimi.fan.za4

* fix: the stepless fan level of zhimi.fan.sa1
2025-05-22 11:28:37 +08:00
Li Shuzhen
f384034854 Fix specs (#1037) 2025-04-29 09:11:17 +08:00
Necroneco
db77af8a13 feat: make air-purifier as fan (#987)
Some checks failed
Tests / check-rule-format (push) Has been cancelled
Validate / validate-hassfest (push) Has been cancelled
Validate / validate-hacs (push) Has been cancelled
Validate / validate-lint (push) Has been cancelled
Validate / validate-setup (push) Has been cancelled
2025-04-27 16:11:55 +08:00
wrzsgl
a9f1fc630d fix: zhimi.fan.v3 fan level (#1033) 2025-04-27 15:40:29 +08:00
wrzsgl
2e0ea642a4 Revert "add device zhimi.fan.v3 prop.2.2" 2025-04-27 10:16:27 +08:00
wanghongjie6
d17784070d add device zhimi.fan.v3 prop.2.6 2025-04-27 09:56:05 +08:00
wanghongjie6
218c96e5e6 add device zhimi.fan.v3 prop.2.2 2025-04-25 14:33:07 +08:00
Necroneco
2f619ff51d fix: contact-state for linp.magnet.m1 and loock.safe.v1 (#977)
Some checks failed
Tests / check-rule-format (push) Has been cancelled
Validate / validate-hassfest (push) Has been cancelled
Validate / validate-hacs (push) Has been cancelled
Validate / validate-lint (push) Has been cancelled
Validate / validate-setup (push) Has been cancelled
2025-04-10 10:19:50 +08:00
Li Shuzhen
899d616da4 feat: custom defined MIoT-Spec-V2 instance (#953) 2025-04-05 11:37:17 +08:00
Necroneco
77b0a4531b fix: fix some specs (#949) 2025-04-02 08:53:15 +08:00
Li Shuzhen
a09289ef90 Fix specs (#929)
* fix: cuco.plug.cp2 voltage and power value ratio

* fix: cgllc.airmonitor.s1 unit ppb

* fix: roswan.waterpuri.lte01 tds unit

* fix: lumi.relay.c2acn01 power consumption unit

* fix: xiaomi.bhf_light.s1 fan level of ventilation

* fix: error log
2025-03-28 09:10:09 +08:00
Necroneco
b0428dc95a feat: make submersion-state, contact-state, occupancy-status as binary_sensor (#905)
Some checks are pending
Tests / check-rule-format (push) Waiting to run
Validate / validate-hassfest (push) Waiting to run
Validate / validate-hacs (push) Waiting to run
Validate / validate-lint (push) Waiting to run
Validate / validate-setup (push) Waiting to run
2025-03-27 15:45:46 +08:00
whoami
19ed04f2f5 fix: correct unit,icon and translations for hhcc-v1 (#927)
Some checks failed
Tests / check-rule-format (push) Has been cancelled
Validate / validate-hassfest (push) Has been cancelled
Validate / validate-hacs (push) Has been cancelled
Validate / validate-lint (push) Has been cancelled
Validate / validate-setup (push) Has been cancelled
2025-03-25 09:54:02 +08:00
dw881114
e174a73f52 Update spec_modify.yaml (#921)
Some checks are pending
Tests / check-rule-format (push) Waiting to run
Validate / validate-hassfest (push) Waiting to run
Validate / validate-hacs (push) Waiting to run
Validate / validate-lint (push) Waiting to run
Validate / validate-setup (push) Waiting to run
2025-03-24 16:34:48 +08:00
Li Shuzhen
372e635681 Fix specs (#910)
* fix: chuangmi.plug.212a01 power consumption value

* fix: yeelink.bhf_light.v10 mode description in English
2025-03-21 09:36:14 +08:00
Li Shuzhen
3759aa9a1b fix: climate on/off feature initialization (#899)
Some checks are pending
Tests / check-rule-format (push) Waiting to run
Validate / validate-hassfest (push) Waiting to run
Validate / validate-hacs (push) Waiting to run
Validate / validate-lint (push) Waiting to run
Validate / validate-setup (push) Waiting to run
2025-03-20 18:02:25 +08:00
Li Shuzhen
6680d9e8cb feat: add conversion rules for the air-conditioner service and the air-fresh service (#879) 2025-03-14 08:23:03 +08:00
Li Shuzhen
0ef8cb6370 fix: xiaomi.aircondition.m9 humidity-range unit (#878)
Some checks are pending
Tests / check-rule-format (push) Waiting to run
Validate / validate-hassfest (push) Waiting to run
Validate / validate-hacs (push) Waiting to run
Validate / validate-lint (push) Waiting to run
Validate / validate-setup (push) Waiting to run
2025-03-13 17:41:02 +08:00