# Anyone able and willing to give me a quick video-call intro into Ignition? (Willing to promise to work an Open-Source Apache PLC4X driver package in exchange)

**URL:** <https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623>\
**Category:** Ignition\
**Created:** [February 13, 2024, 12:51pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623 "2024-02-13T12:51:07Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 15, 2024, 10:35am UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/21 "2024-02-15T10:35:28Z")

</div>

So I've managed to get my module to be listet as provider in the "add historian" dialog and I was able to configure it. However the adapter stays in status "Disabled" ... I guess now I have to add the "store-and-forward" sink right?

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 15, 2024, 10:36am UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/22 "2024-02-15T10:36:31Z")

</div>

Thank you for this ... this should be pretty much what I had been looking for ... will investigate.

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 15, 2024, 12:34pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/23 "2024-02-15T12:34:47Z")

</div>

Hi all,

so it seems that since 7.9 some things have changed, or simply this is what has been referred to "overengineering" things. So I already had my TagHistoryProvider which seems to use my AbstractSink, however as I see it, all this is registered, once the TagHistoryProviderType.createHistoyProvide method is called ... however this doesn't seem to happen.

I've taken the liberty to simply put my code in a public github repo, so I can show you what I'm working on. It's available at: [https://github.com/chrisdutz/ignition-iotdb-historian](https://github.com/chrisdutz/ignition-iotdb-historian) ... I'd be really happy if anyone could possibly help me here. I don't want anyone to build anything finished, what I'd simply like to have, would be something that simply logs incoming data or prints it with System.out.print or whatever. I don't think that I'm too far away from this, but I admittedly feel a bit worn out digging through this. The earlier I've got this working, the earlier I can build other cool open-source tools for ignition 😉

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 1:42pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/24 "2024-02-19T13:42:12Z")

</div>

Ok ... so it seems I fixed another problem and now I can see my Historian being marked as "Running" and I could see my Sink being initialized.  
I've pushed my changes to the public github repo, if this is of any help to anyone.

Now I have to figgure out how to get data there.

---

<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:** [February 19, 2024, 2:02pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/25 "2024-02-19T14:02:36Z")

</div>

> [@christofer.dutz](#):
>
> how to get data there.

Select your new historian as the storage provider for a tag (turn on history).

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 3:09pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/26 "2024-02-19T15:09:37Z")

</div>

> [@pturmel](#):
>
> tag

So if I create a tag for an S7 variable I have, I can enable "History Enabled", in Storage Provider however I can't select my connection ... if I add an PostgreSQL connection in Databases, I can select that.

---

<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:** [February 19, 2024, 3:11pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/27 "2024-02-19T15:11:33Z")

</div>

> [@christofer.dutz](#):
>
> can't select my connection

Then something went wrong when you created an instance of your provider.

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 3:56pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/28 "2024-02-19T15:56:18Z")

</div>

So I've reset my Ignition installation and setup things again.

So if I add my dummy historian, it is reported to me as enabled and Running under "Tags/History".  
However under "Databases/Store and Forward" I can only see the default SQL-lite.

---

<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:** [February 19, 2024, 4:00pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/29 "2024-02-19T16:00:27Z")

</div>

> [@christofer.dutz](#):
>
> under "Databases/Store and Forward"

I wouldn't expect anything to show there for a non-database historian.

Open the tag browser, create a memory tag. Turn on history for it. Then click on the storage provider dropdown. If you don't see your historian instance as an option there, then it didn't get created/registered correctly. (I don't know the precise sequence yet--you're ahead of me on this.)

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 4:02pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/30 "2024-02-19T16:02:50Z")

</div>

Nope ... my historian doesn't show up there ☹

---

<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:** [February 19, 2024, 4:24pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/31 "2024-02-19T16:24:13Z")

</div>

Does your historian report that it can store history? (Needed in multiple spots, I noticed.)

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 4:35pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/32 "2024-02-19T16:35:27Z")

</div>

Here's my project:  
[https://github.com/chrisdutz/ignition-iotdb-historian](https://github.com/chrisdutz/ignition-iotdb-historian)

---

<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:** [February 19, 2024, 4:52pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/33 "2024-02-19T16:52:53Z")

</div>

Consider replacing your `getStatusInformation` method with this:

```auto
    @Override
    public TagHistoryProviderInformation getStatusInformation() {
        return TagHistoryProviderInformation.newBuilder()
                .name(getName())
                .status(getStatus())
                .allowsStorage(true)
                .build();
    }

```

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 5:01pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/34 "2024-02-19T17:01:50Z")

</div>

Tried that, rebuilt it, re-installed Ignition in order to re-start from a clean state, however nothing changed ☹

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 19, 2024, 5:04pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/35 "2024-02-19T17:04:56Z")

</div>

> [@pturmel](#):
>
> Does your historian report that it can store history? (Needed in multiple spots, I noticed.)

So I have this In my ProvideTye:

```python
    public boolean supportsStorage() {
        return true;
    }

```

In my Sink, the acceotsData is the only method besides the Constructor that is called. And this only when viewing the Status page:

```python
    @Override
    public boolean acceptsData(HistoryFlavor historyFlavor) {
        System.out.println("IoTDBHistorySink.acceptsData");
        return true;
    }

```

---

<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:** [February 19, 2024, 5:17pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/36 "2024-02-19T17:17:45Z")

</div>

I haven't even gotten to creating my shell of a Sink yet, so you are blazing a trail. Maybe someone else will pop in.

---

<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:** [February 19, 2024, 5:27pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/37 "2024-02-19T17:27:23Z")

</div>

I took another look. I don't see you registering your new provider in startup and unregistering it in shutdown. Like so:

```auto
    @Override
    public void startup() {
        context.getTagHistoryManager().registerTagHistoryProvider(this);
    }

    @Override
    public void shutdown() {
        context.getTagHistoryManager().unregisterTagHistoryProvider(providerName);
    }

```

{ Plus your sink. }

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 20, 2024, 8:11am UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/40 "2024-02-20T08:11:25Z")

</div>

This should be in my IoTDBHistoryProvider type?  
If I do that, it goes into an infinite loop as every time I call "registerTagHistoryProvider" it call the "startup" method again. I did add something similar to my Hook.

There I call this in the setup:

```python
 context.getTagHistoryManager().addTagHistoryProviderType(ioTDBHistorianProviderType);

```

---

<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:** [February 20, 2024, 1:29pm UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/41 "2024-02-20T13:29:47Z")

</div>

> [@christofer.dutz](#):
>
> goes into an infinite loop

Huh. Ok, I misunderstood that pair of methods.

---

<div class="post-metadata">

**Author:** ![christofer.dutz](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/christofer.dutz/32/76634_2.png) [@christofer.dutz](https://forum.inductiveautomation.com/u/christofer.dutz)\
**Post date:** [February 26, 2024, 10:32am UTC](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623/42 "2024-02-26T10:32:31Z")

</div>

Hi all,

so a colleague of mine managed to get what I had been working on into something that actually seems to be working.

 ![20240226-112859](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/8/1830bb5d822d876b35699264dd3b8fed25950852.jpeg)

I'll be cleaning things up a bit and then will update my public repository so anyone can profit from that.

Thanks to all that helped me get there 🙂 Hope my small additions help others a bit.

[Previous page](https://forum.inductiveautomation.com/t/anyone-able-and-willing-to-give-me-a-quick-video-call-intro-into-ignition-willing-to-promise-to-work-an-open-source-apache-plc4x-driver-package-in-exchange/85623.md?page=1)
