npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-myhome-concept

v1.0.0

Published

MyHome Concept - Legrand / BTicino MyHome (OpenWebNet) plugin for Homebridge

Readme

MyHome Concept V1

homebridge-myhome-concept

npm npm

Plugin Homebridge pour les systèmes domotiques Legrand / BTicino MyHome (OpenWebNet), avec l'historique Elgato Eve pour les capteurs de contact, de mouvement et les compteurs d'énergie.

Compatible Homebridge v2 (HAP-NodeJS v1) et Homebridge v1.

Origine

MyHome Concept V1 est basé sur un fork du paquet (excellent mais non publié) de simont77, lui-même forké de angeloxx, modernisé pour Homebridge v2 et enrichi de la gestion des groupes.

Description

Legrand MyHome est une solution domotique qui gère l'éclairage (on/off/variation), la thermorégulation, les volets et portes, les systèmes de sécurité, et les capteurs de contact/mouvement.

Avec une passerelle IP installée dans votre installation et la configuration de tous les systèmes (MyHome ne supporte pas l'auto-découverte), ce plugin permet de piloter l'ensemble. Vous devez désactiver l'authentification OpenWebNet par mot de passe pour l'IP qui exécute Homebridge (ex. Raspberry Pi) ou utiliser l'authentification HMAC. Le HMAC est supporté par toutes les passerelles IP récentes, ou les plus anciennes avec un firmware à jour (ex. F454 en firmware v2).

Installation

Via l'interface Homebridge, ou en ligne de commande :

npm install -g homebridge-myhome-concept

Ajoutez la plateforme dans le config.json de votre instance Homebridge :

{
    "platforms": [{
        "platform": "LegrandMyHome",
        "ipaddress": "192.168.1.2",
        "port": 20000,
        "ownpassword": "12345",
        "setclock": true,
        "devices": [
            { "accessory": "MHRelay", "name": "Salle de bain", "address": "0/1/5" }
        ]
    }]
}

Puis redémarrez Homebridge. Voir sample_config.json pour un exemple complet.

Configuration

Seule la section platforms du config.json doit être éditée.

| Champ | Description | |---|---| | platform | Doit valoir LegrandMyHome. | | ipaddress | Adresse IP ou nom de la passerelle MyHome (ex. F454, MH201). | | port | Port OpenWebNet, en général 20000. | | ownpassword | Mot de passe OpenWebNet (par défaut 12345). | | setclock | true pour que Homebridge mette à l'heure la passerelle chaque heure. | | devices | Liste des appareils installés (voir ci-dessous). |

Chaque appareil possède au minimum : accessory (le type, voir la liste), name (nom affiché dans HomeKit) et généralement address (adresse MyHome au format B/A/PL pour les lumières et volets, ou un nombre simple/double pour les autres).

Appareils supportés

  • MHRelay — relais d'éclairage standard (ex. F411), adresse B/A/PL. Supporte frame_on / frame_off pour des trames personnalisées.
  • MHDimmer — variateur (ex. F427, F413N), adresse B/A/PL.
  • MHThermostat — thermostat piloté par une centrale 99 zones (3550), adresse = zone (1-99).
  • MHExternalThermometer — sonde externe (centrale 3550), adresse = zone (1-9).
  • MHOutlet — relais standard (non éclairage), adresse B/A/PL. Supporte les trames custom.
  • MHBlind — volet via relais d'automatisme standard (ex. F411). Propriété time = temps de course en secondes.
  • MHBlindAdvanced — volet avancé gérant la position en interne (ex. F401), adresse B/A/PL.
  • MHContactSensor / MHDryContact — capteur de contact sec (ex. 3477). Types Contact et Motion. Historique Eve supporté.
  • MHPowerMeter — uniquement avec la centrale F421. refresh = intervalle de mise à jour. Historique Eve supporté.
  • MHAlarm — testé sur centrale 3486. Surveillance de l'état uniquement (activation/désactivation non implémentées pour des raisons de sécurité).
  • MHTimedRelay — commande temporisée de relais. duration / timer = durée par défaut.
  • MHControlledLoad — contrôle de l'état des prises « load control » d'ancienne génération.
  • MHAux — événements AUX. Types leak, gas et contact.
  • MHIrrigation — MHTimedRelay adapté au service d'irrigation HomeKit.
  • MHGroup — commande de groupe OpenWebNet (#<group>). Pilote plusieurs appareils à la fois via une seule tuile HomeKit. Propriété group = numéro de groupe (1-255) et type = light (défaut, WHO=1), dimmer (variateur de groupe, WHO=1) ou blind (WHO=2). Pour les volets : invert pour inverser le sens, time (s) pour l'animation. L'état de la tuile est optimiste.

Synchronisation d'état par groupe

N'importe quel appareil (lumière, variateur, volet) peut déclarer une propriété groups (liste de numéros de groupe) :

{ "accessory": "MHDimmer", "name": "Cuisine", "address": "0/1/1", "groups": [3, 7] }

Quand une commande de groupe passe sur le bus (depuis un bouton mural, un scénario ou l'accessoire MHGroup), tous les appareils membres de ce groupe mettent automatiquement à jour leur état dans HomeKit — lumières (on/off), variateurs (on/off + luminosité) et volets (montée/descente/arrêt).

Voir sample_config.json pour les paramètres additionnels de chaque accessoire.

Appareils testés

  • F453, F454v1, MH200N et MH201 comme passerelle IP
  • F411/2 comme MHRelay, MHOutlet et MHCurtain
  • F401 comme MHBlindAdvanced
  • F416U1 comme MHDimmer
  • 3455 comme MHExternalThermometer
  • 3477 comme MHContactSensor

Compatibilité Homebridge v2

Depuis la 0.3.0, le plugin fonctionne sous Homebridge v1 et v2. Détails techniques de la migration dans MIGRATION-HOMEBRIDGE-V2.md. En résumé : enums HAP lus depuis api.hap, Service.Battery au lieu de Service.BatteryService, Buffer.from, et un shim qui réintroduit Characteristic.getValue() retiré en v2.

Bugs connus

  • Le pilotage par groupe est disponible via l'accessoire MHGroup (commande uniquement, sans retour d'état du bus).

Crédits

Disclaimer

Logiciel fourni « tel quel », sans aucune garantie. Le développement de ce module n'est pas soutenu par Legrand, BTicino ou Apple. Ces fabricants et l'auteur ne sont pas responsables des dommages directs, indirects, accessoires ou consécutifs résultant d'un défaut, d'une erreur ou d'un dysfonctionnement.

Licence

MIT