Skip to content

CEN+ events not exposed in the GUI #706

Closed

Description

@lyubomirtraykov

When I try to create automation triggered by the CEN+ device I cant select a trigger.

Image

The automation is working fine if I use Listening to the Event Bus.

trigger:
  - platform: event
    event_type: myhome_cenplus_event
    event_data:
      object: 1
      pushbutton: 1
      event: pushbutton_short_press

config_entry-myhome-01M4RYB1Q7KFSVRS0PZA1BHT81(1).json

Activity

  1. GreenGrassBlueOcean commented on Oct 14, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @lyubomirtraykov 👋

    Thank you for reporting this and attaching your diagnostic export!

    1. Why you see "No triggers available for CEN+ Unit 1" in the GUI

    In Home Assistant Core 2026.10, the Automation Editor trigger picker introduces two top tabs: "By target" and "By type". In your screenshot, the UI is currently on the "By target" tab:

    • "By target" is designed for semantic entities with continuous states (e.g., lights, climate zones, switches, cover positions).
    • BTicino CEN / CEN+ scenario controls are stateless event transmitters—they do not have persistent state entities (no sensor.* or switch.*), and instead register directly in the Device Registry to expose native Home Assistant Device Triggers.
    • Because CEN+ Unit 1 does not own continuous state entities, the "By target" filter comes up empty.

    How to access the device triggers in the GUI:

    You have two easy ways to select them directly in the UI:

    • Method A (Via "By type" tab in the Automation Editor):

      1. In the automation trigger picker, switch to the "By type" tab at the top.
      2. Select Device.
      3. Under Device, pick CEN+ Unit 1.
      4. The Trigger dropdown will now populate with all available button actions for that unit (e.g., "Button 1" pressed, "Button 1" held down, "Button 1" held down (repeating), "Button 1" released after long press, rotary dial steps, etc.).
    • Method B (Directly from the Device Page):

      1. Navigate to Settings → Devices & services → Devices.
      2. Click on CEN+ Unit 1.
      3. In the Automations card on the device page, click the + button. Home Assistant will automatically instantiate a pre-filled device automation with the trigger selector ready.

    2. Recent & Upcoming CEN+ Improvements (2.0.0b15 & upcoming 2.0.0b16)

    You might be interested to know that CEN and CEN+ have received significant architectural improvements:

    1. Wire-Address Tolerance & 4-Digit Addressing (#624):
      • The integration now seamlessly normalizes wire-level addresses (such as WHERE = 21 from your trace) and virtual object IDs (object: 1), as well as physical 4-digit SCS units (0512 / $A=5, PL=12$). Both wire strings and integer object IDs match reliably in device triggers.
    2. CEN vs. CEN+ Family Isolation (#601):
      • Triggers are strictly bound to their hardware family, ensuring classic CEN (WHO 15) and CEN+ (WHO 25) buttons sharing the same numeric index never cross-fire each other.
    3. Long Press Deduplication & Repeat (#439):
      • Initial button holds fire a single pushbutton_long_press trigger, while continuous hold repetitions are dispatched as pushbutton_long_press_repeat.
    4. Scheduled Scenario PLUS Support (PR #671 in b16):
      • Full support for scenario programmer actions (WHAT = 11..15: on/start, off/stop, increase, decrease, stop) via service myhome.cenplus_scenario and event myhome_scenario_plus_event.

    3. A Quick Check-In on Your Unique Hardware Setup 📡

    Your BTicino F461 Web Server and DALI plant are one of the most valuable physical test environments in our community. If you have a couple of spare minutes, we had a few outstanding questions and tests from our earlier discussions that would help us eliminate the last blind spots for the F461:

    1. What physical hardware is behind your CEN+ Unit 1?
      • Out of curiosity, what physical device is generating the *25*21#1*21## frames in your installation? (e.g., Living Now KW8011, Axolute physical pushbuttons, an in-wall scenario module like F420, or a touchscreen?)
    2. F461 Kernel & OS Discriminator Frames (Issue #370):
    3. Missing Subsystems on F461 (Issue #466):
      • Do you happen to have any covers (WHO 2), auxiliary relays (WHO 9), or audio (WHO 16) wired to this F461? If so, capturing an active trace while operating them would permanently complete the F461 row in our Hardware Trace Matrix.
    4. DALI DT8 Feature Lock (Issue #288):
      • Has the lock_features: true setting in myhome.yaml been working smoothly for your DALI ballasts (keeping relays from inheriting remembered color dimensions)?

    Let us know if switching to the "By type" tab resolves the trigger picker for you!

  2. lyubomirtraykov commented on Oct 14, 2026

    @lyubomirtraykov
    Author

    Hello,The problem is resolved. As for your questions.

    1. The physical device is K4652M3
    2. F461 Kernel & OS Discriminator Frames
           {
              "timestamp": 1791970589.880544,
              "iso_time": "2026-10-14T09:36:29.880544+00:00",
              "direction": "tx",
              "raw": "*#13**23##",
              "who": "13",
              "where": "",
              "what": null,
              "dimension": "23",
              "is_ack": false,
              "is_nack": false,
              "is_duplicate": false
            },
            {
              "timestamp": 1791970589.893792,
              "iso_time": "2026-10-14T09:36:29.893792+00:00",
              "direction": "rx",
              "raw": "*#13**23*5*10*35##",
              "who": "13",
              "where": "",
              "what": null,
              "dimension": "23",
              "is_ack": false,
              "is_nack": false,
              "is_duplicate": false
            },
            {
              "timestamp": 1791970617.430056,
              "iso_time": "2026-10-14T09:36:57.430056+00:00",
              "direction": "tx",
              "raw": "*#13**24##",
              "who": "13",
              "where": "",
              "what": null,
              "dimension": "24",
              "is_ack": false,
              "is_nack": false,
              "is_duplicate": false
            },
            {
              "timestamp": 1791970617.441647,
              "iso_time": "2026-10-14T09:36:57.441647+00:00",
              "direction": "rx",
              "raw": "*#13**24*2*26*4##",
              "who": "13",
              "where": "",
              "what": null,
              "dimension": "24",
              "is_ack": false,
              "is_nack": false,
              "is_duplicate": false
            }
    
    1. Unfortunately I don't have any of the mentioned Subsystems installed.
    2. I will test DALI DT8 Feature Lock and open a new issue if it is not functioning properly.
  3. GreenGrassBlueOcean commented on Oct 14, 2026

    @GreenGrassBlueOcean
    Contributor

    Hi @lyubomirtraykov,

    Thank you so much for the quick follow-up!

    The K4652M3 identification and the F461 kernel/OS discriminator frames (*#13**23*5*10*35## and *#13**24*2*26*4##) are gold dust — this gives us the exact firmware/OS signature to disambiguate the F461 from the F454 and MyHomeServer1 in gateway auto-detection! 🎯

    Regarding Point 4 (DALI DT8 Feature Lock):
    Could you please share a bus trace even if everything works smoothly?

    In our test suite, we replay real-world physical bus captures to guarantee that future updates never regress existing hardware plants. Because F461 + DALI DT8 installations are so rare, having your authentic bus capture with lock_features: true active (from a quick status sweep or light toggles via the 📋 Copy Trace button in the Bus Monitor card) will allow us to update the golden test fixture for your plant.

    I'm keeping this issue open for now so you can easily drop the trace in here whenever you get a chance to test.

    Thank you again for all your testing and contributions! 🚀

  4. GreenGrassBlueOcean commented on Oct 21, 2026

    @GreenGrassBlueOcean
    Contributor

    Closing as resolved per confirmation above, and the F461 kernel/distribution diagnostic frames (*#13**23##, *#13**24##) shared in this thread have been integrated in PR #711 (9714391d). Thank you again @lyubomirtraykov!

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions