# Hub/Spoke Alarming

**URL:** <https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652>\
**Category:** Ignition\
**Created:** [October 25, 2022, 2:50pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652 "2022-10-25T14:50:32Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![danblibby](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@danblibby](https://forum.inductiveautomation.com/u/danblibby)\
**Post date:** [October 25, 2022, 2:50pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/1 "2022-10-25T14:50:32Z")

</div>

Hi everyone, looking for some advice on the best way to handle alarms on a hub and spoke architecture with multiple spokes. I have details included below and wanted peoples opinion if this looks like a correct setup for such an architecture. What prompted my question is I am attempting to transfer the alarming to the local spokes based on Ignition best practices, but all operators typically use our Hub for control due to remote access availability. If I handle the alarms locally, and an operator acknowledges the alarms on the Hub, they still remain as unacknowledged on the local project. Current setup:

Hub (Ignition Gateway)

1. Alarming is handled on the hub level for all systems
2. Reporting is handled on the hub level for all systems
3. Operators use the Hub for control/viewing unless fall back situation occurs.

Spoke/Local (Ignition Gateway)

1. Handles transaction groups for the spokes (Stores locally and also writes to a secondary database server)
2. Gateway fallback; if connection is lost to the Hub, the local client launches (however it remains active at all times)
3. Tag historian is handled on the local spoke and runs as splitter between local database and hub database
4. If local spoke is powered off, hub connection goes down as well (which seems backwards to me but I do like the local control of a physical machine onsite)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 25, 2022, 3:21pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/2 "2022-10-25T15:21:49Z")

</div>

Are you using remote tag providers (where 'spoke' "shares" its tags with 'hub')?

In that scenario, I would expect acknowledgement on the 'hub' to properly send down to the 'spoke', since _it's the same tag_.

---

<div class="post-metadata">

**Author:** ![danblibby](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@danblibby](https://forum.inductiveautomation.com/u/danblibby)\
**Post date:** [October 25, 2022, 4:59pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/3 "2022-10-25T16:59:40Z")

</div>

Thanks for your response! Currently the setup is using a "Standard Tag provider" on each Gateway. Based on your response, is it safe to assume that the method you mentioned would be a best practice for this type of setup. Am also reviewing

> **[Remote Tag Provider - Gateway Network](https://inductiveuniversity.com/videos/remote-tag-provider/8.1)**
>
> Remote Tag Provider: A remote Tag Provider uses the Gateway Network to grab a Tag Provider from another Gateway on the Gateway Network, allowing you to share Tags between networked Gateways. A remote Tag Provider works like a normal Tag Provider in...

Do you see any conflicts using this configuration if the Hub vs the Spoke are operating on two different Ignition versions? All of our local machines are version 8.0X but the hub is still operating under a 7.8X platform.

It has been fun trying to correct the ongoing list of architecture issues while keeping everyone online!

---

<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:** [October 25, 2022, 5:36pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/4 "2022-10-25T17:36:28Z")

</div>

> [@danblibby](#):
>
> architecture issues

Oy! Both hub and spokes are unsupported versions. (Not expired LTS, but versions that were _never_ long-term-support.)

You should consider fixing that problem first.

---

<div class="post-metadata">

**Author:** ![danblibby](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@danblibby](https://forum.inductiveautomation.com/u/danblibby)\
**Post date:** [October 25, 2022, 5:45pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/5 "2022-10-25T17:45:07Z")

</div>

Tell me about it.... 🙂 I have a Windows backup server running that I can get a clean install of the most recent release on. I will work on that and consider it my new "Hub" as I transition away from the other online hub server.

If I want to set up Redundancy, would the local machines be the "Master" with the hub being the "Backup"? So that in the event any of the local machines distributed across the network fail, they will be diverted to the Hub.....assuming that the local ISP network wasnt the failure. I just want to make sure I begin configuring the correct Gateway allocated as the backup as the instructions are pretty specific that you should start with a clean install on this device.

---

<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:** [October 25, 2022, 5:50pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/6 "2022-10-25T17:50:00Z")

</div>

No, redundancy is always an otherwise _ **identical** _ pair. Two hubs, but functioning as one. (I would get the master working before worrying about the backup.)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [October 25, 2022, 7:12pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/7 "2022-10-25T19:12:43Z")

</div>

> [@danblibby](#):
>
> Do you see any conflicts using this configuration if the Hub vs the Spoke are operating on two different Ignition versions? All of our local machines are version 8.0X but the hub is still operating under a 7.8X platform.

Recent versions of 8.1.X and 7.9.X are expected to be able to interoperate w/ remote tags, although you will not be able to _edit_ tags across the bridge; only read/write (alarming should work, though).  
'Legacy' versions like 8.0.X and 7.8.X have no such expectation of compatibility; as Phil mentioned, they're both no longer supported, and thus probably have no released versions that overlap in time.

---

<div class="post-metadata">

**Author:** ![danblibby](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@danblibby](https://forum.inductiveautomation.com/u/danblibby)\
**Post date:** [November 2, 2022, 12:25am UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/8 "2022-11-02T00:25:33Z")

</div>

I was able to setup a Gateway Network and Remote Tag Provider on a test server and all went well so thank you for the advice. I do have another hopefully simple question. I imported Vision windows from another project, but obviously the component paths are broken due to the new tag provider name. Is there an easy way to change all the tags used by components to include [New tag provider path] ? I did change the default tag provider for the project to my new provider but that did not convert all of the tags over. Thanks

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 2, 2022, 3:54pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/9 "2022-11-02T15:54:31Z")

</div>

It depends on how the bindings were created. If they were using an unqualified or 'default' qualified (starts with `[~]`) path, then they should just automatically switch.

If they were using a fully-qualified reference to the old path, then [Find And Replace](https://docs.inductiveautomation.com/display/DOC81/Find+and+Replace) is probably your best option.

---

<div class="post-metadata">

**Author:** ![danblibby](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@danblibby](https://forum.inductiveautomation.com/u/danblibby)\
**Post date:** [November 2, 2022, 4:23pm UTC](https://forum.inductiveautomation.com/t/hub-spoke-alarming/65652/10 "2022-11-02T16:23:50Z")

</div>

Thanks, I will look into it. they do indeed start with a 'default' provider path; but only partially converted after changing the new project tag provider default to use the remote tag provider.
