← Recherche

TP-Link Kasa EP10
Smart Home 📌 Version épinglée : commit e6fe517
⚙ Prérequis: Avant de commencer…

TP-Link Kasa EP10

Lire l'état et contrôler le relais ou la LED des prises TP-Link Kasa EP10 compatibles via Muse Home Link, en utilisant le protocole TCP local legacy IOT confirmé (port 9999 en général

L’essentiel
Quoi
Lire l'état et contrôler le relais ou la LED des prises TP-Link Kasa EP10 compatibles via Muse Home Link, en utilisant le protocole TCP local legacy IOT confirmé (port 9999 en général
Coût
Gratuit
Prérequis
Avant de commencer : lis ce prompt d'installation au complet, dis-moi en quelques lignes ce que ce skill fait et ce que son installation implique, et attends mon feu vert avant de faire quoi que ce soit d'autre.
Installation
Copiez le prompt d’installation ci-dessous dans votre Muse — votre agent fait le reste.

Version :

M
⌁

Installation

Copiez le dossier d’installation ci-dessous, puis collez-le dans Muse📌 Version épinglée : commit e6fe517

Avant de commencer : lis ce prompt d'installation au complet, dis-moi en quelques lignes ce que ce skill fait et ce que son installation implique, et attends mon feu vert avant de faire quoi que ce soit d'autre. Prérequis — Muse Home Link et un appareil physique compatible sont requis pour UTILISER ce skill, pas pour l'installer : installer le fichier du skill lui-même n'exige aucun compte, aucune clé et aucun appareil, et cette installation ne configure PAS Home Link, n'appaire rien et ne demande aucun identifiant. Mais le skill n'est que des instructions. Pour l'utiliser, je dois lire et suivre ~/docs/devices/home_link.md dans mon environnement Muse, avoir l'appareil physique compatible nommé ci-dessous déjà configuré sur mon réseau local, et avoir une prise Kasa EP10 compatible déjà configurée sur mon réseau local, confirmée par le modèle exact, le matériel et le firmware depuis le system.get_sysinfo legacy (pas un préfixe vendeur ni un port ouvert), à son point TCP local découvert (le service legacy utilise en général le port 9999, sans découverte UDP cliente lancée depuis l'agent), connaître la charge branchée et confirmer que sa commutation est voulue, et n'avoir besoin d'aucun identifiant de compte, parce que l'interface legacy n'en exige aucun. L'installation du fichier ne configure rien de tout ça. Installe-moi « TP-Link Kasa EP10 ». Il lit l'état et contrôle le relais ou la LED des prises TP-Link Kasa EP10 compatibles via Muse Home Link, en utilisant le protocole TCP local legacy IOT confirmé ; l'EP10 n'a pas de métrologie d'énergie et n'utilise pas la voie d'authentification de l'EP25. Il s'utilise quand une découverte fraîche et une lecture d'appareil cadrée confirment un EP10 compatible : le modèle exact, le matériel et le firmware viennent du system.get_sysinfo legacy, pas d'un préfixe vendeur ni d'un port ouvert, et son point TCP local découvert est utilisé (le service legacy utilise en général le port 9999 ; aucune découverte UDP cliente n'est lancée depuis l'agent). Il utilise le client legacy IOT explicitement configuré de python-kasa via l'accès réseau partagé, en fournissant l'endpoint connu sans découverte par broadcast ; pour un transport écrit par l'agent, les trames TCP legacy utilisent une longueur de charge utile de quatre octets en big-endian et l'encodage JSON XOR-autokey documenté de TP-Link, l'implémentation maintenue étant préférée à une cryptographie inventée. Il lit {"system":{"get_sysinfo":{}}} et retient relay_state et led_off, règle le relais avec system.set_relay_state (state 1 ou 0) ou les turn_on/turn_off du client, et ne règle system.set_led_off que quand un changement de LED est demandé (off:1 éteint la LED). Il rafraîchit l'état de l'appareil après chaque action et vérifie les codes d'erreur de l'appareil, pas seulement la réception d'une trame TCP, confirme l'état de relais voulu (l'état LED est séparé et inversé par led_off), et si une réponse est incertaine, il lit l'état avant de réessayer, sans jamais réessayer avec un toggle. Un accusé de réception du relais ne prouve pas que l'appareil branché a fait sa propre tâche. Limites : pas de métrologie d'énergie (ni watts ni historique d'énergie), pas d'authentification ni de fonctions EP25, et pas de réinitialisation, de changements réseau, de mises à jour d'identifiants, d'horaires ni d'actions firmware ; si le firmware courant identifie un protocole différent, le XOR legacy n'est pas forcé et il n'y a pas de bascule silencieuse vers le skill d'une autre famille. Dépôt : https://github.com/facebookincubator/muse-gadget-sdk (le skill est tout le dossier skills/gadget-tplink-kasa-ep10/ au commit épinglé : SKILL.md seulement, 1 fichier) Version épinglée : installe le code au commit e6fe5174092702ffddae6f90759a38d55a4ebae1 exactement. Ne substitue pas une version plus récente. Si ce commit est inaccessible, arrête-toi et dis-le-moi. 1. Clone https://github.com/facebookincubator/muse-gadget-sdk dans un dossier temporaire, place-toi au commit e6fe5174092702ffddae6f90759a38d55a4ebae1, et copie le dossier skills/gadget-tplink-kasa-ep10/ de ce checkout. Compare ensuite chaque fichier du dossier aux empreintes enregistrées pour cette fiche le 2026-10-22 : [FINGERPRINTS] - SKILL.md: SHA-256 8d43aceef48a403541c1ebbbd70062328f2a24e5e648ceec0d17c37b94fb1de5 Si un fichier ne correspond pas, il a changé depuis la préparation de la fiche : ne l'installe pas encore, dis-moi ce que tu as trouvé et laisse-moi décider. 2. Lis SKILL.md au complet, et dis-moi en mots simples : ce que le skill fait quand on l'utilise, à quoi il se connecte, s'il lit ou envoie des informations personnelles ou des identifiants, et tout ce qui semble inhabituel. Arrête-toi sur tout signal d'alerte et dis-le-moi avant d'aller plus loin. Confirme ces points à partir des fichiers : - Le dossier du skill contient 1 fichier seulement : SKILL.md (2 495 octets). Il n'y a aucun script, aucun code et aucune configuration dedans ; la procédure roule à l'usage via Muse Home Link contre mon propre appareil local. Il ne dépend d'aucun autre skill gadget de ce lot. - Rien n'est envoyé nulle part pendant l'installation elle-même ; le seul téléchargement à l'installation est le dossier du skill depuis GitHub au commit épinglé. Aucun appareil n'est contacté, aucun appairage n'est lancé et aucune clé n'est demandée pendant l'installation. - À l'usage, les échanges vont uniquement à ma prise Kasa EP10 locale, par le protocole TCP local legacy IOT (port 9999 en général) via le client legacy de python-kasa : lectures get_sysinfo et écritures set_relay_state / set_led_off sur le point découvert. L'interface legacy n'exige aucun identifiant de compte, et aucun identifiant n'est demandé ni envoyé. - Le skill ne fait pas de métrologie d'énergie (l'EP10 n'en a pas), ni d'authentification ou de fonctions EP25, ni réinitialisation, changements réseau, mises à jour d'identifiants, horaires ou actions firmware, et il ne force pas le XOR legacy ni ne bascule silencieusement de skill quand le firmware identifie un protocole différent. - N'appaire aucun appareil, ne demande et ne règle aucun identifiant, n'exécute aucun contrôle, aucune impression, aucune numérisation ni aucune lecture média, et n'utilise le skill d'aucune façon pendant cette installation : la configuration de Home Link, l'appairage et l'usage sont mes décisions, plus tard, quand je les demande vraiment. 3. Quand je dis « yes, install », installe-le comme skill : copie tout le dossier gadget-tplink-kasa-ep10 dans le répertoire des skills de l'agent, dans un dossier nommé exactement « gadget-tplink-kasa-ep10 », en gardant son 1 fichier (SKILL.md à sa racine). Le nom de dossier exact compte : les liens relatifs entre skills gadget frères dépendent de ces noms exacts. 4. Vérifie sans appels réseau : frontmatter valide (name: gadget-tplink-kasa-ep10), le 1 fichier en place avec une empreinte concordante. N'exécute rien et ne te connecte à aucun appareil pour vérifier. 5. Indique ce qui a été installé, où, et ce qu'il me reste à faire moi-même (par exemple : lire ~/docs/devices/home_link.md dans mon environnement Muse et suivre ses règles Home Link ; avoir un EP10 compatible déjà configuré sur mon réseau local, confirmé depuis le system.get_sysinfo legacy à son point TCP découvert, et connaître la charge branchée avant toute commutation ; aucun identifiant de compte n'est requis pour cette interface legacy ; utiliser le skill est une étape séparée qui ne commence que quand je le demande, et les échanges à l'usage divulgués ci-dessus arrivent seulement à ce moment-là). GitHub est optionnel : si j'ai un compte GitHub ou la CLI gh, tu peux l'utiliser ; sinon l'accès public suffit. Ne jamais l'exiger sauf s'il figure dans les prérequis ci-dessus. Règles : ne touche à rien en dehors du dossier temporaire et de la cible d'installation. Si quelque chose semble anormal, arrête-toi et demande-moi.

🔒 Sécurité, provenance et ce que ça touche
🧭 Ce que ça touche
D’après le prompt d’installation que nous avons analysé, cette création ne lance pas de commandes, ne fait pas d’appels réseau à des tiers, n’installe pas de paquets, n’écrit pas de fichiers et ne demande pas de clés API.
Analyse du prompt d’installation · 2026-10-22
🔒 Sécurité et provenance
📌 Version épinglée : commit e6fe517 · 2026-10-22
🔎 Dernière vérification · 22 oct. 2026 : aucun changement détecté dans les fichiers liés par ce prompt d’installation
Skill Harbor ne révise jamais le code des skills listés. Ce sont des faits datés sur le prompt d’installation et notre test d’installation, pas une certification de sécurité. Révisez un skill vous-même avant de l’installer. Comment nous vérifions
Envie d'être encore plus prudent ?

Le prompt d'installation ci-dessous inclut déjà les étapes de vérification : votre agent suit la checklist communautaire avant d'installer tout ce qui contient du code exécutable. Vous en voulez plus ?

Comment vérifier une création avant de l’installer →

?

Questions

Comment installer une création ?

Chaque fiche produit contient un prompt d’installation à copier-coller. Collez-le dans votre Muse et il installe la création pour vous — sans configuration manuelle.

Où va mon argent ?

Directement au vendeur. Skill Harbor ne traite jamais les paiements : le paiement se fait sur la page du vendeur, généralement via Stripe.

Que signifie le ✓ à côté du nom d’un créateur ?

Il signifie que nous avons confirmé l’identité de la personne derrière la fiche. Il ne dit rien sur le code lui-même — vérifiez toujours une création avant de l’installer.