Modern, async-native Home Assistant integration for BTicino / Legrand MyHOME SCS bus systems connected via OpenWebNet IP & Serial gateways.
Maintained by the OpenWebNet-HA community organisation.
โ๏ธ Version Comparison โข ๐งช Testing & Reliability โข ๐ฆ Installation โข ๐๏ธ Supported Hardware โข ๐ Key Features โข ๐ Full Documentation โข ๐บ๏ธ Stable v2.0.0 PR #232
Important
- Current Stable Release (v0.9.4): The baseline release on
masterfor users seeking proven production stability. Fully compatible with Home Assistant 2026.9 and earlier. HACS installs this version by default when pre-releases are not enabled. - Active Field-Testing Beta (v2.0.0b16, succeeding v2.0.0b15): Modernized async-native architecture (
OWNd 2.0.0b11), declarative HA-to-SCS busexposeengine (WHO 1/2/4/13/18), Venetian blind slat tilt, impulse gate/garage covers & door-entry locks (WHO 1/2/6/8), cover motor start-up floor & endpoint full runs, device fault repairs & ignored addresses, hardware timers, audio streaming proxy &WHO 22RDS tuner, central climate coordination, and 100.0% test statement coverage (4,393 tests inv2.0.0b16, up from 3,464 inv2.0.0b15). Built for Home Assistant โฅ 2026.3 (Python 3.14). - Roadmap to Stable v2.0.0: Once community field-testing on the beta line is concluded, PR #232 will merge the V2 architecture directly into
master, making it the official stable default for all users. - Zero-Friction Migration: Upgrading to V2 safely preserves all existing device names, custom entity IDs (
light.living_room), and gateway configurations. Unique IDs migrate automatically (MAC-WHEREโMAC-WHO-WHERE), and legacymyhome.yamlsettings (travel_time,lock_features) are automatically persisted into the config entry (#742).
Understanding the technical differences between Legacy Stable (v0.9.4), Previous Beta (v2.0.0b15), and Latest Beta (v2.0.0b16):
| Feature / Architecture | Legacy Stable (v0.9.4 on master) |
Beta v2.0.0b15 (7 Oct 2026) |
Latest Beta v2.0.0b16 (21 Oct 2026) |
|---|---|---|---|
| Home Assistant Core | Compatible with HA 2026.9 and earlier | Core โฅ 2026.3 (Python 3.14 async-native) | Core โฅ 2026.3 (Python 3.14 async-native; HA 2026.11 registry migration ready) |
| IoT Class | local_polling |
local_push (real-time bus event stream push) |
local_push (real-time bus event stream push) |
| Protocol Engine | OWNd==0.7.48 |
OWNd==2.0.0b10 (typed PEP 561, HMAC-SHA256, firmware-aware profiles) |
OWNd==2.0.0b11 (zero private symbols/shims, strict builder validation, whole-hour TZ guard) |
| Quality Scale | Unranked legacy structure | ๐ Platinum Tier (54/54 self-assessed rules satisfied/exempt in quality_scale.yaml) |
๐ Platinum Tier (54/54 self-assessed rules) + bundled brand icons (#741) โ formal tier awarded upon upstream core review |
| Type Safety | Untyped | 100% mypy --strict compliance across all 42 modules |
100% mypy --strict compliance across all 73 modules (verified against pinned OWNd==2.0.0b11) |
| State Storage & Config | Global hass.data[DOMAIN] dictionaries |
Strongly-typed entry.runtime_data (MyHOMERuntimeData); UI Config/Options Flow + ignored_addresses (#621) |
entry.runtime_data + automatic persistence of myhome.yaml device settings (travel_time, lock_features) into config entry (#742) |
| Device Discovery | Requires manual YAML (myhome.yaml) |
Zero-config Dynamic Bus Auto-Discovery + blank-start discovery (#578) | Zero-config Dynamic Bus Auto-Discovery + phantom-entity suppression on blank start (#686) & ON-dimmer brightness probing (#742) |
| Expose HA to SCS Bus | โ Not supported | โ Not supported | โ
Declarative expose engine (#750): virtual WHO 1/2 actuators (with wall LED feedback), WHO 4 temperature probes, WHO 18 energy meters, and WHO 13 bus clock |
| Gateway Profiles | Fixed, hardcoded socket pacing | 12 Declarative Profiles (tuned workers, inter-frame delays, per-profile session defaults #606 & quiet-plant keepalive #637) | 12 Declarative Profiles verified against empirical Firmware Oracle (#745), plus H4684/LGRH4684 & MH201 auto-ID (#652, #722) |
| Supported Transports | TCP Network Gateways only | TCP IP + USB/Serial (Legrand 3578 / OpenZigBee) | TCP IP + USB/Serial (Legrand 3578 / OpenZigBee) + shared HA websession discovery (#757) |
| Multi-Gateway Plants | โ Single gateway only (cross-talk on multi-GW) | Namespaced routing, plant isolation & warm-standby failover (#453) | Namespaced routing, plant isolation & warm-standby failover |
| Command Scheduling | FIFO queue (user commands blocked behind sweeps) | Multi-tier Priority Queue (user actions prioritized over polls) | Unified FrameScheduler (#738) with per-target (WHO, WHERE) serialization, cover STOP overtaking queued frames (#694), and low-priority fade steps (#739) |
Lighting (WHO=1) |
Basic On/Off relays & stepped dimming | Hardware staircase bus timers, smooth software fades, DALI DT8 Tunable White (2000Kโ6535K), DALI feature locks, declared groups, dimmer no-load (WHAT 19, #622), 0% โ switch_off (#635) |
Adds 2-digit Area 0 point addresses (01โ09, #713), startup-sweep poll deduplication (#701), and strict per-member echo counting for group/area re-syncs (#740, #749) |
Covers (WHO=2 & WHO=1) |
Basic Open / Close / Stop | State tracking, position-reporting actuators, interactive travel-time calibration engine, centralized shutter buttons | Adds Venetian blind slat tilt (slat_tilt, slat_time, #508), impulse gate/garage covers on WHO=1 with optional safety approval (#667), per-cover min_motor_pulse floor & endpoint full runs (#702, #708), stop-status position re-anchoring (#707), and pluggable CoverKinematicsStrategy (#739) |
Locks & Door Entry (WHO=6 / WHO=8) |
โ Not supported | WHO=14 actuator maintenance lock/unlock buttons (#353) |
Adds native lock platform for WHO=6 door-entry strikes with constant-time PIN verification, auto-relock, and WHO=8 intercom call events (#667) |
Climate (WHO=4) |
Basic zone thermostats | Central Unit 3550 (#0) & 4695 (#0#1) master coordination, fancoil 3-speed modes, probe (PZZ) & pump (0#N) separation, libqtdevices mode alignment (#630) |
Adds season frames & generic setpoint mode (#657, #725), holiday/vacation programs (#689), zone humidity sensors (#712), F461 zone polling, standalone AUTO, and season-persisted hvac_action (#714, #715, #721) |
Sound System (WHO=16 / WHO=22) |
โ Not supported | Full audio matrix (F441/F441M), multi-room grouping, Dynamic Streaming Proxy (Music Assistant / Spotify Connect), F500 tuner stepping, anti-hiss auto-off | Adds full WHO=22 FM tuner frequency, preset & RDS station decoding with optional station artwork (#695), wall source transport steps (#651), unified amplifier power engine (#683), and idle decoder claiming from parked groups (#723) |
Burglar Alarm (WHO=5) |
โ Not supported | Dedicated alarm_control_panel (3485/3486 central units), empty-WHERE routing (#609), read-only auxiliary panel mode with AUX arm/disarm (#564, #616) |
Full partition state tracking, zone 0 broadcast sync, and AUX arm/disarm workflows |
CEN / CEN+ & Scenarios (WHO=15/17/25) |
Raw event listeners; required external blueprints | 8 native UI device triggers with 4-digit string-preserved addressing ("0001", #624), MAC isolation, Living Now wire-address tolerance, fail-closed triggers (#601) |
Adds WHO=25 Scenario Plus command/event support (#671) and WHO=17 scenario programmer lifecycle events (myhome_scene_event, #656) |
| Diagnostics & Health | Raw logs only | Self-clearing HA Repair issues (actuator_fault, #593), ignored_addresses (#621), native HA Diagnostics (diagnostics.py) with automatic redaction |
Adds gateway kernel/distribution sweep telemetry (#711), F411 advanced: true misconfiguration warning (#762), and clearable ignored_addresses (#666) |
| Lovelace Frontend | โ None | Built-in <myhome-openwebnet-bus-monitor> card with live streaming feed, offline replay tab, and syntax-validated frame injector |
Built-in <myhome-openwebnet-bus-monitor> card with stricter WebSocket input bounds (#747) and 1-click sanitized diagnostic report export |
| License | AGPL-3.0 (per master repository LICENSE) |
Apache-2.0 (per published 2.0.0b15 release, aligning with Home Assistant Core) |
Apache-2.0 (per published 2.0.0b16 release / LICENSE, aligning with Home Assistant Core) |
๐ Release Changelogs & GitHub Compares:
The modernization from legacy to V2 established an extensive automated testing and verification foundation (real-world validation across diverse physical gateways remains an ongoing community effort):
| Testing Dimension | Legacy Stable (v0.9.4 on master) |
Beta v2.0.0b15 (7 Oct 2026) |
Latest Beta v2.0.0b16 (21 Oct 2026) |
|---|---|---|---|
| Automated Tests | 0 tests (no pytest suite or test files in repository) | 3,464 automated tests passing | 4,393 automated tests passing (+929 new regression & conformance tests) |
| Statement Coverage | 0% tracked | Strict 100.0% statement coverage across all 42 modules | Strict 100.0% statement coverage across all 73 modules |
| Branch Coverage | Untracked | Enforced via automated zero-tolerance coverage gates in CI | Enforced via automated zero-tolerance coverage gates in CI |
| Trace Replay Engine | โ None (testing required live physical hardware) | Automated CI replay of authentic on-wire traces from real European installations (F454, F455, F461, MH200, MH200N, MH201, MH202, MyHomeServer1, H4890, Living Now controls) | Expanded with live F461 + F411/4 WHO=14 lock traces, F453AV, H4684, WHO=22 RDS tuner, Venetian tilt, and multi-gateway captures |
| Firmware Oracle Conformance | โ None | โ Manual profile tuning | Automated Firmware Oracle Verification (test_firmware_oracle_conformance.py, #745) cross-checking frames and gateway profiles against hash-pinned emulated firmware verdicts |
| Golden Frame Corpus | โ None | OpenWebNet Golden Corpus with hundreds of multi-authority calibrated frame test fixtures across 11 subsystems | Expanded OpenWebNet Golden Corpus (WHO 0โ25, 1001โ1022) + zero-deprecation enforcement (#728, #729) |
| Snapshot Testing | โ None | 5 Syrupy snapshot suites verifying diagnostics exports, entity registry schemas, and state trees | Syrupy snapshot suites verifying diagnostics exports, entity registry schemas, and state trees |
| CI Automation | 2 workflows (hassfest, basic validate) |
10 comprehensive CI workflows (unit tests, coverage, type checking, Ruff linting, PyPI packaging, HA standards validator, anti-drift sentinel) | 10 comprehensive CI workflows + containerized HA smoke (stable/beta/dev) & OWNd lockstep smoke gates |
| Anti-Drift Sentinels | โ None | Automated sentinel (scripts/sync_documentation.py) continuously validating documentation, tables, and code alignment |
Automated sentinel (scripts/sync_documentation.py) + gateway profile oracle verification |
Caution
/config/custom_components/ (e.g. myhome.backup)!
Home Assistant automatically discovers all subdirectories containing manifest.json under custom_components. Backups inside this folder cause startup crashes (Unable to import component: No module named 'custom_components.myhome.backup'). Always keep backups outside in /config/myhome_backup/.
Tip
Recommended Beta Install Method: In HACS 2.0+, pre-release toggle switches can get stuck in an "unavailable" loop due to upstream registry caching, or show validation warnings before PR #232 merges. Using Method 1 (Terminal & SSH) below provides a direct, verified installation that safely preserves your configuration and entity IDs. (To install the previous 2.0.0b15 milestone instead, replace 2.0.0b16 with 2.0.0b15 in the download URL.)
Open the Terminal in your Home Assistant sidebar and paste:
if cd /config/custom_components; then
# Move any legacy in-place backup out of custom_components to prevent loader crashes:
[ -d myhome.backup ] && mv myhome.backup /config/myhome_backup_old
# Download and extract into a temporary directory first to verify archive integrity:
TMP_DIR=$(mktemp -d)
if wget -O "$TMP_DIR/myhome.zip" https://github.com/OpenWebNet-HA/MyHOME/releases/download/2.0.0b16/myhome.zip && \
unzip -q "$TMP_DIR/myhome.zip" -d "$TMP_DIR/myhome" && \
[ -f "$TMP_DIR/myhome/manifest.json" ]; then
BACKUP_OK=1
if [ -d myhome ]; then
rm -rf /config/myhome_backup && cp -r myhome /config/myhome_backup || BACKUP_OK=0
fi
if [ "$BACKUP_OK" -eq 1 ]; then
if rm -rf myhome && mv "$TMP_DIR/myhome" myhome; then
rm -rf "$TMP_DIR"
echo "Installation verified. Restarting Home Assistant..."
ha core restart
else
echo "Error: Replacement failed. Recovery files preserved in $TMP_DIR and /config/myhome_backup."
fi
else
echo "Error: Backup failed. Existing installation left intact. Recovery files preserved in $TMP_DIR."
fi
else
echo "Error: Download or extraction verification failed. Existing installation left intact."
rm -rf "$TMP_DIR"
fi
else
echo "Error: Failed to navigate to /config/custom_components. Directory does not exist."
fi(For Home Assistant Container / Docker, run on your Docker host:)
docker exec -it homeassistant bash -c 'cd /config/custom_components || { echo "Error: /config/custom_components not found."; exit 1; }; [ -d myhome.backup ] && mv myhome.backup /config/myhome_backup_old; TMP_DIR=$(mktemp -d); if ! wget -O "$TMP_DIR/myhome.zip" https://github.com/OpenWebNet-HA/MyHOME/releases/download/2.0.0b16/myhome.zip || ! unzip -q "$TMP_DIR/myhome.zip" -d "$TMP_DIR/myhome" || [ ! -f "$TMP_DIR/myhome/manifest.json" ]; then echo "Error: Download or extraction verification failed. Existing installation left intact."; rm -rf "$TMP_DIR"; exit 1; fi; if [ -d myhome ]; then rm -rf /config/myhome_backup && cp -r myhome /config/myhome_backup || { echo "Error: Backup failed. Existing installation left intact. Recovery files preserved in $TMP_DIR."; exit 1; }; fi; if ! (rm -rf myhome && mv "$TMP_DIR/myhome" myhome); then echo "Error: Replacement failed. Recovery files preserved in $TMP_DIR and /config/myhome_backup."; exit 1; fi; rm -rf "$TMP_DIR" && echo "Installation verified. Restarting container..."' && docker restart homeassistant- Download the release package:
๐ Download myhome.zip (v2.0.0b16 โ Latest Beta) โข Download myhome.zip (v2.0.0b15) (or browse all GitHub Releases) - Open your configuration directory via Samba Share, Studio Code Server, or File Editor.
- Extract
myhome.zipdirectly into/config/custom_components/myhome/(overwriting existing files). - Restart Home Assistant (Settings โ System โ Restart).
- In Home Assistant, open HACS โ Integrations.
- Click the top-right menu (
โฎ) โ Custom repositories. - Add repository URL:
https://github.com/OpenWebNet-HA/MyHOMEwith type Integration. - Open the MyHOME card in HACS, click
โฎโ Redownload, ensure Show beta versions is toggled ON, select2.0.0b16(or2.0.0b15), and click Download. - Restart Home Assistant.
If you prefer proven production stability or wish to wait for the final v2.0.0 stable merge:
- Via HACS (Default): Search for MyHOME in HACS and click Download (keep Show beta versions disabled). HACS will automatically install v0.9.4.
- Via Terminal & SSH:
if cd /config/custom_components; then # Move any legacy in-place backup out of custom_components to prevent loader crashes: [ -d myhome.backup ] && mv myhome.backup /config/myhome_backup_old # Download and extract into a temporary directory first to verify archive integrity: TMP_DIR=$(mktemp -d) if wget -O "$TMP_DIR/myhome.zip" https://github.com/OpenWebNet-HA/MyHOME/releases/download/0.9.4/myhome.zip && \ unzip -q "$TMP_DIR/myhome.zip" -d "$TMP_DIR/myhome" && \ [ -f "$TMP_DIR/myhome/manifest.json" ]; then BACKUP_OK=1 if [ -d myhome ]; then rm -rf /config/myhome_backup && cp -r myhome /config/myhome_backup || BACKUP_OK=0 fi if [ "$BACKUP_OK" -eq 1 ]; then if rm -rf myhome && mv "$TMP_DIR/myhome" myhome; then rm -rf "$TMP_DIR" echo "Installation verified. Restarting Home Assistant..." ha core restart else echo "Error: Replacement failed. Recovery files preserved in $TMP_DIR and /config/myhome_backup." fi else echo "Error: Backup failed. Existing installation left intact. Recovery files preserved in $TMP_DIR." fi else echo "Error: Download or extraction verification failed. Existing installation left intact." rm -rf "$TMP_DIR" fi else echo "Error: Failed to navigate to /config/custom_components. Directory does not exist." fi
- Configuration Guide for v0.9.4: Entity definitions on legacy 0.9.4 use manual YAML configuration. Refer to the Legacy v0.9.4 Documentation or Legacy Configuration Wiki.
The integration features declarative hardware profiles that automatically calibrate connection concurrency, inter-frame bus pacing, and query throttles specifically for your gateway model:
| Gateway Model | Protocol Support | Max Command Workers | Inter-Frame Delay | Discovery | Notes |
|---|---|---|---|---|---|
| F454 | OpenWebNet / HMAC | 4 workers | 50 ms | โ UPnP / Port 49153 | Full high-speed multi-session IP gateway |
| F455 | OpenWebNet / HMAC | 4 workers | 50 ms | โ UPnP / Port 49153 | Basic gateway (single SCS bus) |
| F461 | OpenWebNet / HMAC | 4 workers | 50 ms | โ Manual | Compact DIN Ethernet Web Server |
| MH202 | OpenWebNet / HMAC | 2 workers | 100 ms | โ UPnP / Port 49153 | Modern scenario programmer gateway |
| MH201 | OpenWebNet | 1 worker | 100 ms | โ UPnP / Port 49153 | Second-generation scenario programmer |
| MyHomeServer1 | OpenWebNet / HMAC | 4 workers | 20 ms | โ SSDP | Modern cloud/local hybrid gateway |
| MH200N | OpenWebNet | 1 worker | 150 ms | โ SSDP | Second-generation scenario programmer |
| MH200 (Legacy) | OpenWebNet | 1 worker | 150 ms | โ SSDP | Strict single-session pacing; watchdog hardened |
| H4890 / AM4890 | OpenWebNet | 1 worker | 50 ms | โ SSDP | 3.5" Touch screen display IP gateway |
| F452 / F453AV | OpenWebNet | 1 worker | 150 ms | โ UPnP / Port 49153 | Audio/video & web server gateway |
| HL4684 | OpenWebNet | 1 worker | 50 ms | โ SSDP | 10" Touch screen display IP gateway |
| Legrand 3578 | OpenWebNet (Serial) | 1 worker | 50 ms | โ Manual (Serial) | USB / Serial gateway & OpenZigBee interface |
๐ Read the full Hardware Gateway Profiles Guide โ
| Domain | WHO | Capabilities |
|---|---|---|
light |
WHO=1 | On/Off, dimmers with smooth software-stepped curves, DALI DT8 Tunable White (2000Kโ6535K), HS/RGB colour, 2-digit Area 0 (01โ09) addressing, and hardware-offloaded bus staircase timers (myhome.turn_on_timed). |
switch |
WHO=1 | Relay actuators, auxiliary switches, socket actuators (switch/outlet device classes), and hardware-offloaded bus timers. |
cover |
WHO=1 / WHO=2 | Motorized shutters, Venetian blinds with slat tilt (slat_tilt, slat_time), position-reporting actuators, virtual travel-time positioning with min_motor_pulse start-up floors & endpoint full runs, impulse gates & garage doors (WHO=1) with optional multi-factor approval, and centralized shutter triggers. |
lock |
WHO=6 | Native video door-entry strikes (WHO=6, configured in myhome.yaml) with constant-time PIN authentication, auto-relock, and WHO=8 intercom call events. |
climate |
WHO=4 | Heating, cooling, 4-pipe systems, thermostats, setpoints, fancoil 3-speed modes, offset tracking, season frames, holiday/vacation programs, zone humidity sensors, and Central Unit 3550 (#0) & 4695 (#0#1) master coordination. |
alarm_control_panel |
WHO=5 | Central units (3485/3486), partition states (disarmed / armed away / triggered), zone 0 broadcast sync, and AUX arm/disarm workflows. |
binary_sensor |
WHO=1 / 9 / 25 | Magnetic contacts, door/window sensors, PIR motion, AUX channels (1โ9), and dry contact interfaces (F482/3477). |
sensor |
WHO=1 / 4 / 18 | Power meters, energy counters (total/daily/monthly), temperature & humidity probes (3475), and illuminance / lux sensors. |
button |
WHO=14 / 2 | Hardware actuator lock/unlock for maintenance (WHO=14), and cover travel-time calibration buttons (WHO=2). |
media_player |
WHO=16 / 22 | F441/F441M audio matrix zones, source routing, WHO=22 FM tuner frequency/preset/RDS station decoding with optional station artwork, volume normalization, software mute, and Dynamic Streaming Proxy. |
device_trigger |
WHO=15 / 17 / 25 | Stateless CEN & CEN+ scenario pushbuttons with 4-digit string-preserved addressing ("0001"), MAC isolation, 8 native UI trigger types, WHO=25 Scenario Plus, and WHO=17 scene lifecycle events. |
expose (Bus Projection) |
WHO=1 / 2 / 4 / 13 / 18 | Declarative HA-to-SCS bus projection: virtual WHO 1/2 actuators (driven by physical wall buttons with LED feedback), WHO 4 virtual temperature probes, WHO 18 virtual energy meters, and WHO 13 bus clock sync. |
- Declarative HA-to-SCS Bus Expose Engine (
#750): Project Home Assistant lights, switches, covers, temperature sensors, power meters, and the system clock onto unused OpenWebNet addresses (WHO 1, 2, 4, 13, 18). Physical wall controls can drive exposed virtual actuators with real-time LED state mirroring or execute Home Assistant scripts. - Venetian Blind Slat Tilt, Impulse Gates & Cover Kinematics (
#508,#667,#702,#707,#708,#739): Timed slat tilt pulses (slat_tilt,slat_time), impulse garage/gate covers onWHO=1relays with optional safety approval, nativeWHO=6door-entry locks, per-covermin_motor_pulsestart-up floors, endpoint full runs (0%/100%), and stop-status position re-anchoring. - Native Hardware Bus Light & Switch Timers (
WHO=1): Offload countdown timers directly onto physical Legrand DIN actuators viamyhome.turn_on_timedor standardtimerparameters. The lights turn off automatically even if Home Assistant restarts. - Sound System 2.0,
WHO=22RDS Tuner & Dynamic Streaming Proxy (#695): Stream from Music Assistant, Spotify Connect, or any HA media player to wired BTicino audio zones using an intelligentDecoderPoolwith analog gain-staging and anti-hiss auto-off, plus fullWHO=22FM tuner RDS metadata. - Thermoregulation Central Unit Coordination, Seasons & Humidity (
3550/4695,#657,#689,#712): Master climate coordination for 99-zone (#0) and 4-zone (#0#1) central units automatically propagates whole-home heating/cooling modes, seasons, and holiday programs across subordinate zones. - Multi-Gateway Routing & Plant Isolation (
#453): Namespaced dispatchers eliminate cross-talk across plants combining multiple gateways (e.g. F454 + MH200N). - Unified Per-Target FrameScheduler (
#738): Serializes commands per target (WHO,WHERE) while allowing coverSTOPcommands to overtake queued frames (#694) and user actions to execute ahead of background status polls (#685). - Self-Healing Diagnostics, Fault Repairs & Ignored Addresses (
#593,#621,#666): Hardware anomalies surface as self-clearing Home Assistant repair issues (actuator_fault), with configurableignored_addressesin Options Flow.
The integration includes an in-band real-time bus monitor operating over the existing gateway event stream with zero extra sockets:
- Visual Card Picker: Add directly from Home Assistant's dashboard editor by searching for "MyHOME OpenWebNet Bus Monitor" (
custom:myhome-openwebnet-bus-monitor). - Live Feed & Frame Injector: Color-coded badges for subsystems, ACK/NACK highlighting, pause/resume, buffer filtering, and manual frame injection with syntax validation.
๐ Read the Bus Monitor Card Guide โ
Comprehensive guides, specifications, and tutorials are available on our documentation site and wiki:
- ๐ Official Documentation Site
- ๐๏ธ OpenWebNet Protocol & WHO Specifications Wiki
- ๐บ๏ธ Development Roadmap and Stable v2.0.0 Pull Request #232
This integration is developed and maintained by the OpenWebNet-HA community organization.
- Community Hub & Discussions: GitHub Discussions
- Issue Tracker & Traces: GitHub Issues
- Phase 1 & 2 Pull Request: PR #232
- @anotherjulien for creating the original MyHOME integration and laying the protocol foundations.
- @GreenGrassBlueOcean for the modernized v2 architecture, declarative gateway profiles, streaming proxy, and automated test suite.
- @GianlucaCh for preserving and contributing the comprehensive 15-manual BTicino/Legrand specification archive (
OWN DOC.zip) and WHO 24 specs. - @xtimmy86x for the frontend administration panel, hardware diagnostics, and passive heating schedule traces.
- @Interstellar0verdrive for frontend panel enhancements, cover calibration UI, badges, and visual polish.
- @fedem95 for MH201 reliability, idle session reconnects, CEN+ hold logic, Italian translations, and physical plant fixtures.
- @mantovanellimatteo, @lyubomirtraykov, and Cedric Rohou for key bugfixes, DALI DT8 ballasts, and platform extensions.
Special gratitude to the community members whose authentic on-wire bus captures ground our 4,393+ CI tests in real hardware:
- @TheDarkWizard for MyHomeServer1 automation command-translation echoes and WHO 4 heating/cooling Home+Control traces (#378, #429).
- @f18m (Francesco Montorsi) for MyHomeServer1 & LN-4660M2 centralized shutter and advanced automation traces (#445).
- @lionelser for Legrand F455 Basic Gateway full bus sweep, modular dimmers, and pushbutton captures (#466).
- @gdluck for MyHomeServer1 live climate heating/cooling season switching, timed relays, and probe traces (#649).
- @ricdijk for BTicino F454 WHO 4 99-zone central unit (
#0) status captures (#629). - @wave68runner for MH200N + MyHomeServer1 dual-gateway 4-digit CEN scenario traces (#624).
- @caiosweet for BTicino MH200N full bus sweep and climate probe knob offset cycle captures (#466).
- @nicolacavallo84 for shared-bus dual gateway captures (MHS1 + H4890) and H4890 WHO 25 dry contacts (#453, #466).
- @gimprota76 (Giovanni) for BTicino F454 burglar alarm (WHO 5) and auxiliary channel (WHO 9) traces (#311).
- @paoloboatto for MyHomeServer1 + F500 + H4562
WHO=22FM tuner RDS and preset traces (#695). - @cricri72 for BTicino F454 + F411U2 cover calibration and diagnostic captures (#730).
- Current
master& Stable Releases (v0.9.4): Licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). - Modern Beta Releases (v2.0.0b15 / v2.0.0b16) & V2 Architecture: Licensed under the Apache License 2.0 (aligning with Home Assistant Core).
