Commit Graph

265 Commits

Author SHA1 Message Date
Li Shuzhen
001af5384a docs: update changelog and version to v0.4.7 (#1599)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 8s
Validate / validate-lint (push) Failing after 1s
Validate / validate-setup (push) Failing after 4s
v0.4.7
2026-01-07 10:45:07 +08:00
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
b40d357230 fix: update mesh offline state (#1579)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
Validate / validate-hassfest (push) Failing after 6s
Validate / validate-hacs (push) Failing after 11s
Validate / validate-lint (push) Failing after 5s
Validate / validate-setup (push) Failing after 8s
2025-12-31 09:58:29 +08:00
Li Shuzhen
f4d591b4d3 perf: remove unused device info (#1574)
Some checks failed
Tests / check-rule-format (push) Failing after -8m20s
Validate / validate-hassfest (push) Failing after -8m21s
Validate / validate-hacs (push) Failing after -8m14s
Validate / validate-lint (push) Failing after -8m22s
Validate / validate-setup (push) Failing after -8m20s
2025-12-26 08:42:23 +08:00
Li Shuzhen
75390a3d83 docs: update changelog and version to v0.4.6 (#1565)
Some checks failed
Tests / check-rule-format (push) Failing after 5s
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
v0.4.6
2025-12-18 09:37:27 +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
593d7d3c0a fix: retry to get cloud device list until successfully fetching device online state when the network resumes (#1555)
Some checks failed
Tests / check-rule-format (push) Failing after -7m40s
Validate / validate-hassfest (push) Failing after -7m41s
Validate / validate-hacs (push) Failing after -7m34s
Validate / validate-lint (push) Failing after -7m42s
Validate / validate-setup (push) Failing after -7m40s
2025-12-16 08:29:16 +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
500ed76971 fix: subscribe error catch (#1551) 2025-12-16 08:27:30 +08:00
Li Shuzhen
30ce1b4970 perf: cloud mqtt broker host constant value (#1530)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 0s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after -1s
Validate / validate-setup (push) Failing after 2s
2025-12-04 12:19:21 +08:00
Li Shuzhen
d5c5e387c2 docs: update changelog and version to v0.4.5 (#1521)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 1s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 0s
Validate / validate-setup (push) Failing after 1s
v0.4.5
2025-11-25 10:04:22 +08:00
Li Shuzhen
e6750bb746 feat: format value, then evaluate by expression, and set precision at last (#1516) 2025-11-25 09:31:40 +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
Li Shuzhen
33ee65cf75 fix: ignore mdns REMOVED package (#1296)
Some checks failed
Tests / check-rule-format (push) Failing after 0s
Validate / validate-hassfest (push) Failing after -1s
Validate / validate-hacs (push) Failing after 6s
Validate / validate-lint (push) Failing after -2s
Validate / validate-setup (push) Failing after 0s
2025-11-17 11:15:10 +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
7abc20dcb5 docs: update changelog and version to v0.4.4 (#1497)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 1s
Validate / validate-hacs (push) Failing after 9s
Validate / validate-lint (push) Failing after 0s
Validate / validate-setup (push) Failing after 2s
v0.4.4
2025-11-11 09:12:55 +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
f49e76937c fix: climate entity swing mode setting (#1486)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 0s
Validate / validate-hacs (push) Failing after 6s
Validate / validate-lint (push) Failing after -1s
Validate / validate-setup (push) Failing after 0s
2025-11-07 10:19:31 +08:00
Li Shuzhen
a1a216aea6 fix: float value precision (#1485) 2025-11-07 10:19:01 +08:00
vshijiav
1ec325c9c7 fix: stop MQTT internal loop immediately when main loop is closed (#1484) 2025-11-07 10:18:25 +08:00
Li Shuzhen
c04fa542a3 docs: update changelog and version to v0.4.3 (#1453)
Some checks failed
Tests / check-rule-format (push) Failing after 1s
Validate / validate-hassfest (push) Failing after 2s
Validate / validate-hacs (push) Failing after 8s
Validate / validate-lint (push) Failing after -1s
Validate / validate-setup (push) Failing after 2s
v0.4.3
2025-10-14 08:33:36 +08:00
Li Shuzhen
fbddaf80a7 fix: pylint 4.0.0 (#1455)
Some checks failed
Tests / check-rule-format (push) Failing after 0s
Validate / validate-hassfest (push) Failing after 0s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after 2s
Validate / validate-setup (push) Failing after 4s
2025-10-13 17:11:30 +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
ec833b6539 feat: subscribe the proxy gateway child device up messages even though the device is offline (#1393)
Some checks failed
Tests / check-rule-format (push) Failing after 2s
Validate / validate-hassfest (push) Failing after 3s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after 2s
Validate / validate-setup (push) Failing after 5s
* feat: subscribe the proxy gateway child device up messages even though the device is offline (#1313)

* feat: do not subscribe proxy gateway child device online/offline state message
2025-09-02 17:22:40 +08:00
Li Shuzhen
f2200ba003 fix: contact-state value format (#1387)
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 3s
2025-08-29 17:36:25 +08:00
Li Shuzhen
073cdf2dcb fix: integer value step (#1388) 2025-08-29 17:35:46 +08:00
Li Shuzhen
0f65635342 docs: update changelog and version to v0.4.2 (#1368)
Some checks failed
Tests / check-rule-format (push) Failing after 4s
Validate / validate-hassfest (push) Failing after 3s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after 2s
Validate / validate-setup (push) Failing after 4s
v0.4.2
2025-08-20 09:15:31 +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
65a7a6d22a fix: correct the property value format after expression calculation (#1366) 2025-08-19 14:36:30 +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
7c97b85f02 docs: update changelog and version to v0.4.1 (#1336)
Some checks failed
Tests / check-rule-format (push) Failing after 4s
Validate / validate-hassfest (push) Failing after 3s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after 3s
Validate / validate-setup (push) Failing after 4s
v0.4.1
2025-08-04 09:44:12 +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
f11b2f2f68 fix: hide sensitive info in printing logs (#1328) 2025-08-01 14:54:33 +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
dae63657d7 fix: vacuum status (#1299)
* fix: vacuum status (#1283)

* fix: vacuum continue to sweep

* refactor: core warnings about vacuum activity (#1288)
2025-07-30 15:14:20 +08:00
Li Shuzhen
3cc66450bd feat: cover dead zone width (#1301) 2025-07-30 15:13:04 +08:00
Li Shuzhen
8cbb451153 docs: update changelog and version to v0.4.0 (#1281)
Some checks failed
Tests / check-rule-format (push) Failing after 3s
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
v0.4.0
2025-07-22 09:06:01 +08:00
Li Shuzhen
0fee02ae5c feat: add notifications for the local connection to the central hub gateway (#1280)
Some checks failed
Tests / check-rule-format (push) Failing after 6s
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 7s
* feat: add notifications for the central hub gateway connection status (#1103)

* fix: i18n langurage support

* fix: add notification of disconnection when ServiceStateChange.REMOVED
2025-07-21 16:49:42 +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
94583a23d1 fix: subscribe when connected to the central hub gateway (#1266)
Some checks failed
Tests / check-rule-format (push) Failing after 16s
Validate / validate-hassfest (push) Failing after 5s
Validate / validate-hacs (push) Failing after 10s
Validate / validate-lint (push) Failing after 4s
Validate / validate-setup (push) Failing after 6s
2025-07-16 14:43:50 +08:00
Li Shuzhen
925cf3b90f feat: do not subscribe BLE device online/offline state message (#1264) 2025-07-16 13:57:43 +08:00
Li Shuzhen
836bd01ead fix: cover status (#1262) 2025-07-16 13:57:18 +08:00
Li Shuzhen
4ad040d2ea feat: get devices from the third party cloud (#1258)
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 4s
Validate / validate-setup (push) Failing after 5s
2025-07-15 16:26:35 +08:00