Skip to content

[Device Request]: 067292 Gateway #832

Closed

Description

@Yvan13120

Device Model / Commercial Catalog Code

067292 Legrand

Gateway Model, Firmware & MyHOME Integration Version

F454

OpenWebNet WHO System Domain

WHO=1 (Lighting / Relays / Actuators / Switches)

Physical Configurators or Virtual Configuration (in English)

Physical configuration

Sample OpenWebNet Bus Trace / Diagnostic Evidence

no particular trail, just the discovery of this gateway

Expected Home Assistant Behavior

Hi,

First of all, thank you for your contribution, which has enabled significant improvements across the various gateways. The professionalism and rigor applied to the testing process would certainly merit a top rating in any ranking of Home Assistant applications.
Your application allows me to utilize the Legrand 067292 screen as a gateway, given that it is connected via Ethernet.
No entity is created, but could we go further—perhaps retrieve some information, or even interact with this screen?

Documentation / Technical Datasheets

No response

🛑 Before Submitting — Did You Check?

  • I have written this request in English.
  • I have specified my Gateway model, Gateway firmware version (or 'unknown / unavailable'), and MyHOME integration version (e.g. 2.0.0b16).
  • I have included an OpenWebNet bus trace, Diagnostics JSON, or relevant log/protocol documentation (or explained why a bus trace cannot be collected).

Activity

  1. GreenGrassBlueOcean commented on Oct 30, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    Thank you very much for the kind words!

    1. What the Legrand 067292 is on OpenWebNet

    The Legrand 067292 (Céliane MyHOME_Screen 3.5") belongs to the same hardware and firmware family as the BTicino H4890 / LN4890 / AM4890, Legrand Arteor 573958, and Mosaic 078479 (WHO=1013 diagnostic OBJECT_MODEL = 30).

    It has two distinct roles:

    1. Ethernet IP-to-SCS Gateway (TCP port 20000): Allows Home Assistant to read and send OpenWebNet frames on the SCS bus.
    2. SCS Wall User Interface: On the SCS bus itself, the screen is a client/controller, not an actuator. Its internal hardware (LCD backlight, screen wake/sleep, buzzer, page navigation, and touch menus) has no SCS WHERE address and is not exposed over OpenWebNet, which is why adding the gateway itself does not create screen entities.

    2. Important Hardware Limitation: We Cannot Reprogram the Screen from the SCS Bus

    The screen's pages, icons, room layouts, standby screensaver/brightness, and widget addresses cannot be created or modified over the SCS bus (nor via OpenWebNet TCP frames).

    In Legrand/BTicino's architecture, the 067292 uses Product Programming (Object 32 — Colors Touch Screen): adding or changing buttons/widgets on the display strictly requires Legrand/BTicino's PC software (MyHOME_Suite / TiTouchScreen) transferring a project file directly to the screen over mini-USB or Ethernet.


    3. What You Can Do Between Home Assistant and the 067292 Today

    Even though Home Assistant cannot reprogram the screen's layout from the SCS bus, it can interact bidirectionally with any buttons, probes, or meters configured on the screen, as well as use the screen's gateway capabilities alongside your F454:

    A. Shared Bus Pairing with Your F454 (Failover or Burglar Alarm Bridging)

    If both your F454 and 067292 are wired to the same SCS bus, configure Shared Bus in Settings → Devices & Services → MyHOME → Configure:

    • Warm Standby (standby): Your F454 (4 concurrent command sessions, faster pacing) stays Primary, while the 067292 (single command session) acts as an automatic high-availability backup—suppressing duplicate entities during normal operation and seamlessly taking over bus traffic if the F454 ever goes offline.
    • Secondary Subsystem Delegation (secondary): Unlike the F454 (which omits WHO=5 alarm sweeps), the 4890 / 067292 3.5" screen family can relay WHO = 5 Burglar Alarm status frames (*#5*0##) when connected to the alarm riser, so you can delegate WHO = 5 to the 067292 while keeping lighting, covers, climate, and audio on the F454.

    B. Screen → Home Assistant (CEN / CEN+ Scenario Buttons)

    Any button on the 067292 configured (in MyHOME_Suite) as a CEN (WHO = 15) or CEN+ (WHO = 25) pushbutton emits bus press events when tapped on the screen. In Home Assistant, those appear automatically as Device Triggers (pushbutton_short_press, pushbutton_long_press, etc.), allowing a tap on the Legrand wall screen to control non-MyHOME devices (Zigbee/Matter lights, media players, locks, or Home Assistant scenes/scripts).

    C. Home Assistant ↔ Screen (Expose to Bus Virtual Devices)

    Using Settings → Devices & Services → MyHOME → Add expose entry, Home Assistant can emulate virtual SCS devices on any unused WHERE address that has a tile/page on the 067292:

    • WHO = 1 (Virtual Light / Switch) & WHO = 2 (Virtual Cover): Tapping an icon on the 067292 controls a Home Assistant entity (or runs a custom HA action), and state/brightness/position changes in Home Assistant update the icon state live on the 067292 display.
    • WHO = 4 (Temperature Probe, Dimension 0): Publish any Home Assistant temperature sensor (outdoor weather, Zigbee/ESPHome room thermometer) to an SCS probe address so the 067292 displays live temperatures on its Thermoregulation pages.
    • WHO = 18 (Energy / Power Meter, Dimensions 51–54, 113): Publish smart-meter or solar power (W) and energy (Wh) from Home Assistant onto the bus so the 067292 Energy pages show live consumption.
    • WHO = 13 (Clock & DST Sync): Automatically keep the 067292 on-screen clock synchronized with Home Assistant's system time.

    D. Gateway Information & Diagnostics (WHO = 13 / WHO = 1013)

    The integration already queries the screen's firmware version, kernel/distribution build, internal RTC clock/timezone, and WHO = 1013 hardware model metadata. You can inspect all of these via Settings → Devices & Services → MyHOME → 067292 card → ⋮ → Download diagnostics.


    Optional: Share Diagnostics for 067292 Profile Auto-Matching

    If you have a moment, could you attach the Download diagnostics JSON file from the 067292 integration entry here (passwords are automatically redacted)? That will let us verify the exact UPnP/SSDP modelName and firmware version your Legrand 067292 reports so we can ensure 067292 is explicitly aliased alongside H4890 / LN4890 / AM4890 in automatic discovery and gateway profile selection.

  2. Yvan13120 commented on Nov 1, 2026

    @Yvan13120
    Author
  3. GreenGrassBlueOcean commented on Nov 1, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    Thank you! Unfortunately, GitHub strips file attachments when you reply by email, so the diagnostics report didn't come through.

    Could you open #832 directly in your web browser and drag-and-drop the .json diagnostics file into the comment box (or click Paste, drop, or click to add files at the bottom of the comment editor)?

  4. Yvan13120 commented on Nov 3, 2026

    @Yvan13120
    Author

    Hi,

    Please find the requested file attached.

    Best regards

    config_entry-myhome-01M41SYJAZN5GM65S0MH6MS4TR.json

  5. Yvan13120 commented on Nov 7, 2026

    @Yvan13120
    Author

    Hi,

    I cannot find any documentation explaining how to configure point 3 - C - "Expose to Bus." Could you provide a link?

    Thank you.

  6. GreenGrassBlueOcean commented on Nov 7, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    The dedicated chapter for the Expose to Bus engine has just been prepared for the official documentation site in Pull Request #875. In the meantime, the full technical specification and architectural breakdown are also documented in Pull Request #750 and the v2.0.0b16 Release Notes.

    Also, thank you for providing the diagnostics file earlier! It allowed us to add the Legrand 067292 model alias and SSDP matchers under the H4890 profile in PR #854.

    Here is a step-by-step guide on how to configure "Expose to Bus" today:


    Option 1: Via Home Assistant UI (Config Subentries)

    Starting with Home Assistant 2024.11 / MyHOME v2.0.0b16, expose bindings can be created directly from the UI:

    1. Navigate to Settings → Devices & Services → Integrations → MyHOME.
    2. Click on your gateway card (or open the ⋮ menu).
    3. Under the Subentries section, click + Add exposed entity (or Expose entity to SCS bus).
    4. Fill in the parameters:
      • WHO subsystem:
        • WHO 1: Lighting / Switch / Virtual Actuator (e.g. control non-SCS lights/switches from screen buttons, mirroring on/off state back to the icon).
        • WHO 2: Automation / Cover (e.g. control Somfy/Zigbee shutters from the screen).
        • WHO 4: Temperature Probe (Dimension 0).
        • WHO 13: Bus Clock & DST Synchronization.
        • WHO 18: Energy / Power Meter (Dimensions 113, 51–54).
      • WHERE address: The point-to-point SCS address (e.g. 12, 04, 71) programmed for the widget/button in MyHOME_Suite on the 067292 screen (leave empty for WHO 13).
      • Source entity: The Home Assistant entity you wish to bind (e.g. light.living_room_hue, sensor.outdoor_temperature, sensor.grid_active_power).
      • (Optional) Dimension:
        • WHO 4: 0 (temperature).
        • WHO 18: 113 (active power in W) or 51–54 (energy counters in Wh).
        • WHO 13: 22 (date/time/calendar atomic sync).
      • (Optional) Cooldown & Min delta: Rate-limiting to protect the SCS bus from excessive frame flooding.

    Option 2: Via myhome.yaml (Declarative Configuration)

    If you prefer YAML configuration, define the expose block under your gateway's MAC address in myhome.yaml:

    myhome:
      00:03:50:XX:XX:XX:   # Your primary gateway MAC address
        expose:
          # 1. Virtual Light / Switch (WHO = 1)
          # Tapping the button on 067292 (WHERE: "25") controls the Hue lamp;
          # changes in HA immediately update the icon state on the wall screen.
          - who: 1
            where: "25"
            entity_id: light.hue_living_room
            bidirectional: true
    
          # 2. Virtual Cover / Shutter (WHO = 2)
          - who: 2
            where: "31"
            entity_id: cover.pergola_curtain
            bidirectional: true
    
          # 3. Virtual Temperature Probe (WHO = 4, Dimension 0)
          # Publishes outdoor/room temperature to a thermo probe widget on the screen.
          - who: 4
            where: "100"
            dimension: 0
            entity_id: sensor.outdoor_temperature
            cooldown: 5.0
            periodic_send: 60
    
          # 4. Virtual Power Meter (WHO = 18, Dimension 113)
          # Publishes smart-meter active power (W) to an energy tile on the screen.
          - who: 18
            where: "51"
            dimension: 113
            entity_id: sensor.grid_power
            cooldown: 2.0
            min_delta: 10.0
    
          # 5. Bus Clock & DST Sync (WHO = 13, Dimension 22)
          # Keeps the 067292 on-screen clock synchronized with Home Assistant local time.
          - who: 13
            dimension: 22
            periodic_send: 3600

    Note

    Subsystem Compatibility Note:

    • WHO 1 (Lights/Switches), WHO 2 (Covers), and WHO 13 (Clock) work out-of-the-box across all OpenWebNet gateways.
    • WHO 4 and WHO 18 require dimension write injection support in the gateway firmware (verified on physical F461). If your gateway firmware does not accept injected dimension responses, a warning will be logged at startup.
  7. Yvan13120 commented on Nov 8, 2026

    @Yvan13120
    Author

    Hi,

    Exposing entities to gateway 067292 is failing. The following errors have been identified in the logs and the diagnostic download.
    Thank you for your help.

    Logger: custom_components.myhome
    Source: custom_components/myhome/expose.py:1085
    Intégration: MyHome (Documentation, Problèmes)
    Première occurrence: 20:37:28 (10 occurrences)
    Dernier enregistrement: 20:42:09

    Expose WHO=4 WHERE=100 dimension=0 (sensor.temperature_dexterieur) is disabled: gateway H4890 is unverified for WHO 4 #0 temperature writes (supports_who4_command_injection is unset in OWNd). Nothing is sent for this binding.
    Expose WHO=18 WHERE=51 dimension=113 (sensor.zigbee_4814_1_electric_power_consumption) is disabled: gateway H4890 is unverified for WHO 18 dimension reports (supports_who18_response_injection is unset in OWNd). Nothing is sent for this binding.
    Expose WHO=18 WHERE=52 dimension=113 (sensor.zigbee_4814_1_electric_energy_consumption) is disabled: gateway H4890 is unverified for WHO 18 dimension reports (supports_who18_response_injection is unset in OWNd). Nothing is sent for this binding.
    Expose WHO=4 WHERE=101 dimension=0 (sensor.temperature_interieure_de_la_maison) is disabled: gateway H4890 is unverified for WHO 4 #0 temperature writes (supports_who4_command_injection is unset in OWNd). Nothing is sent for this binding.
    Expose WHO=18 WHERE=53 dimension=113 (sensor.aquamqtt_dhw_heat_pump_total_water_production) is disabled: gateway H4890 is unverified for WHO 18 dimension reports (supports_who18_response_injection is unset in OWNd). Nothing is sent for this binding.

    Logger: custom_components.myhome
    Source: custom_components/myhome/legacy_yaml.py:272
    Intégration: MyHome (Documentation, Problèmes)
    Première occurrence: 20:37:10 (2 occurrences)
    Dernier enregistrement: 20:41:54

    myhome.yaml has no section for gateway 00:03:50:a4:70:9d; sections found under 00:03:50:a2:33:b1 match no configured gateway. Rename the section to this gateway's MAC to load it

    config_entry-myhome-01M41SYJAZN5GM65S0MH6MS4TR (2).json

  8. GreenGrassBlueOcean commented on Nov 9, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    Thank you for sharing the logs and the diagnostics file — they made it very clear what is happening on each item! We have just opened PR #883 to fix the bugs and UI/documentation gaps this uncovered.

    Here is the breakdown of both log messages and two important recommendations from your diagnostics report:


    1. Why WHO = 4 (Temperature) and WHO = 18 (Power/Energy) Expose Bindings Were Disabled

    We verified WHO = 4 (*#4*WHERE*#0*TTTT##) and WHO = 18 (*#18*WHERE*113*WATT##) directly against the emulated gateway firmwares (F454, MH200N, MyHomeServer1, F461, and touchscreen firmware):

    • Hardware / Firmware Limitation on 067292 and F454:
      • WHO = 4 (Virtual Temperature Probe): Both the 067292 (H4890 family) and the F454 reject *#4*WHERE*#0*TTTT## temperature writes with *#*0## (NACK) and put nothing on the 2-wire SCS bus. (Only newer bt_termo gateways such as F461 translate #0 temperature writes onto the SCS bus, and even there only on unused zone master addresses 1..99, not 100..101.)
      • WHO = 18 (Virtual Energy / Power Meter): Wall touchscreens reject *#18*WHERE*113*WATT## with *#*0## (NACK), while F454 acknowledges the frame on TCP (*#*1##) yet emits an SCS active-power read poll (D1 A1 02 33 00 1D 00 00) on the 2-wire bus, discarding the watt value. As a result, synthetic Zigbee / heat-pump WHO = 4 and WHO = 18 sensor values cannot be injected onto a physical 2-wire SCS bus for the 067292 screen.
    • What to do:
      • You can remove those 5 WHO = 4 / WHO = 18 subentries from the 067292 card (Settings → Devices & Services → MyHOME → 067292).
      • Apologies for the earlier example suggesting WHO = 4 / WHO = 18 on 067292 — in PR #883, the Expose entity to SCS bus UI flow now automatically hides WHO = 4 and WHO = 18 on gateways whose firmware cannot inject them onto the SCS bus, and the Expose documentation has been updated with the exact gateway firmware matrix.
    • What does work great with your 067292 screen:
      • WHO = 1 (Virtual Lights / Switches / Dimmers) and WHO = 2 (Virtual Covers / Shutters) on any unused point-to-point WHERE address programmed as a tile on the 067292 in MyHOME_Suite (tapping the 067292 controls your Zigbee/Matter/HA entities, and state changes in Home Assistant update the icon live on the 067292 screen).
      • WHO = 13 (Bus Clock & DST Sync) to keep the 067292 date and clock automatically synchronized with Home Assistant.
      • WHO = 15 / WHO = 25 (CEN / CEN+ Scenario Buttons) tapped on the 067292 triggering Home Assistant automations.
      • Tip: Create your WHO = 1, WHO = 2, and WHO = 13 Expose subentries on your primary F454 gateway card rather than on 067292 — since both sit on the same SCS bus, frames sent by F454 reach the 067292 screen immediately while benefiting from the F454's 4 concurrent command workers.

    2. False-Positive myhome.yaml MAC Warning (legacy_yaml.py:272)

    myhome.yaml has no section for gateway ...; sections found under ... match no configured gateway.

    Your myhome.yaml configuration is completely fine — do not rename anything in myhome.yaml.

    This was a bug in our multi-gateway check (ConfigEntry.data in Home Assistant is an immutable MappingProxyType rather than a plain Python dict, which caused the secondary 067292 entry not to recognize that the MAC section in myhome.yaml already belongs to your primary F454). It is fixed in PR #883 and can be safely ignored until the next beta release.


    3. Two Helpful Adjustments Spotted in Your Diagnostics

    Looking through your attached diagnostics report, we noticed two things worth adjusting on your setup:

    1. Change Delegated WHO Subsystems on 067292 from [4, 5, 18] to [5] only:
      • Your 8 burglar alarm zones (#1–#8) are being discovered and updated cleanly via 067292 (WHO = 5)!
      • However, delegating WHO = 4 (Thermoregulation) and WHO = 18 (Energy) to 067292 takes them away from your F454. Unlike F454, wall touchscreens cannot translate 99-zone central-unit (#0) mode commands or zone setpoint writes onto the bus (we also just merged PR #880 for 3550 central-unit diagnostics).
      • Open Settings → Devices & Services → MyHOME → 067292 → Configure and leave only 5 - Burglar alarm selected under Delegated Subsystems so your F454 handles WHO = 4 and WHO = 18.
    2. Backup Battery Fault on Your Heating Central Unit (*4*31*#0##):
      • In the bus monitor history of your diagnostics, your heating central unit (WHERE = #0) is periodically reporting *4*31*#0## (Central unit backup battery KO). Checking or replacing the internal backup battery on the central unit will clear that fault and keep its internal clock/programs backed up during power outages.
  9. GreenGrassBlueOcean commented on Nov 9, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    We have prepared Pull Request #883 specifically addressing the two issues you reported on your multi-gateway setup (F454 primary + 067292 secondary):

    1. Eliminating the false-positive myhome.yaml MAC warning (legacy_yaml.py:272): ConfigEntry.data is now correctly handled as a MappingProxyType, so the secondary gateway recognizes that your myhome.yaml section belongs to your primary F454 and will no longer log a mismatch warning.
    2. Firmware-gated Expose UI: The Expose entity to SCS bus flow now automatically hides WHO = 4 and WHO = 18 on gateways like the 067292 / H4890 that cannot inject them onto the physical bus, preventing disabled bindings and startup errors.

    If you have a few minutes, could you test this PR branch to verify that both issues are resolved on your live setup?


    Step 1: Install PR #883 via Home Assistant Terminal

    Open your Home Assistant Terminal (via the Terminal & SSH or Advanced SSH & Web Terminal add-on) and run:

    # 1. Go to your HA configuration directory
    cd /config 2>/dev/null || cd /homeassistant
    
    # 2. Back up your existing MyHOME installation
    cp -r custom_components/myhome custom_components/myhome_backup
    
    # 3. Download and extract PR #883 branch
    mkdir -p /tmp/myhome_pr883
    curl -sL https://github.com/OpenWebNet-HA/MyHOME/archive/refs/heads/fix/issue-832-expose-gateways-and-mac-mismatch.tar.gz | tar -xz -C /tmp/myhome_pr883
    
    # 4. Replace integration files with PR #883 code and clean up
    rm -rf custom_components/myhome
    cp -r /tmp/myhome_pr883/MyHOME-*/custom_components/myhome custom_components/myhome
    rm -rf /tmp/myhome_pr883
    
    # 5. Restart Home Assistant
    ha core restart

    (If you run Home Assistant Container without the ha CLI, you can restart Home Assistant from Settings → System → Restart instead.)


    Step 2: What to Verify

    1. Check the logs (Settings → System → Logs):
      • Confirm that the warning myhome.yaml has no section for gateway ... sections found under ... match no configured gateway has disappeared.
    2. Check Expose UI on 067292:
      • Go to Settings → Devices & Services → MyHOME → 067292 card.
      • Click + Add exposed entity (or Expose entity to SCS bus).
      • In the WHO subsystem dropdown, verify that only supported options are offered (WHO 1, WHO 2, WHO 13), while WHO 4 and WHO 18 are hidden.

    Step 3: How to Revert (Roll Back) After Testing

    Whenever you want to roll back to your original version, simply run:

    # 1. Go to your HA configuration directory
    cd /config 2>/dev/null || cd /homeassistant
    
    # 2. Restore your backup
    rm -rf custom_components/myhome
    mv custom_components/myhome_backup custom_components/myhome
    
    # 3. Restart Home Assistant
    ha core restart

    Thank you again for your help and feedback!

  10. Yvan13120 commented on Nov 11, 2026

    @Yvan13120
    Author

    Hi,

    Here are the items requested following the execution of your procedure, but the result is not satisfactory.

    Logger: custom_components.myhome_backup
    Source: custom_components/myhome_backup/legacy_yaml.py:272
    Intégration: myhome_backup
    Première occurrence: 19:12:38 (2 occurrences)
    Dernier enregistrement: 19:13:26

    myhome.yaml has no section for gateway 00:03:50:a4:70:9d; sections found under 00:03:50:a2:33:b1 match no configured gateway. Rename the section to this gateway's MAC to load it

    image

    config_entry-myhome-01M75WZNW90QD7K4DPRG4FVWTH.json

  11. GreenGrassBlueOcean commented on Nov 12, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @Yvan13120,

    Thank you for testing and sharing the screenshot and diagnostics — the log line pinpointed why right away, and that one is completely on me!

    Look at the Source line in your log:

    Logger: custom_components.myhome_backup
    Source: custom_components/myhome_backup/legacy_yaml.py:272

    In my earlier instructions, cp -r custom_components/myhome custom_components/myhome_backup placed the backup folder inside custom_components/. Because myhome_backup/manifest.json still declares "domain": "myhome", Home Assistant's loader scanned both folders and loaded your old myhome_backup copy instead of the updated custom_components/myhome folder.

    Your custom_components/myhome folder already contains the new PR #883 code (and your diagnostics confirm that your 067292 WHO = 5 delegation and subentries are now cleanly aligned!). You only need to move myhome_backup outside custom_components/ and restart:

    cd /config 2>/dev/null || cd /homeassistant
    mv custom_components/myhome_backup ./myhome_backup
    ha core restart

    (If you ever want to roll back later, use ./myhome_backup instead: rm -rf custom_components/myhome && mv ./myhome_backup custom_components/myhome && ha core restart.)

    Once Home Assistant restarts, both the myhome.yaml warning and WHO 4 / WHO 18 in the Expose dropdown will be gone. Sorry for the detour in the backup command!

  12. Yvan13120 commented on Nov 12, 2026

    @Yvan13120
    Author

    Hi,

    Indeed, WHO 4 and 18 are no longer offered.

    Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions