{"id":17859156,"url":"https://github.com/zmoth/mothswitch","last_synced_at":"2026-04-12T12:49:03.209Z","repository":{"id":259805788,"uuid":"879464102","full_name":"zmoth/MothSwitch","owner":"zmoth","description":"Effortlessly control your home appliances with our HomeKit-compatible smart switch.","archived":false,"fork":false,"pushed_at":"2024-11-01T10:06:58.000Z","size":10831,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-08T09:47:19.640Z","etag":null,"topics":["arduino","esp32","homekit","platformio"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zmoth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-28T00:33:09.000Z","updated_at":"2024-10-30T10:09:32.000Z","dependencies_parsed_at":"2024-11-03T05:02:47.686Z","dependency_job_id":null,"html_url":"https://github.com/zmoth/MothSwitch","commit_stats":null,"previous_names":["zmoth/mothswitch"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoth%2FMothSwitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoth%2FMothSwitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoth%2FMothSwitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zmoth%2FMothSwitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zmoth","download_url":"https://codeload.github.com/zmoth/MothSwitch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246877336,"owners_count":20848345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","esp32","homekit","platformio"],"created_at":"2024-10-28T06:03:18.902Z","updated_at":"2026-04-12T12:49:03.139Z","avatar_url":"https://github.com/zmoth.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 智能通断器\n\n## 入门\n\n智能通断器，可与苹果 HomeKit 配合使用，让你可以直接从 iPhone 或 Mac 上的“家庭”应用或通过 Siri 语音控制一个或多个电器，例如灯、风扇或车库门。\n\n要将设备与 HomeKit 一起使用，该设备必须是：\n\n1. 连接到你的家庭 WiFi，并且\n1. 与你的 HomeKit 账户配对。\n\n智能通断器通过以不同模式闪烁其状态指示灯来告诉你它在做什么。\n\n如果你是第一次配置新设备，请先阅读下面的前两节。然后按照后两部分中的说明将设备连接到你的家庭 WiFi，并使用你的 iPhone 将设备与你的 HomeKit 账户配对。\n\n## 设备状态\n\n在配置设备之前，你需要确定设备的状态。设备通过状态指示灯指示其状态，根据设备的当前状态，该 LED 可以打开、关闭、闪烁或频闪。设备的 4 个主要状态是：\n\n#### 没有 WIFI\n\n如果状态指示灯每 3 秒闪烁一次，则设备缺少任何存储的 WiFi 凭据，因此无法连接到 WiFi 网络。这是新设备以及任何已删除其 WiFi 凭据的设备的正常状态。请参阅 [设置设备的 WiFi 凭据和设置代码](#设置设备的-wifi-凭据和设置代码)，了解如何在设备上输入和存储 WiFi 网络名称和 WiFi 凭据。\n\n#### 准备配对\n\n如果状态指示灯每 3 秒闪烁两次，则设备已连接到 WiFi 网络，但尚未与苹果 HomeKit 配对。有关如何将你的设备与苹果 HomeKit 配对的说明，请参阅 [与 homekit 配对](#与-homekit-配对)。\n\n#### 已配对\n\n如果状态指示灯常亮约 10s 后熄灭，则设备已连接到本地 WiFi 网络并已与苹果 HomeKit 配对。处于这种状态的设备应该可以完全运行。\n\n#### 连接\n\n如果状态指示灯反复闪烁亮起 1 秒，然后熄灭 1 秒，则设备正在使用存储在设备上的 WiFi 凭据主动寻求连接到 WiFi 网络。设备将保持此状态，直到：\n\n- 设备成功连接到 WiFi 网络；\n- 你修改或删除设备的 WiFi 凭据并通过下面的 [设备配置模式](#设备配置模式) 重新启动设备；\n- 你执行 [恢复出厂设置](#恢复出厂设置)。\n\n## 设备配置模式\n\n设备配置模式允许你执行各种配置操作。当设备处于以下任一状态时，可以访问设备配置模式：**没有 WIFI**、**准备配对**或**已配对**。\n\n要进入设备配置模式，请按住控制按钮 3 秒钟，此时状态指示灯应开始快速闪烁（每秒 10 次）。松开按钮后，设备将切换到设备配置模式。\n\n在设备配置模式中，你可以选择五种可能的操作之一：\n\n1. **退出设备配置模式**。如果你无意中进入了设备配置模式，请选择此操作退出并返回之前的状态。\n\n1. **重启设备**。如果设备没有按预期运行，简单的重启通常可以纠正错误。\n\n1. **启动临时 WiFi 网络**。设备的临时 WiFi 网络提供了一个简单的网络界面，供你输入 WiFi 凭据并（可选）创建你自己的 HomeKit 设置代码。有关分步说明，请参阅 [设置设备的 WiFi 凭据和设置代码](#设置设备的-wifi-凭据和设置代码)。\n\n1. **取消设备与苹果 HomeKit 的配对**。在正常操作下，你可以通过 iPhone 或 Mac 上的“家庭”应用控制所有 HomeKit 设备的配对和取消配对。但是，在某些情况下，可能需要手动取消配对设备。这通常通过对设备执行完整的 [恢复出厂设置](#恢复出厂设置) 来完成，但这也会删除你的 WiFi 凭据。此操作允许你取消配对设备，同时保留所有其他设备设置。\n\n1. **擦除存储的 WiFi 凭据**。这允许你从设备中删除 WiFi 凭据，而不会丢失任何 HomeKit 配对数据，之后可以使用新的 WiFi 凭据设置设备。\n\n首次启动设备配置模式时，状态指示灯将每秒闪烁一次，表示已选择操作 1。要选择动作 2，请短暂按下并松开控制按钮。状态指示灯现在将显示双闪烁模式，闪烁之间有一秒钟的停顿，表示已选择操作 2。每次按下控制按钮都会选择下一个动作，并使状态指示灯根据动作编号闪烁。到达动作 5 后按下控制按钮可将选择返回至动作 1。\n\n要执行选定的操作，按住控制按钮 3 秒钟，此时状态指示灯将开始快速闪烁（每秒 10 次）。释放按钮后，设备将执行选定的操作，并且状态指示灯将更改模式以反映在采取操作后设备的新状态。\n\n如果在启动设备配置模式后 120 秒（2 分钟）内未执行任何操作，则会自动执行操作 1 并退出设备配置模式。\n\n## 设置设备的 WiFi 凭据和设置代码\n\n要将设备配置为连接到你的家庭 WiFi，你必须首先将你的 iPhone 直接连接到该设备，以便输入你的 WiFi 凭据。此连接是通过启动的临时 WiFi 网络建立的。\n\n要启动设备的临时 WiFi 网络，存在 2 种方式：\n\n1. 进入 [设备配置模式](#设备配置模式) 并执行操作 3。\n1. 3s 内连续开关实体按键 8 次。\n\n状态指示灯模式将变为快速双闪烁（每秒两次），确认临时 WiFi 网络已启动。\n\n接下来，导航到 iPhone 上的`设置` →`WiFi`，然后选择 **Moth 设置**网络。然后，输入 **97654321** 作为密码，然后单击加入。当你成功连接到设备时，状态指示灯将通过显着减慢其双闪烁模式来确认，每两秒重复一次，而不是每秒重复两次。\n\n确认连接后不久，你的 iPhone 应该会自动加载设置网页。从下拉框中选择你的 WiFi 网络，输入你的 WiFi 凭据，然后单击“提交”继续。或者，你可以单击“取消”终止设置过程，在这种情况下，程序会关闭其临时 WiFi 网络并重新启动设备而不进行任何更改。\n\n单击“提交”后，设备将通过尝试连接到你选择的 WiFi 网络来验证你的 WiFi 凭据。此时状态指示灯将开始闪烁 1 秒钟，然后关闭 1 秒钟，表示设备正在尝试连接。如果设备连接失败，它会每 5 秒重试一次，直到连接成功，或者你单击“取消”（这会将你带回设置页面）。\n\n如果设备成功连接到你的 WiFi 网络，它将打开一个新的网页，报告其成功。该页面还为你提供了修改设备用于将设备与苹果 HomeKit 配对的设置代码的机会。你可以选择自己的 8 位代码或将该字段留空以保留当前设置代码。首次用户可能希望将此字段留空，在这种情况下设备将使用其默认设置代码（有关默认设置代码的详细信息，请参阅 [与 HomeKit 配对](#与-homekit-配对)）。请注意，你以后可以随时更改此设置。\n\n另请注意，设备无法随时显示设置代码，因此当你将设备与苹果 HomeKit 配对时，请务必记下你选择的任何代码以供日后使用。\n\n如果你对更改感到满意，请单击“保存”以完成设置过程。设备将关闭其临时 WiFi 网络并在**连接中**状态下重新启动设备，因为它会尝试使用你刚刚保存的 WiFi 凭据连接到你的 WiFi 网络。或者，单击“取消”以重新启动设备而不进行任何更改。\n\n请注意，临时 WiFi 网络仅保持活动状态 300 秒（5 分钟）。如果你没有在这段时间内完成设置过程，设备会自动终止其临时 WiFi 网络并重新启动设备而不进行任何更改。\n\n你也可以随时通过按住控制按钮 3 秒来强制终止设置过程，此时状态指示灯将开始快速闪烁（每秒 10 次）。释放按钮后，设备将关闭其临时 WiFi 网络并重新启动设备而不进行任何更改。\n\n## 与 homekit 配对\n\n设备可以在设备处于**准备配对**状态时与苹果 HomeKit 配对。如果设备处于**没有 WIFI**，则必须先将其连接到你的家庭 WiFi，然后才能与 HomeKit 配对（请参阅 [设置设备的 WiFi 凭据和设置代码](#设置设备的-wifi-凭据和设置代码)）。如果设备已经处于**已配对**状态但未出现在 HomeKit 中，你可能需要手动取消设备配对，以便重新配对。\n\n为了减少不良行为者与 HomeKit 设备远程配对并接管控制权的可能性，HomeKit 需要使用特定于设备的设置代码来授权配对过程。这个唯一的 8 位代码不会存储在设备本身（以防止黑客提取代码），但通常会发现写在设备上的标签上。只有对标签有物理访问权限的人才能知道设置代码，因此能够将设备与 HomeKit 配对。\n\n首次运行新设备时，它默认使用 **9765-4321** 作为其设置代码。\n\n即使设备恢复出厂设置，此代码也会保留。但是，如上所述，你可以（并且应该）在你第一次设置设备时将其修改为独特的东西，或者在你丢失设置代码的任何时候，或者如果其他人设置了设备并且你不知道他们使用的代码。有关如何修改设置代码的详细信息，请参阅 [设置设备的 WiFi 凭据和设置代码](#设置设备的-wifi-凭据和设置代码)。HomeKit 不需要设备设置代码的可扫描版本。\n\n要开始配对过程，请在 iPhone 上打开“家庭”应用，选择添加配件（在 iOS 14 中，可在“家庭”应用右上角的 + 图标下找到），然后按照 iPhone 的说明扫描设置代码。\n\n- 如果你没有修改默认设置代码，请扫描上面的标签。\n- 如果你已修改设置代码，并且还使用该代码创建了可扫描标签，请立即扫描。\n- 如果你已修改设置代码但尚未创建可扫描标签，请选择指示你无法扫描代码的选项，在这种情况下，你将能够在稍后的过程中手动键入它。\n\n“家庭”应用接下来应该会显示可用 HomeKit 配件的列表。选择你的设备（如果未出现，请退出该过程并重试）。\n\n如果你已经通过可扫描标签扫描了此设备的设置代码，则“家庭”应用将开始配对过程。如果没有，它现在会要求你手动输入。\n\n按照任何剩余的“家庭”应用说明完成该过程。过程完成后，设备上的状态指示灯将变为常亮以确认其处于**已配对**状态。不久之后，你的设备应在“家庭”应用中显示为一个新的图标（或多个图标），供你控制。\n\n## 恢复出厂设置\n\n当设备处于以下任一状态时，可以恢复出厂设置：**没有 WIFI**、**准备配对**或**已配对**。要启动恢复出厂设置，请按住控制按钮 10 秒钟。三秒钟后，状态指示灯将开始快速闪烁（每秒 10 次）。不要松开按钮，否则将进入设备配置模式！\n\n10 秒后，状态指示灯将关闭。释放控制按钮后，将继续擦除所有存储的 WiFi 凭据和所有 HomeKit 配对数据（HomeKit 设置代码除外），然后重新启动设备。\n\n## 状态指示灯闪烁参考\n\n如果状态指示灯已连接并配置，设备将使用闪烁代码来指示不同的状态。\n\n| 闪光模式           | 描述                                                                                                                       |\n| :----------------- | :------------------------------------------------------------------------------------------------------------------------- |\n| 指示灯熄灭，无闪烁 | 设备已连接到 WiFi 并已配对，或设备没有电源。                                                                               |\n| 指示灯亮起，无闪烁 | 设备已连接到 WiFi 并已配对。请参阅 [准备配对](#准备配对)。                                                                 |\n| 每秒 1 秒闪烁      | 正在尝试连接到无线网络。请参阅 [连接](#连接)。                                                                             |\n| 每 1 秒闪光 3 次   | 没有无线网络。请参阅无 [没有 WIFI](#没有-wifi)。                                                                           |\n| 每 2 秒闪烁 3 次   | 请参阅 [准备配对](#准备配对)。                                                                                             |\n| 每秒 10 次闪光     | 按下控制按钮。一旦发布，设备将\u003cbr\u003e- 进入 [设备配置模式](#设备配置模式)。\u003cbr\u003e- 退出设备配置模式，根据闪烁次数执行所选操作。 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmoth%2Fmothswitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzmoth%2Fmothswitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzmoth%2Fmothswitch/lists"}