# Modify Device Extension Point Destination for placing new device type into custom category

**URL:** <https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644>\
**Category:** Module Development\
**Tags:** ignition79\
**Created:** [March 25, 2022, 2:27pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644 "2022-03-25T14:27:58Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 2:27pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/1 "2022-03-25T14:27:59Z")

</div>

Hi,

I have been battling with this for awhile. I have been working on a device driver module, and I can add the device type no problem to the OPCUA page and can add devices through that page. I am currently working in 7.9 (I know it is approaching end of life, but that is what our client wants).

I have been looking at the extension point system and the example and what I would like to do is create something like a Record Action Table in a our own added Category in the configuration tab that only adds new instances of our devices. I previously was able to do this, but when I did I was unable to get my module registered with the device manager. This seemed to stem from the fact that I was not creating a corresponding DeviceSettingsRecord corresponding to my own SettingsRecord instances.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2022, 2:36pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/2 "2022-03-25T14:36:56Z")

</div>

I’d recommend you abandon this idea and work within the confines of the device/driver system.

You would have to re-create a lot of complicated functionality that the ExtensionPointPage does to link main and sub-records together and I wouldn’t even know where to start providing guidance on that.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2022, 2:49pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/3 "2022-03-25T14:49:03Z")

</div>

Okay, I actually have one idea that might work.

Create your own subclass of `ExtensionPointPage`, using `DeviceSettingsRecord` as the base type.

Then you’d return your own custom `ExtensionPointManager` implementation from `ExtensionPointPage::getExtensionPointManager` that only knows about your driver’s `DriverType`.

---

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 2:50pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/4 "2022-03-25T14:50:56Z")

</div>

Excellent. That was along the lines of what I was thinking. I’m glad to know that at least I was on the right track. I also figured that what I was asking would end up being complicated.

As always thank you for your quick response.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2022, 2:54pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/5 "2022-03-25T14:54:56Z")

</div>

If this works, you might even be able to get your driver to not show up in the regular flow to add a device by returning an empty list from `AbstractDriverModuleHook::getDriverTypes`, if you’re using it as a base for your module hook.

---

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 3:05pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/6 "2022-03-25T15:05:46Z")

</div>

That would be the hope. I will let you know where I get. Thank you for your help.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2022, 3:11pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/7 "2022-03-25T15:11:51Z")

</div>

Actually that may not work out… I don’t think you’re driver instances will ever get started.

---

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 3:38pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/8 "2022-03-25T15:38:07Z")

</div>

Our end design goal is to be able to add some sort of import functionality specifically for our devices. My thought was that if we had a page specific to our devices that we could add a new button to import a csv file which would add new instances of our device without having to try to recreate the entire OPCUA Devices page.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 25, 2022, 4:19pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/9 "2022-03-25T16:19:01Z")

</div>

I suspect you can make a top-level config page to do so, as long as you create both settings records for each instance.

---

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 7:10pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/10 "2022-03-25T19:10:32Z")

</div>

Well, after some fiddling I was able to get the gateway to make a duplicate of the devices page under its own heading with only my new driver listed and my driver not being listed under the OPCUA devices section.

When I create a new device it gives me a device configuration page and identical to the one that I had listed under the OPCUA devices and will create the corresponding records.

What it doesn’t do is actually list my created devices on the gateway, it is just creating the records.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 25, 2022, 7:23pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/11 "2022-03-25T19:23:43Z")

</div>

> [@Jean-Luc\_Stiles](#):
>
> What it doesn’t do is actually list my created devices on the gateway, it is just creating the records.

Yeah, because by not registering your DriverType the DeviceManager can't instantiate, start, and bookkeep your device instances. That's why I was saying it won't work out after all...

---

<div class="post-metadata">

**Author:** ![Jean-Luc\_Stiles](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@Jean-Luc\_Stiles](https://forum.inductiveautomation.com/u/Jean-Luc_Stiles)\
**Post date:** [March 25, 2022, 7:43pm UTC](https://forum.inductiveautomation.com/t/modify-device-extension-point-destination-for-placing-new-device-type-into-custom-category/57644/12 "2022-03-25T19:43:19Z")

</div>

What if my Module hook implements the DriverManager instead of using the ExtensionPointManger?

Would I be able to use its registerDriverType method to have my devices get listed? Or not easily?

Currently I haven’t filled out any methods there but I am implementing the DriverManager and my created devices are showing up on my devices in the status tab, just not on the page where I actually create my new device instances.
