Skip to content

Commit

Permalink
feat: improve config flow devices filter
Browse files Browse the repository at this point in the history
  • Loading branch information
topsworld committed Dec 23, 2024
1 parent 5d9a00d commit 13d76b6
Show file tree
Hide file tree
Showing 23 changed files with 164 additions and 100 deletions.
199 changes: 104 additions & 95 deletions custom_components/xiaomi_home/config_flow.py

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "automatisch",
"cloud": "Cloud"
},
"statistics_logic": {
"or": "ODER-Logik",
"and": "UND-Logik"
},
"filter_mode": {
"exclude": "ausschließen",
"include": "einschließen"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "Auto",
"cloud": "Cloud"
},
"statistics_logic": {
"or": "OR logic",
"and": "AND logic"
},
"filter_mode": {
"exclude": "Exclude",
"include": "Include"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "automático",
"cloud": "nube"
},
"statistics_logic": {
"or": "lógica OR",
"and": "lógica AND"
},
"filter_mode": {
"exclude": "excluir",
"include": "incluir"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "automatique",
"cloud": "cloud"
},
"statistics_logic": {
"or": "ou logique",
"and": "et logique"
},
"filter_mode": {
"exclude": "exclure",
"include": "inclure"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "自動",
"cloud": "クラウド"
},
"statistics_logic": {
"or": "ORロジック",
"and": "ANDロジック"
},
"filter_mode": {
"exclude": "除外",
"include": "含む"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "Automatisch",
"cloud": "Cloud"
},
"statistics_logic": {
"or": "OF-logica",
"and": "EN-logica"
},
"filter_mode": {
"exclude": "Uitsluiten",
"include": "Inclusief"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/pt-BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "automático",
"cloud": "nuvem"
},
"statistics_logic": {
"or": "lógica OU",
"and": "lógica E"
},
"filter_mode": {
"exclude": "excluir",
"include": "incluir"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "Automático",
"cloud": "Nuvem"
},
"statistics_logic": {
"or": "Ou lógica",
"and": "E lógica"
},
"filter_mode": {
"exclude": "Excluir",
"include": "Incluir"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "автоматический",
"cloud": "облако"
},
"statistics_logic": {
"or": "логика ИЛИ",
"and": "логика И"
},
"filter_mode": {
"exclude": "исключить",
"include": "включить"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/zh-Hans.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
"room": "房间名 (卧室)",
"home": "家庭名 (米家)"
},
"statistics_logic": {
"or": "或逻辑",
"and": "与逻辑"
},
"filter_mode": {
"exclude": "排除",
"include": "包含"
Expand Down
4 changes: 4 additions & 0 deletions custom_components/xiaomi_home/miot/i18n/zh-Hant.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
"auto": "自動",
"cloud": "雲端"
},
"statistics_logic": {
"or": "或邏輯",
"and": "與邏輯"
},
"filter_mode": {
"exclude": "排除",
"include": "包含"
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Geräte filtern",
"description": "## Gebrauchsanweisung\r\n- Unterstützt das Filtern von Geräten nach Raumnamen und Gerätetypen sowie das Filtern nach Gerätedimensionen.\r\n- Sie können auch die entsprechende Integrationsoption \"Konfiguration> Geräteliste aktualisieren\" aufrufen, um die Filterung erneut durchzuführen.",
"data": {
"statistics_logic": "Statistiklogik",
"room_filter_mode": "Familienraum filtern",
"room_list": "Familienraum",
"type_filter_mode": "Gerätetyp filtern",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Filter Devices",
"description": "## Introduction\r\n- Supports filtering devices by room name and device type, and also supports device dimension filtering.\r\n- You can also re-filter on the corresponding integration page [Configuration>Update Device List].",
"data": {
"statistics_logic": "Statistics Logic",
"room_filter_mode": "Filter Family Rooms",
"room_list": "Family Rooms",
"type_filter_mode": "Filter Device Connect Type",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Filtrar Dispositivos",
"description": "## Introducción\r\n- Admite la filtración de dispositivos por nombre de habitación y tipo de dispositivo, y también admite la filtración por familia.\r\n- También puede volver a filtrar en la página correspondiente de la integración [Configuración>Actualizar lista de dispositivos].",
"data": {
"statistics_logic": "Lógica de Estadísticas",
"room_filter_mode": "Filtrar Habitaciones de la Familia",
"room_list": "Habitaciones de la Familia",
"type_filter_mode": "Filtrar Tipo de Dispositivo",
Expand Down
3 changes: 2 additions & 1 deletion custom_components/xiaomi_home/translations/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
},
"advanced_options": {
"title": "Paramètres Avancés",
"description": "## Introduction\r\n### Sauf si vous comprenez très bien la signification des options suivantes, veuillez les laisser par défaut.\r\n###Filtrer les appareils\r\nPrend en charge le filtrage des appareils en fonction du nom de la pièce et du type d'appareil, ainsi que le filtrage basé sur les appareils.\r\n### Mode de Contrôle\r\n- Automatique : Lorsqu'une passerelle Xiaomi est disponible dans le réseau local, Home Assistant enverra les commandes de contrôle des appareils via la passerelle pour permettre le contrôle local. Si aucune passerelle n'est disponible dans le réseau local, Home Assistant essaiera d'envoyer les commandes de contrôle des appareils via le protocole OT Xiaomi pour permettre le contrôle local. Seules si les conditions de contrôle local ci-dessus ne sont pas remplies, les commandes de contrôle des appareils seront envoyées via le cloud.\r\n- Cloud : Les commandes de contrôle des appareils sont envoyées uniquement via le cloud.\r\n### Mode de Débogage d’Actions\r\nPour les méthodes définies par les appareils MIoT-Spec-V2, en plus de générer une entité de notification, une entité de champ de texte sera également générée pour vous permettre d'envoyer des commandes de contrôle aux appareils lors du débogage.\r\n### Masquer les Entités Non Standard\r\nMasquer les entités générées par des instances MIoT-Spec-V2 non standard et commençant par \"*\".",
"description": "## Introduction\r\n### Sauf si vous comprenez très bien la signification des options suivantes, veuillez les laisser par défaut.\r\n### Filtrer les appareils\r\nPrend en charge le filtrage des appareils en fonction du nom de la pièce et du type d'appareil, ainsi que le filtrage basé sur les appareils.\r\n### Mode de Contrôle\r\n- Automatique : Lorsqu'une passerelle Xiaomi est disponible dans le réseau local, Home Assistant enverra les commandes de contrôle des appareils via la passerelle pour permettre le contrôle local. Si aucune passerelle n'est disponible dans le réseau local, Home Assistant essaiera d'envoyer les commandes de contrôle des appareils via le protocole OT Xiaomi pour permettre le contrôle local. Seules si les conditions de contrôle local ci-dessus ne sont pas remplies, les commandes de contrôle des appareils seront envoyées via le cloud.\r\n- Cloud : Les commandes de contrôle des appareils sont envoyées uniquement via le cloud.\r\n### Mode de Débogage d’Actions\r\nPour les méthodes définies par les appareils MIoT-Spec-V2, en plus de générer une entité de notification, une entité de champ de texte sera également générée pour vous permettre d'envoyer des commandes de contrôle aux appareils lors du débogage.\r\n### Masquer les Entités Non Standard\r\nMasquer les entités générées par des instances MIoT-Spec-V2 non standard et commençant par \"*\".",
"data": {
"devices_filter": "Filtrer les Appareils",
"ctrl_mode": "Mode de Contrôle",
Expand All @@ -45,6 +45,7 @@
"title": "Filtrer les Appareils",
"description": "## Introduction\r\n- Prend en charge le filtrage des appareils en fonction du nom de la pièce et du type d'appareil, ainsi que le filtrage basé sur les appareils.\r\n- Vous pouvez également accéder à la page de filtrage correspondante de l'intégration [Configuration> Mettre à jour la liste des appareils] pour refiltrer.",
"data": {
"statistics_logic": "Logique de Statistiques",
"room_filter_mode": "Filtrer les Pièces",
"room_list": "Pièces",
"type_filter_mode": "Filtrer les Types d'Appareils",
Expand Down
3 changes: 2 additions & 1 deletion custom_components/xiaomi_home/translations/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
},
"advanced_options": {
"title": "高度な設定オプション",
"description": "## 紹介\r\n### 以下のオプションの意味がよくわからない場合は、デフォルトのままにしてください。\r\n###デバイスのフィルタリング\r\n部屋名とデバイスタイプでデバイスをフィルタリングすることができます。デバイスの次元でフィルタリングすることもできます。\r\n### コントロールモード\r\n- 自動:ローカルネットワーク内に利用可能なXiaomi中央ゲートウェイがある場合、Home Assistantはデバイス制御命令を送信するために優先的に中央ゲートウェイを使用します。ローカルネットワークに中央ゲートウェイがない場合、Xiaomi OTプロトコルを使用してデバイス制御命令を送信し、ローカル制御機能を実現します。上記のローカル制御条件が満たされない場合のみ、デバイス制御命令はクラウドを介して送信されます。\r\n- クラウド:制御命令はクラウドを介してのみ送信されます。\r\n### Actionデバッグモード\r\nデバイスが定義するMIoT-Spec-V2のメソッドに対して、通知エンティティを生成するだけでなく、デバイスに制御命令を送信するためのテキスト入力ボックスエンティティも生成されます。デバッグ時にデバイスに制御命令を送信するために使用できます。\r\n### 非標準生成エンティティを隠す\r\n「*」で始まる名前の非標準MIoT-Spec-V2インスタンスによって生成されたエンティティを非表示にします。",
"description": "## 紹介\r\n### 以下のオプションの意味がよくわからない場合は、デフォルトのままにしてください。\r\n### デバイスのフィルタリング\r\n部屋名とデバイスタイプでデバイスをフィルタリングすることができます。デバイスの次元でフィルタリングすることもできます。\r\n### コントロールモード\r\n- 自動:ローカルネットワーク内に利用可能なXiaomi中央ゲートウェイがある場合、Home Assistantはデバイス制御命令を送信するために優先的に中央ゲートウェイを使用します。ローカルネットワークに中央ゲートウェイがない場合、Xiaomi OTプロトコルを使用してデバイス制御命令を送信し、ローカル制御機能を実現します。上記のローカル制御条件が満たされない場合のみ、デバイス制御命令はクラウドを介して送信されます。\r\n- クラウド:制御命令はクラウドを介してのみ送信されます。\r\n### Actionデバッグモード\r\nデバイスが定義するMIoT-Spec-V2のメソッドに対して、通知エンティティを生成するだけでなく、デバイスに制御命令を送信するためのテキスト入力ボックスエンティティも生成されます。デバッグ時にデバイスに制御命令を送信するために使用できます。\r\n### 非標準生成エンティティを隠す\r\n「*」で始まる名前の非標準MIoT-Spec-V2インスタンスによって生成されたエンティティを非表示にします。",
"data": {
"devices_filter": "デバイスをフィルタリング",
"ctrl_mode": "コントロールモード",
Expand All @@ -45,6 +45,7 @@
"title": "デバイスをフィルタリング",
"description": "## 紹介\r\n- 部屋名とデバイスタイプでデバイスをフィルタリングすることができます。デバイスの次元でフィルタリングすることもできます。\r\n- 対応する統合項目【設定>デバイスリストの更新】ページに移動して再度フィルタリングすることもできます。",
"data": {
"statistics_logic": "統計ロジック",
"room_filter_mode": "家族の部屋をフィルタリング",
"room_list": "家族の部屋",
"type_filter_mode": "デバイスタイプをフィルタリング",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Apparaten filteren",
"description": "## Inleiding\r\n- Ondersteunt het filteren van apparaten op basis van kamer- en apparaattypen, en ondersteunt ook apparaatdimensiefiltering.\r\n- U kunt ook naar de overeenkomstige integratie-item [Configuratie>Apparaatlijst bijwerken] pagina gaan om opnieuw te filteren.",
"data": {
"statistics_logic": "Statistische logica",
"room_filter_mode": "Kamerfiltermodus",
"room_list": "Kamers",
"type_filter_mode": "Apparaattypen filteren",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/pt-BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Filtrar Dispositivos",
"description": "## Introdução\r\n- Suporte para filtrar dispositivos por nome da sala e tipo de dispositivo, bem como filtragem por família.\r\n- Você também pode acessar a página correspondente da integração [Configuração>Atualizar Lista de Dispositivos] para refiltrar.",
"data": {
"statistics_logic": "Lógica de Estatísticas",
"room_filter_mode": "Filtrar por Sala",
"room_list": "Salas",
"type_filter_mode": "Filtrar por Tipo de Dispositivo",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Filtrar Dispositivos",
"description": "## Introdução\r\n- Suporta a filtragem de dispositivos por nome de sala e tipo de dispositivo, bem como a filtragem por família.\r\n- Pode também aceder à página de configuração correspondente da integração [Configuração > Atualizar Lista de Dispositivos] para refazer a filtragem.",
"data": {
"statistics_logic": "Lógica de Estatísticas",
"room_filter_mode": "Filtrar por Sala",
"room_list": "Salas",
"type_filter_mode": "Filtrar por Tipo de Dispositivo",
Expand Down
1 change: 1 addition & 0 deletions custom_components/xiaomi_home/translations/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"title": "Фильтрация устройств",
"description": "## Введение\r\n- Поддерживает фильтрацию устройств по названию комнаты и типу устройства, а также фильтрацию по уровню устройства.\r\n- Вы также можете перейти на соответствующую страницу интеграции [Настройки> Обновить список устройств], чтобы перефильтровать.",
"data": {
"statistics_logic": "Логика статистики",
"room_filter_mode": "Фильтрация по комнатам семьи",
"room_list": "Комнаты семьи",
"type_filter_mode": "Фильтрация по типу устройства",
Expand Down
5 changes: 3 additions & 2 deletions custom_components/xiaomi_home/translations/zh-Hans.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
},
"advanced_options": {
"title": "高级设置选项",
"description": "## 使用介绍\r\n### 除非您非常清楚下列选项的含义,否则请保持默认。\r\n###筛选设备\r\n支持按照房间名称和设备类型筛选设备,同时也支持设备维度筛选。\r\n### 控制模式\r\n- 自动:本地局域网内存在可用的小米中枢网关时, Home Assistant 会优先通过中枢网关发送设备控制指令,以实现本地化控制功能。本地局域网不存在中枢时,会尝试通过小米OT协议发送控制指令,以实现本地化控制功能。只有当上述本地化控制条件不满足时,设备控制指令才会通过云端发送。\r\n- 云端:控制指令仅通过云端发送。\r\n### Action 调试模式\r\n对于设备 MIoT-Spec-V2 定义的方法,在生成通知实体之外,还会生成一个文本输入框实体,您可以在调试时用它向设备发送控制指令。\r\n### 隐藏非标准生成实体\r\n隐藏名称以“*”开头的非标准 MIoT-Spec-V2 实例生成的实体。",
"description": "## 使用介绍\r\n### 除非您非常清楚下列选项的含义,否则请保持默认。\r\n### 筛选设备\r\n支持按照房间名称和设备类型筛选设备,同时也支持设备维度筛选。\r\n### 控制模式\r\n- 自动:本地局域网内存在可用的小米中枢网关时, Home Assistant 会优先通过中枢网关发送设备控制指令,以实现本地化控制功能。本地局域网不存在中枢时,会尝试通过小米OT协议发送控制指令,以实现本地化控制功能。只有当上述本地化控制条件不满足时,设备控制指令才会通过云端发送。\r\n- 云端:控制指令仅通过云端发送。\r\n### Action 调试模式\r\n对于设备 MIoT-Spec-V2 定义的方法,在生成通知实体之外,还会生成一个文本输入框实体,您可以在调试时用它向设备发送控制指令。\r\n### 隐藏非标准生成实体\r\n隐藏名称以“*”开头的非标准 MIoT-Spec-V2 实例生成的实体。",
"data": {
"devices_filter": "筛选设备",
"ctrl_mode": "控制模式",
Expand All @@ -43,8 +43,9 @@
},
"devices_filter": {
"title": "筛选设备",
"description": "## 使用介绍\r\n- 支持按照房间名称和设备类型筛选设备,同时也支持设备维度筛选\r\n- 您也可以进入对应集成项【配置>更新设备列表】页面重新筛选。",
"description": "## 使用介绍\r\n支持按照房间名称、设备接入类型、设备型号筛选设备,同时也支持设备维度筛选。\r\n- 统计优先级:排除优先级高于包含优先级,会先取包含项,然后再排除。\r\n- 筛选优先级:筛选设备>筛选设备型号>筛选设备接入类型>筛选家庭房间\r\n### 统计逻辑\r\n- 与逻辑:取所有同模式筛选项的交集。\r\n- 或逻辑:取所有同模式筛选项的并集。\r\n### 筛选模式\r\n- 排除:移除不需要的项。\r\n- 包含:包含需要的项\r\n- 您也可以进入对应集成项【配置>更新设备列表】页面重新筛选。",
"data": {
"statistics_logic": "统计逻辑",
"room_filter_mode": "筛选家庭房间",
"room_list": "家庭房间",
"type_filter_mode": "筛选设备接入类型",
Expand Down
Loading

0 comments on commit 13d76b6

Please sign in to comment.