ISY - cannot get Automations to respond to Fast On (DFON) events

Using the ISY994 integration and cannot get automations to respond to DFON (or DFOF) events.

I’ve tried using the exact example code from the integration docs:

trigger:
  - platform: event
    event_type: isy994_control
    event_data:
      entity_id: light.jz_bedside_1
      control: DFON
      value: 255
      formatted: "On"
      uom: "100"
      prec: "0"

Looking at the debug logs I see the events coming through to HA:

2022-12-17 14:58:31.422 DEBUG (MainThread) [pyisy] ISY Node Control Event: NodeProperty('2B 9D C9 1': control='DFOF', value='0', prec='0', uom='', formatted='0')
2022-12-17 14:58:32.639 DEBUG (MainThread) [pyisy] ISY Node Control Event: NodeProperty('2B 9D C9 1': control='DFOF', value='0', prec='0', uom='', formatted='0')
2022-12-17 14:58:33.905 DEBUG (MainThread) [pyisy] ISY Node Control Event: NodeProperty('2B 9D C9 1': control='DFOF', value='0', prec='0', uom='', formatted='0')
2022-12-17 14:58:35.404 DEBUG (MainThread) [pyisy] ISY Node Control Event: NodeProperty('2B 9D C9 1': control='DFOF', value='0', prec='0', uom='', formatted='0')

And I’ve tried adjusting my trigger values to those coming through in the logs (value, prec, uom, formatted) in various combinations (although I don’t know a lot about what these values mean).

Any ideas? I’m switching all my scenes and programs from ISY > HA so I need a lot of stuff to be able to respond to fast on/off events from my existing Insteon switches.

Thanks - djm

Working on a similar thing. Can’t offer a solution, but here is where I am. When I go to Developer Tools > Events and listen to isy994_control, I get something that looks like this:

event_type: isy994_control
data:
  entity_id: light.bas_HT_sc_c
  control: DFON
  value: 0
  formatted: 0
  uom: ""
  precision: "0"
origin: LOCAL
time_fired: "2022-12-23T00:58:08.045869+00:00"
context:
  id: 01GMY7SH9DBAGJK519YX68ZM9N
  parent_id: null
  user_id: null

I have tried setting the Event Data in my automation to match this and then tried omitting those that do not seem to carry valuable information. So far, I cannot get the automation to trigger based on this DFON event. Will try some more tomorrow.

Thanks for replying and please let me know if you find anything. I also just set up a switch at my desk so I can hopefully better troubleshoot and will report what I find. Have to get this working - have tons of double-tap automations set up that I need to port to HA.

Well, I got it working. Swore I tried this earlier but I just boilied it down to a basic control event and now its working (all the other stuff in the examples seems over-qualify the event). Here’s my full automation:

alias: Basement - Scene Trigger - All Lights
description: ""
trigger:
  - platform: event
    event_type: isy994_control
    event_data:
      entity_id: switch.basementstairsoverhead
      control: DFON
    id: basementAllOn
  - platform: event
    event_type: isy994_control
    event_data:
      entity_id: switch.basementstairsoverhead
      control: DFOF
    id: basementAllOff
condition: []
action:
  - if:
      - condition: trigger
        id: basementAllOn
    then:
      - service: scene.turn_on
        target:
          entity_id: scene.basement_all_lights_on
        metadata: {}
  - if:
      - condition: trigger
        id: basementAllOff
    then:
      - service: scene.turn_on
        target:
          entity_id: scene.basement_all_lights_off
        metadata: {}
mode: single

Hmmm, I also thought I tried removing the seemingly extraneous parameters without success, but you seem to have that working now. I have gotten mine to trigger by mimicking the parameters I found by listening to the Event that I am using as a trigger. My YAML therefore looks like this:

  alias: HT Sequence On DFON C
  description: ''
  trigger:
  - platform: event
    event_type: isy994_control
    event_data:
      entity_id: switch.office
      control: DFON
      value: 0
      formatted: 0
      uom: ''
      precision: '0'
  condition: []
  action:
  - service: switch.toggle
    data: {}
    target:
      entity_id: switch.bas_ht_shades_a
  mode: single```

When testing DFON events, they must be done from the switch locally. Events generated within the ISY (e.g., through its interface or programs) are not passed on. This is intentional to prevent circular programs creating network storms.