Add missing adapters, as pipeline and adapter as code sections
diff --git a/docs/03_use-programmatically-create-adapters.md b/docs/03_use-programmatically-create-adapters.md
new file mode 100644
index 0000000..5b38f79
--- /dev/null
+++ b/docs/03_use-programmatically-create-adapters.md
@@ -0,0 +1,154 @@
+---
+id: use-programmatically-create-adapters
+title: Adapters as Code
+sidebar_label: Adapters as Code
+---
+
+In Apache StreamPipes, adapters are typically created via the web interface.
+However, it is possible to create adapters programmatically using a compact YAML format and the treamPipes REST API.
+Programmatic creation of adapters can be a useful feature in cases where many similar adapters have to be created.
+In this case, an externally managed YAMl file containing the full adapter configuration can be used and modified.
+
+## Introduction
+
+In StreamPipes, adapters are responsible for collecting data from various industrial data sources.
+While the UI simplifies this process, you can also manage adapters programmatically for better automation, integration with CI/CD pipelines, or infrastructure-as-code practices.
+
+This guide demonstrates how to define and create adapters using a YAML format and StreamPipes REST API, offering more flexibility to manage adapters programmatically.
+
+## Adapter YAML Structure
+
+An adapter in StreamPipes can be defined using a YAML file, which contains a compact description of the adapter configuration.
+The basic structure of the YAML format for an adapter definition includes:
+
+- **Name**: The name of the adapter.
+- **ID**: A unique ID for the adapter
+- **Description**: An additional description of the adapter
+- **AppID**: The adapter type
+- **Configuration**: Configuration details such as connection details, polling intervals, data format, and more
+- **Schema**: Schema refinements, e.g., additional label, description, semantic type and property scope
+- **Enrich**: Enrichment rules. Currently, only timestamp enrichment rules are supported in the YAML specification
+- **Transform**: Transformation rules. Currently, rename and measurement unit transforms are supported.
+- **CreateOptions**: Additional operations that are executed upon adapter generation.
+
+Here’s a sample structure to define an OPC-UA adapter:
+
+```yaml
+name: My OPC Adapter
+id: testadapter
+description: Test
+appId: org.apache.streampipes.connect.iiot.adapters.opcua
+configuration:
+ - opc_host_or_url: OPC_URL
+ opc_server_url: opc.tcp://localhost:62541/milo
+ - adapter_type: PULL_MODE
+ pulling_interval: 1000
+ - access_mode: UNAUTHENTICATED
+ - available_nodes:
+ - "ns=2;s=Leakage Test Station/temperature"
+ - "ns=2;s=Leakage Test Station/pressure"
+
+schema:
+ temperature:
+ propertyScope: measurement
+ label: Temp
+ description: Temperature value
+ semanticType: http://schema.org/temperature
+
+enrich:
+ timestamp: timestamp
+
+transform:
+ rename:
+ pressure: pressure3
+
+createOptions:
+ persist: true
+ start: true
+```
+
+## Programmatically creating adapters
+
+Here is a walkthrough to create an adapter programmatically over the API:
+
+### Background: Internal adapter generation process
+
+The YAML definition file is a more compact notation of StreamPipes' internal data format to represent an adapter.
+When creating an adapter over the user interface, StreamPipes requires some basic, adapter-specific settings.
+Afterwards, a `Guess Schema` step is executed. In this step, StreamPipes connects to the underlying data sources, receives some samples of live data, determines the exact schema of the data stream and provides user with the source schema.
+This schema can be further refined using `Transformation Rules`.
+
+When an adapter is created using the more compact YAML notation, the same process is applied. Based on the provided configuration, the API connects to the given data source and determines the schema.
+The transformation rules provided in the YAMl definition are then applied on the original schema.
+Therefore, it is important that the provided schema refinement and transformation steps fit the original schema.
+
+### Getting a valid definition file
+
+The easiest way to create a valid YAML file is the user interface. Within the StreamPipes Connect view, it is possible to export the YAML definition for all existing adapters.
+In addition, the adapter generation wizard also offers the option to view the adapter configuration before creating the adapter by clicking the `Code` checkbox:
+
+<img className="docs-image" src="/img/03_use-programmatically-create-adapters/01_adapter-generation-code.png" alt="StreamPipes Adapter Code View"/>
+
+Another option is to open the adapter details view:
+
+<img className="docs-image" src="/img/03_use-programmatically-create-adapters/02_adapter-details-view-code.png" alt="StreamPipes Adapter Details Code View"/>
+
+You can copy this definition and modify it according to your needs.
+
+#### Configuration
+
+For each configuration option in the user interface, there is a mapping to the YAMl definition.
+
+A configuration value is a key/value pair, where the key corresponds to the internal name of the configuration and the value depends on the configuration type.
+
+#### Schema
+
+Schema definitions enhance the metadata of each field from the input stream.
+The following configurations are supported:
+
+* `label` to add an additional (human-readable) label to the field
+* `description` for an additional description
+* `propertyScope` to determine the type of the field (HEADER_PROPERTY, DIMENSION_PROPERTY or MEASUREMENT_PROPERTY)
+* `semanticType` to provide the semantic type of the field (e.g., `https://schema.org/temperature`)
+
+#### Enrich
+
+* `timestamp` defines that an additional field named timestamp is added to each incoming event containing the ingestion time as a UNIX timestamp.
+
+#### Transform
+
+Currently, the following transforms are supported:
+
+* `rename` defines renaming of individual fields from the input stream. A valid configuration consists of a key/value pair, where the key indicates the original field name and the value the target field name.
+* `measurementUnit` defines a value transformation between measurement units. A valid configuration consists of a key/value pair, where the key indicates the field name and the value the target measurement unit.
+
+#### CreateOptions
+
+Currently, two settings can be provided in the `CreateOptions` section:
+
+* `persist` indicates whether the data stream produced by the adapter should also be stored. In this case, a `Persist Pipeline` is automatically created.
+* `start` indicates whether the adapter should be immediately started after creation.
+
+### API
+
+To create a new adapter, call the StreamPipes API as follows:
+
+```
+POST /streampipes-backend/api/v2/compact-adapters
+Content-type: application/yml
+Accept: application/yml
+```
+
+You must provide valid credentials by either adding a Bearer token or an API key:
+
+```
+X-API-USER: your username
+X-API-KEY: your api key
+```
+
+The body of the request should contain the YAML definition.
+
+:::info
+It is also possible to provide the adapter specification as a JSON document. In this case, change the `Content-type` to `application/json`.
+
+
diff --git a/docs/03_use-programmatically-create-pipelines.md b/docs/03_use-programmatically-create-pipelines.md
new file mode 100644
index 0000000..a3a117b
--- /dev/null
+++ b/docs/03_use-programmatically-create-pipelines.md
@@ -0,0 +1,164 @@
+---
+id: use-programmatically-create-pipelines
+title: Pipelines as Code
+sidebar_label: Pipelines as Code
+---
+
+In Apache StreamPipes, pipelines represent the flow of data from sources (streams), through processors (filters, transformations, etc.), and finally to sinks (third-party-systems, storage, notifications).
+Traditionally, pipelines are created through the web-based user interface.
+However, they can also be defined programmatically as code, offering the flexibility to manage pipelines using Infrastructure as Code (IaC) practices.
+
+This guide explains how to define and create pipelines programmatically using a YAML structure.
+
+## Introduction
+
+Defining pipelines as code allows you to automate the creation, management, and deployment of StreamPipes pipelines.
+This is especially useful for managing multiple StreamPipes instances across environments.
+Pipelines are written in a YAML format (or alternatively as JSON) and can be deployed programmatically via the StreamPipes REST API.
+
+This guide provides an overview of how to structure pipeline definitions in YAML and deploy them using the API.
+
+## Pipeline YAML Structure
+
+A pipeline in YAML consists of several key sections:
+
+- **ID**: A unique identifier for the pipeline.
+- **Name and Description**: Optional fields to describe the pipeline.
+- **Pipeline Elements**: The components that make up the pipeline, including streams (data sources), processors (data transformations), and sinks (output destinations).
+- **Create Options**: Specifies how and when to start the pipeline (e.g., `start: false` means the pipeline won't start automatically).
+
+Here’s a high-level breakdown of the structure:
+
+```yaml
+id: my-pipeline
+name: ""
+description: ""
+pipelineElements: # Define pipeline components here
+ - type: stream # Data source
+ ref: <reference> # Unique reference ID
+ id: <data-stream-id> # ID of the stream
+
+ - type: processor # Data transformation
+ ref: <reference> # Unique reference ID
+ id: <processor-id> # ID of the processor
+ connectedTo: # Previous pipeline element reference(s)
+ - <reference>
+ configuration: # Processor-specific configurations
+ - <configuration-option>
+
+ - type: sink # Data sink (output)
+ ref: <reference> # Unique reference ID
+ id: <sink-id> # ID of the sink
+ connectedTo: # Previous pipeline element reference(s)
+ - <reference>
+ configuration: # Sink-specific configurations
+ - <configuration-option>
+
+createOptions:
+ start: <true|false> # Whether to start the pipeline immediately
+```
+
+## Pipeline Elements
+
+### Building blocks
+
+The key building blocks of a pipeline include:
+
+#### Stream
+A stream represents a data source in the pipeline, such as a sensor feed, API, or message queue. It is referenced by a unique ID that identifies the data stream.
+
+#### Processor
+A processor transforms, filters, or enriches the data coming from a stream or another processor. Each processor has configuration parameters that control its behavior, such as filtering criteria or mapping options.
+
+#### Sink
+A sink sends the processed data to a final destination, such as a database, file storage, or another service. Sinks may also have configuration options that specify where and how the data should be sent.
+
+A pipeline element is selected by providing its ID. For processors and sinks, the ID refers to the `appId` of the pipeline element, e.g., `org.apache.streampipes.processors.filters.jvm.numericalfilter`.
+For data streams, the ID refers to the `elementId` of the data stream.
+
+To define connections between pipeline elements, the `ref` and `connectedTo` fields can be used.
+`ref` can be a short string (e.g., `stream01` or `processor01`) which will be used as an internal identifier of the pipeline element.
+Within the `connectedTo` list, connections to other pipeline elements can be defined.
+Each item of the list should relate to an existing `ref`.
+
+### Configuration
+
+In the `configuration` section, which only applies for data processors and sinks, the pipeline element configuration can be applied.
+The configuration options depend on the pipeline element and have the same structure as the adapter configuration (see [Adapters as Code](use-programmatically-create-adapters))
+The easiest way to determine a valid configuration is the web interface.
+
+After creating a pipeline in the web interface and clicking on `Save pipeline`, the option `Show pipeline configuration as code` shows the current pipeline configuration in YAML or JSON format:
+
+<img className="docs-image" src="/img/03_use-programmatically-create-pipelines/01_pipeline-editor-pipeline-as-code.png" alt="StreamPipes Pipeline Editor Code View"/>
+
+Another option is to view the pipeline details for an existing pipeline. Here, the YAMl definition of the pipeline can be viewed by clicking the `View pipeline as code` button:
+
+<img className="docs-image" src="/img/03_use-programmatically-create-pipelines/02_pipeline-details-pipeline-as-code.png" alt="StreamPipes Pipeline Editor Code View"/>
+
+
+## Example pipeline as Code
+
+Here's an example of a pipeline written in YAML format:
+
+```yaml
+id: my-pipeline
+name: "Density Filter Pipeline"
+description: "A pipeline that filters data based on the density and stores it in a data lake."
+pipelineElements:
+ - type: stream
+ ref: stream01
+ id: sp:spdatastream:GWWzMD
+ - type: processor
+ ref: processor01
+ id: org.apache.streampipes.processors.filters.jvm.numericalfilter
+ connectedTo:
+ - stream01
+ configuration:
+ - number-mapping: s0::density
+ - operation: <
+ - value: "12"
+ - type: sink
+ ref: sink01
+ id: org.apache.streampipes.sinks.internal.jvm.datalake
+ connectedTo:
+ - processor01
+ configuration:
+ - timestamp_mapping: s0::timestamp
+ - db_measurement: my-measurement
+ - schema_update: Update schema
+ - dimensions_selection:
+ - sensorId
+ - ignore_duplicates: false
+createOptions:
+ start: false
+```
+
+Stream: The pipeline begins with a data stream (sp:spdatastream:GWWzMD) referenced by stream01. This is the source of the data.
+
+Processor: The data is passed through a numerical filter processor (org.apache.streampipes.processors.filters.jvm.numericalfilter) which checks if the field s0::density is less than 12. The filter is connected to the stream via reference stream01.
+
+Sink: The filtered data is then sent to a data lake (org.apache.streampipes.sinks.internal.jvm.datalake). The sink is configured with several parameters including the mapping of the timestamp (s0::timestamp) and schema update options. The sink is connected to the processor via reference processor01.
+
+Create Options: The pipeline is set to not start automatically (start: false).
+
+## API
+
+To create a new pipeline, call the StreamPipes API as follows:
+
+```
+POST /streampipes-backend/api/v2/compact-pipelines
+Content-type: application/yml
+Accept: application/yml
+```
+
+You must provide valid credentials by either adding a Bearer token or an API key:
+
+```
+X-API-USER: your username
+X-API-KEY: your api key
+```
+
+The body of the request should contain the YAML definition.
+
+:::info
+It is also possible to provide the pipeline specification as a JSON document. In this case, change the `Content-type` to `application/json`.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md
new file mode 100644
index 0000000..5986afd
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth
+title: Allen Bradley ETH
+sidebar_label: Allen Bradley ETH
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Allen Bradley ETH.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* station: Id of the station we want to connect to (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md
new file mode 100644
index 0000000..ecf5463
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md
@@ -0,0 +1,108 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads
+title: Beckhoff TwinCat ADS
+sidebar_label: Beckhoff TwinCat ADS
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Beckhoff TwinCat ADS.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+* target-ams-net-id: AMS-Net-Id of the target. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* target-ams-port: AMS port of the target. (INT)
+* source-ams-net-id: AMS-Net-Id of the source. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* source-ams-port: AMS port of the source. (INT)
+
+#### Optional
+
+* target-ams-net-id: AMS-Net-Id of the target. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* target-ams-port: AMS port of the target. (INT)
+* source-ams-net-id: AMS-Net-Id of the source. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* source-ams-port: AMS port of the source. (INT)
+* timeout-request: Default timeout for all types of requests. (INT)
+* load-symbol-and-data-type-tables: Configures, if when connecting the data-type- and symbol-table should be read. This is an optimization that can help in cases, where the PLC program is pretty large and downloading the full tables is causing problems. When disabled, symbolic addresses will manually be resolved as soon as an address is used. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md
new file mode 100644
index 0000000..5a50c2b
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip
+title: BACnet/IP
+sidebar_label: BACnet/IP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting BACnet/IP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* udp
+* tcp
+* pcap
+
+### Transport Metadata
+
+#### Required
+
+**udp**
+
+
+
+#### Advanced
+
+**udp**
+
+* local-port: Some connections require a UDP listener to listen on a fixed port.
+Use this configuration option in order to define the port number of the local port. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* ede-file-path: Path to the location of a single EDE file, that contains the descriptor for the target device. (STRING)
+* ede-directory-path: Path to the directory used for storing multiple EDE files. These files contain the descriptors for the possible target devices. (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md
new file mode 100644
index 0000000..ac969d5
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen
+title: CAN open
+sidebar_label: CAN open
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting CAN open.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* socketcan
+
+### Transport Metadata
+
+#### Required
+
+**socketcan**
+
+
+
+#### Advanced
+
+**socketcan**
+
+
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* node-id: CAN node identifier. Depending on used CAN version it might be 11 or 29 bit unsigned int. (INT)
+* heartbeat: Forces PLC4X to send CANopen heartbeat (NMT) messages to the bus. (BOOLEAN)
+* request-timeout: Time after which dispatched BUS operation (ie. SDO request) will be marked as failed. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md
new file mode 100644
index 0000000..f7a18bd
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip
+title: EthernetIP
+sidebar_label: EthernetIP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting EthernetIP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* backplane: Without using routing information the backplane defaults to 1. This is overridden if communicationPath is provided. (INT)
+* slot: The slot within the backplane the CPU is located. (INT)
+* bigEndian: Configure if the connection should be set to transport data in Big-Endian format, or not. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md
new file mode 100644
index 0000000..0195018
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md
@@ -0,0 +1,99 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan
+title: Generic CAN
+sidebar_label: Generic CAN
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Generic CAN.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* socketcan
+
+### Transport Metadata
+
+#### Required
+
+**socketcan**
+
+
+
+#### Advanced
+
+**socketcan**
+
+
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* node-id: Node id of the target device. (INT)
+* request-timeout: Default timeout for all types of requests. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md
new file mode 100644
index 0000000..8789117
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104
+title: IEC 60870-5-104
+sidebar_label: IEC 60870-5-104
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting IEC 60870-5-104.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md
new file mode 100644
index 0000000..cd15c4c
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md
@@ -0,0 +1,114 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip
+title: KNXNet/IP
+sidebar_label: KNXNet/IP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting KNXNet/IP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* udp
+* pcap
+* raw
+
+### Transport Metadata
+
+#### Required
+
+**udp**
+
+
+
+#### Advanced
+
+**udp**
+
+* local-port: Some connections require a UDP listener to listen on a fixed port.
+Use this configuration option in order to define the port number of the local port. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* knxproj-file-path: Path to the `knxproj` file. The default KNXnet/IP protocol doesn't provide all the information needed to be able to fully decode the messages. (STRING)
+* knxproj-password: Optional password needed to read the knxproj file. (STRING)
+* group-address-num-levels: KNX Addresses can be encoded in multiple ways. Which encoding is used, is too not provided by the protocol itself so it has to be provided externally:
+
+- 3 Levels: {main-group (5 bit)}/{middle-group (3 bit)}/{sub-group (8 bit)}
+- 2 Levels: {main-group (5 bit)}/{sub-group (11 bit)}
+- 1 Level: {sub-group (16 bit)}
+
+The default is 3 levels. If the `knxproj-file-path` this information is provided by the file. (INT)
+* connection-type: Type of connection used to communicate. Possible values are:
+
+- 'LINK_LAYER' (default): The client becomes a participant of the KNX bus and gets it's own individual KNX address.
+- 'RAW': The client gets unmanaged access to the bus (be careful with this)
+- 'BUSMONITOR': The client operates as a busmonitor where he can't actively participate on the bus. Only one 'BUSMONITOR' connection is allowed at the same time on a KNXnet/IP gateway. (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md
new file mode 100644
index 0000000..65a0697
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md
@@ -0,0 +1,105 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix
+title: Logix CIP
+sidebar_label: Logix CIP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Logix CIP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* communication-path: The communication path allows for connection routing across multiple backplanes. It uses a common format found in Logix controllers.
+It consists of pairs of values, each pair begins with either 1 (Backplane) or 2 (Ethernet), followed by a slot in the case of a backplane address,
+or if using Ethernet an ip address. e.g. [1,4,2,192.168.0.1,1,1] - Routes to the 4th slot in the first rack, which is a ethernet module, it then connects to the address 192.168.0.1, then finds the module in slot 1. (STRING)
+* backplane: Without using routing information the backplane defaults to 1. This is overridden if communicationPath is provided. (INT)
+* slot: The slot within the backplane the CPU is located. (INT)
+* bigEndian: Configure if the connection should be set to transport data in Big-Endian format, or not. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md
new file mode 100644
index 0000000..540fdde
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii
+title: Modbus ASCII
+sidebar_label: Modbus ASCII
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus ASCII.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+* serial
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md
new file mode 100644
index 0000000..e820a97
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu
+title: Modbus RTU
+sidebar_label: Modbus RTU
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus RTU.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+* serial
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md
new file mode 100644
index 0000000..f0071ab
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp
+title: Modbus TCP
+sidebar_label: Modbus TCP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus TCP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+* ping-address: Simple address, that the driver will use to check, if the connection to a given device is active (Defaults to reading holding-register 1). (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md
new file mode 100644
index 0000000..b1ed7bd
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol
+title: Open-Protocol
+sidebar_label: Open-Protocol
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Open-Protocol.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md
new file mode 100644
index 0000000..63246e2
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet
+title: Profinet
+sidebar_label: Profinet
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Profinet.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* raw
+
+### Transport Metadata
+
+#### Required
+
+**raw**
+
+
+
+#### Advanced
+
+**raw**
+
+* resolve-mac-address: If set to true, the transport will automatically resolve the MAC address for a given IP address (Allows connecting to a raw-socket device using the devices host-name or ip-address). (BOOLEAN)
+* support-vlans: Should VLan packets be automatically unpacked? (BOOLEAN)
+* protocol-id: When provided, filters all packets to let only packets matching this ethernet protocol-id pass. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+* gsd-directory: (STRING)
+
+#### Optional
+
+* gsd-directory: (STRING)
+* dap-id: (STRING)
+* ip-address: (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md
new file mode 100644
index 0000000..6669f47
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md
@@ -0,0 +1,119 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7
+title: Siemens S7 (Basic)
+sidebar_label: Siemens S7 (Basic)
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Siemens S7 (Basic).
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* local-rack: Rack value for the client (PLC4X device). (INT)
+* local-slot: Slot value for the client (PLC4X device). (INT)
+* local-tsap: Local Transport Service Access Point. (INT)
+* remote-rack: Rack value for the remote main CPU (PLC). (INT)
+* remote-slot: Slot value for the remote main CPU (PLC). (INT)
+* remote-rack2: Rack value for the remote secondary CPU (PLC). (INT)
+* remote-slot2: Slot value for the remote secondary CPU (PLC). (INT)
+* remote-tsap: Remote Transport Service Access Point. (INT)
+* pdu-size: Maximum size of a data-packet sent to and received from the remote PLC. During the connection process both parties will negotiate a maximum size both parties can work with and is equal or smaller than the given value is used. The driver will automatically split up large requests to not exceed this value in a request or expected response. (INT)
+* max-amq-caller: Maximum number of unconfirmed requests the PLC will accept in parallel before discarding with errors. This parameter also will be negotiated during the connection process and the maximum both parties can work with and is equal or smaller than the given value is used. The driver will automatically take care not exceeding this value while processing requests. Too many requests can cause a growing queue. (INT)
+* max-amq-callee: Maximum number of unconfirmed responses or requests PLC4X will accept in parallel before discarding with errors. This option is available for completeness and is correctly handled out during the connection process, however it is currently not enforced on PLC4X’s side. So if a PLC would send more messages than agreed upon, these would still be processed. (INT)
+* controller-type: As part of the connection process, usually the PLC4X S7 driver would try to identify the remote device. However some devices seem to have problems with this and hang up or cause other problems. In such a case, providing the controller-type will skip the identification process and hereby avoid this type of problem. Possible values are:/n- S7_300
+- S7_400
+- S7_1200
+- S7-1500
+- LOGO (STRING)
+* read-timeout: This is the maximum waiting time for reading on the TCP channel. As there is no traffic, it must be assumed that the connection with the interlocutor was lost and it must be restarted. When the channel is closed, the "fail over" is carried out in case of having the secondary channel, or it is expected that it will be restored automatically, which is done every 4 seconds. (INT)
+* ping: Time for supervision of TCP channels. If the channel is not active, a safe stop of the EventLoop must be performed, to ensure that no additional tasks are created. (BOOLEAN)
+* ping-time: If your application requires sampling times greater than the set "read-timeout" time, it is important that the PING option is activated, this will prevent the TCP channel from being closed unnecessarily. (INT)
+* retry-time: Time value in seconds at which the execution of the PING will be scheduled. Generally set by developer experience, but generally should be the same as (read-timeout / 2). (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.expression.md b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.expression.md
new file mode 100644
index 0000000..1e7dee6
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.expression.md
@@ -0,0 +1,61 @@
+---
+id: org.apache.streampipes.processors.enricher.jvm.processor.expression
+title: Math Expression
+sidebar_label: Math Expression
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.expression/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+A pipeline element that evaluates Math expressions using the Apache Commons JEXL library.
+
+***
+
+## Required input
+This processor works with any input stream that contains numerical values.
+
+***
+
+## Configuration
+A math expression can be defined using the JEXL syntax (see https://commons.apache.org/proper/commons-jexl/index.html).
+
+Example:
+
+```
+flow_rate*2
+```
+
+It is also possible to use methods from `java.lang.Math`:
+
+```
+Math.pow(flow_rate^2)
+```
+
+All fields from th einput stream are available as variables.
+
+## Output
+For each expression, an additional field is created in the output stream. Field names are user-defined.
diff --git a/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert.md b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert.md
new file mode 100644
index 0000000..f538b18
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert.md
@@ -0,0 +1,113 @@
+---
+id: org.apache.streampipes.processors.enricher.jvm.processor.limitsalert
+title: Sensor Limit Alert
+sidebar_label: Sensor Limit Alert
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The Sensor Limit Alert processor monitors sensor values in real-time and triggers alerts when these values exceed user-defined control or warning limits. This processor is useful in scenarios where continuous monitoring of critical parameters is required, and immediate action is needed when values go out of acceptable ranges.
+
+***
+
+## Required Input
+
+This processor accepts any event stream containing sensor data. The events must include fields for sensor values and the corresponding upper and lower limits.
+
+***
+
+## Configuration
+
+#### Sensor Value
+
+Select the sensor value to be monitored. This is the primary measurement that will be checked against the defined limits.
+
+#### Upper Control Limit
+
+Specify the upper control limit for the sensor. This value defines the maximum threshold, beyond which an alert is triggered.
+
+#### Upper Warning Limit
+
+Specify the upper warning limit for the sensor. This value indicates when the sensor value is approaching the upper control limit, triggering a warning.
+
+#### Lower Warning Limit
+
+Specify the lower warning limit for the sensor. This value indicates when the sensor value is approaching the lower control limit, triggering a warning.
+
+#### Lower Control Limit
+
+Specify the lower control limit for the sensor. This value defines the minimum threshold, below which an alert is triggered.
+
+***
+
+## Output
+
+The processor emits events only when the sensor value exceeds the specified limits. The output event includes the original sensor data along with additional fields that indicate:
+- **Alert Status**: Whether the sensor value breached a WARNING or control LIMIT.
+- **Limit Breached**: Which specific limit was breached (e.g., "UPPER_CONTROL_LIMIT" or "LOWER_WARNING_LIMIT").
+
+These output events can be used for triggering notifications or other actions in downstream processing.
+
+***
+
+## Example
+
+### User Configuration
+- Mapping fields for:
+ - **Sensor Value**
+ - **Upper Control Limit**
+ - **Upper Warning Limit**
+ - **Lower Warning Limit**
+ - **Lower Control Limit**
+
+### Input Event
+```
+{
+ "timestamp": 1627891234000,
+ "sensorValue": 105.0,
+ "upperControlLimit": 100.0,
+ "upperWarningLimit": 90.0,
+ "lowerWarningLimit": 10.0,
+ "lowerControlLimit": 0.0
+}
+```
+
+### Output Event
+```
+{
+ "timestamp": 1627891234000,
+ "sensorValue": 105.0,
+ "upperControlLimit": 100.0,
+ "upperWarningLimit": 90.0,
+ "lowerWarningLimit": 10.0,
+ "lowerControlLimit": 0.0,
+ "alertStatus": "ALERT",
+ "limitBreached": "UPPER_CONTROL_LIMIT"
+}
+```
\ No newline at end of file
diff --git a/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment.md b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment.md
new file mode 100644
index 0000000..e44d90d
--- /dev/null
+++ b/docs/pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment.md
@@ -0,0 +1,104 @@
+---
+id: org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment
+title: Quality Control Limits Enrichment
+sidebar_label: Quality Control Limits Enrichment
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The Quality Control Limits Enrichment processor appends user-defined control and warning limits to incoming events.
+These limits can be used in quality control charts to monitor sensor values.
+
+***
+
+## Required Input
+
+This processor works with any event stream. It adds predefined limit values to the events, which are later used for
+quality control purposes.
+
+***
+
+## Configuration
+
+#### Upper Control Limit
+
+Specify the upper control limit for the quality control process. This value defines the maximum threshold for acceptable
+process behavior.
+
+#### Upper Warning Limit
+
+Specify the upper warning limit for the quality control process. This value indicates when the process is approaching
+the upper control limit.
+
+#### Lower Warning Limit
+
+Specify the lower warning limit for the quality control process. This value indicates when the process is approaching
+the lower control limit.
+
+#### Lower Control Limit
+
+Specify the lower control limit for the quality control process. This value defines the minimum threshold for acceptable
+process behavior.
+
+***
+
+## Output
+
+The processor appends the specified control and warning limits to each input event. These enriched events can be used in
+downstream processing to create quality control charts or other monitoring tools.
+
+***
+
+## Example
+
+### User Configuration
+- **Upper Control Limit**: `80.0`
+- **Upper Warning Limit**: `70.0`
+- **Lower Warning Limit**: `30.0`
+- **Lower Control Limit**: `20.0`
+
+### Input Event
+```
+{
+ "timestamp": 1627891234000,
+ "temperature": 65.0
+}
+```
+
+### Output Event
+```
+{
+ "timestamp": 1627891234000,
+ "temperature": 65.0,
+ "upperControlLimit": 80.0,
+ "upperWarningLimit": 70.0,
+ "lowerWarningLimit": 30.0,
+ "lowerControlLimit": 20.0
+}
+```
\ No newline at end of file
diff --git a/docs/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md b/docs/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
index 44a0918..0bc1ea3 100644
--- a/docs/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
+++ b/docs/pe/org.apache.streampipes.sinks.internal.jvm.datalake.md
@@ -47,6 +47,16 @@
## Configuration
+### Dimensions
+
+The fields which will be stored as dimensional values in the time series storage. Dimensions are typically identifiers
+such as the ID of a sensor.
+Dimensions support grouping in the data explorer, but will be converted to a text-based field and provide less advanced
+filtering capabilities.
+
+Be careful when modifying dimensions of existing pipelines! This might have impact on how you are able to view data in
+the data explorer due to schema incompatibilities.
+
### Identifier
The name of the measurement (table) where the events are stored.
@@ -66,3 +76,22 @@
- **Description:** Keeps old event fields in the event schema.
- **Strategy:** This follows an append-only strategy, allowing continued work with historic data.
- **Consideration:** Old properties may exist for which no new data is generated.
+
+
+### Dimensions
+
+Select fields which will be marked as dimensions. Dimensions reflect tags in the underlying time-series database.
+Dimensions support grouping operations and can be used for fields with a limited set of values, e.g., boolean flags or
+fields representing IDs. Dimensions are not a good choice for fields with a high number of different values since they
+slow down database queries.
+
+By default, all fields which are marked as dimensions in the metadata are chosen and can be manually overridden
+with this configuration.
+
+Data types which can be marked as dimensional values are booleans, integer, and strings.
+
+### Ignore Duplicates
+
+Before writing an event to the time series storage, a duplicate check is performed. By activating this option, only
+fields having a different value than the previous event are stored.
+This setting only affects measurement fields, not dimensions.
diff --git a/website-v2/sidebars.json b/website-v2/sidebars.json
index f45b5a4..cd37c41 100644
--- a/website-v2/sidebars.json
+++ b/website-v2/sidebars.json
@@ -17,33 +17,50 @@
"use-data-explorer",
"use-notifications",
"use-install-pipeline-elements",
- "use-configurations"
+ "use-configurations",
+ "use-programmatically-create-adapters",
+ "use-programmatically-create-pipelines"
],
- "📚 Pipeline Elements": [
+ "📚 Extensions": [
{
"type": "category",
"label": "Adapters",
"items": [
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.kafka",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.pulsar",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.rocketmq",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.tubemq",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.file",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.httpserver",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.http",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104",
"pe/org.apache.streampipes.connect.adapters.iss",
"pe/org.apache.streampipes.connect.adapters.image.stream",
"pe/org.apache.streampipes.connect.iiot.adapters.influxdb.stream",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.mqtt",
"pe/org.apache.streampipes.connect.iiot.adapters.simulator.machine",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.nats",
"pe/org.apache.streampipes.connect.iiot.adapters.netio.mqtt",
"pe/org.apache.streampipes.connect.iiot.adapters.netio.rest",
"pe/org.apache.streampipes.connect.iiot.adapters.oi4",
"pe/org.apache.streampipes.connect.iiot.adapters.opcua",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol",
"pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus",
"pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet",
"pe/org.apache.streampipes.connect.iiot.adapters.ros",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7",
"pe/org.apache.streampipes.connect.iiot.adapters.iolink"
]
},
@@ -68,26 +85,13 @@
"pe/org.apache.streampipes.processors.transformation.jvm.field-mapper",
"pe/org.apache.streampipes.processors.transformation.jvm.fieldrename",
"pe/org.apache.streampipes.processor.imageclassification.jvm.generic-image-classification",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.buffergeometry",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.bufferpoint",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.reprojection",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.revgeocoder.geocityname",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.latlngtojtspoint",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.distancecalculator.haversine",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.distancecalculator.haversinestatic",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.epsg",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.validation.complex",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.validation.simple",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.geocoder.googlemaps",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.geocoder.googlemapsstatic",
- "pe/org.apache.streampipes.processors.geo.jvm.jts.processor.trajectory",
- "pe/org.apache.streampipes.processors.geo.jvm.latlong.processor.speedcalculator",
"pe/org.apache.streampipes.processor.imageclassification.jvm.image-cropper",
"pe/org.apache.streampipes.processor.imageclassification.jvm.image-enricher",
"pe/org.apache.streampipes.processors.enricher.jvm.jseval",
"pe/org.apache.streampipes.processors.siddhi.listcollector",
"pe/org.apache.streampipes.processors.siddhi.listfilter",
"pe/org.apache.streampipes.processors.enricher.jvm.processor.math.mathop",
+ "pe/org.apache.streampipes.processors.enricher.jvm.processor.expression",
"pe/org.apache.streampipes.processors.transformation.jvm.booloperator.timekeeping",
"pe/org.apache.streampipes.processors.transformation.jvm.measurementunitconverter",
"pe/org.apache.streampipes.processors.filters.jvm.enrich",
@@ -102,7 +106,9 @@
"pe/org.apache.streampipes.processors.textmining.jvm.partofspeech",
"pe/org.apache.streampipes.processors.filters.jvm.project",
"pe/org.apache.streampipes.processor.imageclassification.qrcode",
+ "pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment",
"pe/org.apache.streampipes.processors.filters.jvm.limit",
+ "pe/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert",
"pe/org.apache.streampipes.processors.textmining.jvm.sentencedetection",
"pe/org.apache.streampipes.processors.transformation.jvm.processor.booloperator.edge",
"pe/org.apache.streampipes.processors.transformation.jvm.split-array",
diff --git a/website-v2/static/img/03_use-programmatically-create-adapters/01_adapter-generation-code.png b/website-v2/static/img/03_use-programmatically-create-adapters/01_adapter-generation-code.png
new file mode 100644
index 0000000..c04d862
--- /dev/null
+++ b/website-v2/static/img/03_use-programmatically-create-adapters/01_adapter-generation-code.png
Binary files differ
diff --git a/website-v2/static/img/03_use-programmatically-create-adapters/02_adapter-details-view-code.png b/website-v2/static/img/03_use-programmatically-create-adapters/02_adapter-details-view-code.png
new file mode 100644
index 0000000..24f9849
--- /dev/null
+++ b/website-v2/static/img/03_use-programmatically-create-adapters/02_adapter-details-view-code.png
Binary files differ
diff --git a/website-v2/static/img/03_use-programmatically-create-pipelines/01_pipeline-editor-pipeline-as-code.png b/website-v2/static/img/03_use-programmatically-create-pipelines/01_pipeline-editor-pipeline-as-code.png
new file mode 100644
index 0000000..f7ed8eb
--- /dev/null
+++ b/website-v2/static/img/03_use-programmatically-create-pipelines/01_pipeline-editor-pipeline-as-code.png
Binary files differ
diff --git a/website-v2/static/img/03_use-programmatically-create-pipelines/02_pipeline-details-pipeline-as-code.png b/website-v2/static/img/03_use-programmatically-create-pipelines/02_pipeline-details-pipeline-as-code.png
new file mode 100644
index 0000000..ca800a5
--- /dev/null
+++ b/website-v2/static/img/03_use-programmatically-create-pipelines/02_pipeline-details-pipeline-as-code.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png
deleted file mode 100644
index 420be61..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.coindesk/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png
deleted file mode 100644
index 416bfb8..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.flic.mqtt/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png
deleted file mode 100644
index b9ec80c..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.gdelt/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png
deleted file mode 100644
index 48afa81..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.news/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png
deleted file mode 100644
index 48afa81..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.iex.stocks/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png
deleted file mode 100644
index 52f3575..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.image.set/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png
deleted file mode 100644
index 1f9bb88..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.set/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png
deleted file mode 100644
index 1f9bb88..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.influxdb.stream/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png
deleted file mode 100644
index 084246f..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.set/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png
deleted file mode 100644
index 084246f..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.mysql.stream/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png
deleted file mode 100644
index b202048..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.mqtt/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png
deleted file mode 100644
index b202048..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.netio.rest/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png
deleted file mode 100644
index f9ab06c..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.nswaustralia.trafficcamera/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png
deleted file mode 100644
index ab68d43..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.opcua/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png
deleted file mode 100644
index ae0e943..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ros/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png
deleted file mode 100644
index 33c09c4..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.machine/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png
deleted file mode 100644
index 05cc7c3..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdataset/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png
deleted file mode 100644
index 05cc7c3..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.simulator.randomdatastream/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png
deleted file mode 100644
index 4a86273..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.slack/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png
deleted file mode 100644
index 06c06f9..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.ti/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png
deleted file mode 100644
index 46112dc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.edit/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png
deleted file mode 100644
index 46112dc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.wikipedia.new/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads/icon.png
similarity index 100%
rename from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
rename to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet/icon.png
similarity index 100%
copy from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.modbus/icon.png
copy to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.s7/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7/icon.png
similarity index 100%
rename from website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.adapters.plc4x.s7/icon.png
rename to website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png
deleted file mode 100644
index 2b3a037..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.file/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png
deleted file mode 100644
index b44424d..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.http/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png
deleted file mode 100644
index b44424d..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.httpserver/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png
deleted file mode 100644
index 8b72662..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.kafka/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png
deleted file mode 100644
index 88f2035..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.mqtt/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png
deleted file mode 100644
index d1b1228..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.connect.protocol.stream.pulsar/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png
deleted file mode 100644
index f7411da..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.flink/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.geocoding/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.geocoding/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.geocoding/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.reversegeocoding/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.reversegeocoding/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.reversegeocoding/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.staticgeocoding/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.staticgeocoding/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processor.geo.jvm.staticgeocoding/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png
deleted file mode 100644
index 4b06333..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.aggregation/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png
deleted file mode 100644
index 82f2384..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.count/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.eventcount/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.eventcount/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.eventcount/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png
deleted file mode 100644
index 293d345..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.aggregation.flink.rate/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.changedetection.jvm.cusum/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png
deleted file mode 100644
index 4da2789..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.mathop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png
deleted file mode 100644
index 6146d8d..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png
deleted file mode 100644
index 77fc667..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.trigonometry/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png
deleted file mode 100644
index ba5d35b..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png
deleted file mode 100644
index a4fa6e6..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.flink.timestamp/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.expression/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.expression/icon.png
new file mode 100644
index 0000000..e86193a
--- /dev/null
+++ b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.expression/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert/icon.png
new file mode 100644
index 0000000..c53a42a
--- /dev/null
+++ b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsalert/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment/icon.png
new file mode 100644
index 0000000..641df89
--- /dev/null
+++ b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.processor.limitsenrichment/icon.png
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png
deleted file mode 100644
index c3d5927..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.enricher.jvm.sizemeasure/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png
deleted file mode 100644
index d37330b..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.latLngToGeo/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png
deleted file mode 100644
index d2a81e7..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.jts.processor.setEPSG/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.distancecalculator/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.speed/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.speed/icon.png
deleted file mode 100644
index 7254648..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.speed/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.geo.jvm.processor.staticdistancecalculator/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.absence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png
deleted file mode 100644
index 23bdcbf..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.and/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png
deleted file mode 100644
index 82d479f..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.peak-detection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png
deleted file mode 100644
index aaab7bd..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.pattern-detection.flink.sequence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequency/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.frequencychange/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.sequence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.siddhi.stop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png
deleted file mode 100644
index c809464..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.statistics.flink.statistics-summary/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.languagedetection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png
deleted file mode 100644
index 89861c4..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.flink.wordcount/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png
deleted file mode 100644
index 4dee36a..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.textmining.jvm.languagedetection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png
deleted file mode 100644
index c33841f..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-converter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png
deleted file mode 100644
index 2eafc5f..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-mapper/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png
deleted file mode 100644
index 12593b5..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.field-renamer/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png
deleted file mode 100644
index f9fa3a2..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.fieldhasher/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png
deleted file mode 100644
index ebe9f3a..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png
deleted file mode 100644
index bdeef5d..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.flink.processor.boilerplate/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png
deleted file mode 100644
index 6ebf5ea..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.buffer/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png
deleted file mode 100644
index 034fb5b..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.processors.transformation.jvm.processor.state.labeler.buffer/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png
deleted file mode 100644
index 2b3a037..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.file/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png
deleted file mode 100644
index b44424d..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.protocol.set.http/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png
deleted file mode 100644
index 2046e24..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.flink.elasticsearch/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png
deleted file mode 100644
index 6e33da9..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.databases.jvm.mysql/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png b/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png
deleted file mode 100644
index 8a4d45b..0000000
--- a/website-v2/static/img/pipeline-elements/org.apache.streampipes.sinks.internal.jvm.dashboard/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.geo.flink/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.image-rectifier/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.image-rectifier/icon.png
deleted file mode 100644
index a0e37f5..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.image-rectifier/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png
deleted file mode 100644
index a0e37f5..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.generic-image-classification/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-cropper/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-cropper/icon.png
deleted file mode 100644
index c35c817..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-cropper/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png
deleted file mode 100644
index 50beeff..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.jvm.image-enricher/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png
deleted file mode 100644
index ade3a54..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processor.imageclassification.qrcode/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png
deleted file mode 100644
index 4b06333..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.aggregation/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.count/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.count/icon.png
deleted file mode 100644
index 82f2384..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.count/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png
deleted file mode 100644
index 293d345..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.aggregation.flink.rate/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png
deleted file mode 100644
index 4da2789..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.mathop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png
deleted file mode 100644
index 6146d8d..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.math.staticmathop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png
deleted file mode 100644
index 77fc667..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.trigonometry/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png
deleted file mode 100644
index ba5d35b..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.processor.urldereferencing/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png
deleted file mode 100644
index a4fa6e6..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.enricher.flink.timestamp/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png
deleted file mode 100644
index 4b06333..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.compose/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png
deleted file mode 100644
index 643d474..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.numericalfilter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.mergestartandend/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.mergestartandend/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.mergestartandend/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.pallettransportdetection/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.pallettransportdetection/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.processor.pallettransportdetection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png
deleted file mode 100644
index fa6e81a..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.project/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png
deleted file mode 100644
index a8228f7..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.filters.jvm.textfilter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.geocoder/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.geocoder/icon.png
deleted file mode 100644
index c8f80af..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.geocoder/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.google-routing/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.google-routing/icon.png
deleted file mode 100644
index 478c393..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.geo.jvm.google-routing/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.absence/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.absence/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.absence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.and/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.and/icon.png
deleted file mode 100644
index 23bdcbf..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.and/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.increase/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.increase/icon.png
deleted file mode 100644
index f9c7dd3..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.increase/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png
deleted file mode 100644
index 82d479f..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.peak-detection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.sequence/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.sequence/icon.png
deleted file mode 100644
index aaab7bd..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.pattern-detection.flink.sequence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequency/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.frequencychange/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png
deleted file mode 100644
index 820806f..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.increase/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png
deleted file mode 100644
index 643d474..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.numericalfilter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.sequence/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.siddhi.stop/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.statistics.flink.statistics-summary/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.statistics.flink.statistics-summary/icon.png
deleted file mode 100644
index c809464..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.statistics.flink.statistics-summary/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.languagedetection/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.textmining.flink.wordcount/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png
deleted file mode 100644
index c33841f..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-converter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-mapper/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png
deleted file mode 100644
index 12593b5..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.field-renamer/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png
deleted file mode 100644
index f9fa3a2..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.fieldhasher/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png
deleted file mode 100644
index ebe9f3a..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.measurement-unit-converter/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png
deleted file mode 100644
index bdeef5d..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.flink.processor.boilerplate/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.changed-value/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png
deleted file mode 100644
index be48510..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.count-array/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.duration-value/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.processor.timestampextractor/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png
deleted file mode 100644
index 0d22dfd..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.processors.transformation.jvm.split-array/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png
deleted file mode 100644
index c26419d..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.jms/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png
deleted file mode 100644
index 2e55952..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.kafka/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png
deleted file mode 100644
index af0ddf6..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rabbitmq/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png
deleted file mode 100644
index dcd55fc..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.brokers.jvm.rest/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png
deleted file mode 100644
index 2046e24..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.flink.elasticsearch/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png
deleted file mode 100644
index dbabb57..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.couchdb/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png
deleted file mode 100644
index 1f9bb88..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.influxdb/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png
deleted file mode 100644
index a41005c..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.databases.jvm.postgresql/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png
deleted file mode 100644
index 8a4d45b..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.dashboard/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png
deleted file mode 100644
index 57d1d63..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.internal.jvm.notification/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png
deleted file mode 100644
index 2fd0ce5..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.email/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png
deleted file mode 100644
index f866d48..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.onesignal/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png b/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png
deleted file mode 100644
index b9eb9ab..0000000
--- a/website-v2/static/img/pipeline-elements/org.streampipes.sinks.notifications.jvm.slack/icon.png
+++ /dev/null
Binary files differ
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md
new file mode 100644
index 0000000..5986afd
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth
+title: Allen Bradley ETH
+sidebar_label: Allen Bradley ETH
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Allen Bradley ETH.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* station: Id of the station we want to connect to (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md
new file mode 100644
index 0000000..ecf5463
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads.md
@@ -0,0 +1,108 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads
+title: Beckhoff TwinCat ADS
+sidebar_label: Beckhoff TwinCat ADS
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Beckhoff TwinCat ADS.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+* target-ams-net-id: AMS-Net-Id of the target. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* target-ams-port: AMS port of the target. (INT)
+* source-ams-net-id: AMS-Net-Id of the source. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* source-ams-port: AMS port of the source. (INT)
+
+#### Optional
+
+* target-ams-net-id: AMS-Net-Id of the target. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* target-ams-port: AMS port of the target. (INT)
+* source-ams-net-id: AMS-Net-Id of the source. An AMS-Net-Id has the regular format of an IPv4 IP-Address, however with 6 segments instead of 4. (STRING)
+* source-ams-port: AMS port of the source. (INT)
+* timeout-request: Default timeout for all types of requests. (INT)
+* load-symbol-and-data-type-tables: Configures, if when connecting the data-type- and symbol-table should be read. This is an optimization that can help in cases, where the PLC program is pretty large and downloading the full tables is causing problems. When disabled, symbolic addresses will manually be resolved as soon as an address is used. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md
new file mode 100644
index 0000000..5a50c2b
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip
+title: BACnet/IP
+sidebar_label: BACnet/IP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting BACnet/IP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* udp
+* tcp
+* pcap
+
+### Transport Metadata
+
+#### Required
+
+**udp**
+
+
+
+#### Advanced
+
+**udp**
+
+* local-port: Some connections require a UDP listener to listen on a fixed port.
+Use this configuration option in order to define the port number of the local port. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* ede-file-path: Path to the location of a single EDE file, that contains the descriptor for the target device. (STRING)
+* ede-directory-path: Path to the directory used for storing multiple EDE files. These files contain the descriptors for the possible target devices. (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md
new file mode 100644
index 0000000..ac969d5
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen
+title: CAN open
+sidebar_label: CAN open
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting CAN open.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* socketcan
+
+### Transport Metadata
+
+#### Required
+
+**socketcan**
+
+
+
+#### Advanced
+
+**socketcan**
+
+
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* node-id: CAN node identifier. Depending on used CAN version it might be 11 or 29 bit unsigned int. (INT)
+* heartbeat: Forces PLC4X to send CANopen heartbeat (NMT) messages to the bus. (BOOLEAN)
+* request-timeout: Time after which dispatched BUS operation (ie. SDO request) will be marked as failed. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md
new file mode 100644
index 0000000..f7a18bd
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip
+title: EthernetIP
+sidebar_label: EthernetIP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting EthernetIP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* backplane: Without using routing information the backplane defaults to 1. This is overridden if communicationPath is provided. (INT)
+* slot: The slot within the backplane the CPU is located. (INT)
+* bigEndian: Configure if the connection should be set to transport data in Big-Endian format, or not. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md
new file mode 100644
index 0000000..0195018
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan.md
@@ -0,0 +1,99 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan
+title: Generic CAN
+sidebar_label: Generic CAN
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Generic CAN.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* socketcan
+
+### Transport Metadata
+
+#### Required
+
+**socketcan**
+
+
+
+#### Advanced
+
+**socketcan**
+
+
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* node-id: Node id of the target device. (INT)
+* request-timeout: Default timeout for all types of requests. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md
new file mode 100644
index 0000000..8789117
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104
+title: IEC 60870-5-104
+sidebar_label: IEC 60870-5-104
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting IEC 60870-5-104.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md
new file mode 100644
index 0000000..cd15c4c
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip.md
@@ -0,0 +1,114 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip
+title: KNXNet/IP
+sidebar_label: KNXNet/IP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting KNXNet/IP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* udp
+* pcap
+* raw
+
+### Transport Metadata
+
+#### Required
+
+**udp**
+
+
+
+#### Advanced
+
+**udp**
+
+* local-port: Some connections require a UDP listener to listen on a fixed port.
+Use this configuration option in order to define the port number of the local port. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* knxproj-file-path: Path to the `knxproj` file. The default KNXnet/IP protocol doesn't provide all the information needed to be able to fully decode the messages. (STRING)
+* knxproj-password: Optional password needed to read the knxproj file. (STRING)
+* group-address-num-levels: KNX Addresses can be encoded in multiple ways. Which encoding is used, is too not provided by the protocol itself so it has to be provided externally:
+
+- 3 Levels: {main-group (5 bit)}/{middle-group (3 bit)}/{sub-group (8 bit)}
+- 2 Levels: {main-group (5 bit)}/{sub-group (11 bit)}
+- 1 Level: {sub-group (16 bit)}
+
+The default is 3 levels. If the `knxproj-file-path` this information is provided by the file. (INT)
+* connection-type: Type of connection used to communicate. Possible values are:
+
+- 'LINK_LAYER' (default): The client becomes a participant of the KNX bus and gets it's own individual KNX address.
+- 'RAW': The client gets unmanaged access to the bus (be careful with this)
+- 'BUSMONITOR': The client operates as a busmonitor where he can't actively participate on the bus. Only one 'BUSMONITOR' connection is allowed at the same time on a KNXnet/IP gateway. (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md
new file mode 100644
index 0000000..65a0697
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix.md
@@ -0,0 +1,105 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix
+title: Logix CIP
+sidebar_label: Logix CIP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Logix CIP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* communication-path: The communication path allows for connection routing across multiple backplanes. It uses a common format found in Logix controllers.
+It consists of pairs of values, each pair begins with either 1 (Backplane) or 2 (Ethernet), followed by a slot in the case of a backplane address,
+or if using Ethernet an ip address. e.g. [1,4,2,192.168.0.1,1,1] - Routes to the 4th slot in the first rack, which is a ethernet module, it then connects to the address 192.168.0.1, then finds the module in slot 1. (STRING)
+* backplane: Without using routing information the backplane defaults to 1. This is overridden if communicationPath is provided. (INT)
+* slot: The slot within the backplane the CPU is located. (INT)
+* bigEndian: Configure if the connection should be set to transport data in Big-Endian format, or not. (BOOLEAN)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md
new file mode 100644
index 0000000..540fdde
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii
+title: Modbus ASCII
+sidebar_label: Modbus ASCII
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus ASCII.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+* serial
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md
new file mode 100644
index 0000000..e820a97
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu
+title: Modbus RTU
+sidebar_label: Modbus RTU
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus RTU.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+* serial
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md
new file mode 100644
index 0000000..f0071ab
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp
+title: Modbus TCP
+sidebar_label: Modbus TCP
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Modbus TCP.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* request-timeout: Default timeout for all types of requests. (INT)
+* unit-identifier: Unit-identifier that identifies the target PLC (On RS485 multiple Modbus Devices can be listening). Defaults to 1. (INT)
+* ping-address: Simple address, that the driver will use to check, if the connection to a given device is active (Defaults to reading holding-register 1). (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md
new file mode 100644
index 0000000..b1ed7bd
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol.md
@@ -0,0 +1,100 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol
+title: Open-Protocol
+sidebar_label: Open-Protocol
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Open-Protocol.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md
new file mode 100644
index 0000000..63246e2
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet.md
@@ -0,0 +1,102 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet
+title: Profinet
+sidebar_label: Profinet
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Profinet.
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* raw
+
+### Transport Metadata
+
+#### Required
+
+**raw**
+
+
+
+#### Advanced
+
+**raw**
+
+* resolve-mac-address: If set to true, the transport will automatically resolve the MAC address for a given IP address (Allows connecting to a raw-socket device using the devices host-name or ip-address). (BOOLEAN)
+* support-vlans: Should VLan packets be automatically unpacked? (BOOLEAN)
+* protocol-id: When provided, filters all packets to let only packets matching this ethernet protocol-id pass. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+* gsd-directory: (STRING)
+
+#### Optional
+
+* gsd-directory: (STRING)
+* dap-id: (STRING)
+* ip-address: (STRING)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md
new file mode 100644
index 0000000..6669f47
--- /dev/null
+++ b/website-v2/versioned_docs/version-0.95.1/pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7.md
@@ -0,0 +1,119 @@
+---
+id: org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7
+title: Siemens S7 (Basic)
+sidebar_label: Siemens S7 (Basic)
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ ~
+ -->
+
+
+
+<p align="center">
+ <img src="/img/pipeline-elements/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7/icon.png" width="150px;" class="pe-image-documentation"/>
+</p>
+
+***
+
+## Description
+
+The adapter allows to connect devices supporting Siemens S7 (Basic).
+
+***
+
+## Configuration
+
+The following configuration options are available when creating an adapter:
+
+### PLC Address
+
+This field requires the PLC address in form of the IP without the prefixed protocol (e.g., 192.168.34.56).
+
+### Polling Interval
+
+The polling interval requires a number in milliseconds, which represents the interval in which the adapter will poll the
+PLC for new data. For instance, a polling interval of 1000 milliseconds will configure the adapter to send a request to
+the PLC every second.
+
+### Supported Transports
+
+The following transports are supported by this adapter:
+
+* tcp
+
+### Transport Metadata
+
+#### Required
+
+**tcp**
+
+
+
+#### Advanced
+
+**tcp**
+
+* keep-alive: Should keep-alive packets be sent? (BOOLEAN)
+* no-delay: Should packets be sent instantly or should we give the OS some time to aggregate data. (BOOLEAN)
+* default-timeout: Timeout after which a connection will be treated as disconnected. (INT)
+
+### Protocol Metadata
+
+#### Required
+
+
+
+#### Optional
+
+* local-rack: Rack value for the client (PLC4X device). (INT)
+* local-slot: Slot value for the client (PLC4X device). (INT)
+* local-tsap: Local Transport Service Access Point. (INT)
+* remote-rack: Rack value for the remote main CPU (PLC). (INT)
+* remote-slot: Slot value for the remote main CPU (PLC). (INT)
+* remote-rack2: Rack value for the remote secondary CPU (PLC). (INT)
+* remote-slot2: Slot value for the remote secondary CPU (PLC). (INT)
+* remote-tsap: Remote Transport Service Access Point. (INT)
+* pdu-size: Maximum size of a data-packet sent to and received from the remote PLC. During the connection process both parties will negotiate a maximum size both parties can work with and is equal or smaller than the given value is used. The driver will automatically split up large requests to not exceed this value in a request or expected response. (INT)
+* max-amq-caller: Maximum number of unconfirmed requests the PLC will accept in parallel before discarding with errors. This parameter also will be negotiated during the connection process and the maximum both parties can work with and is equal or smaller than the given value is used. The driver will automatically take care not exceeding this value while processing requests. Too many requests can cause a growing queue. (INT)
+* max-amq-callee: Maximum number of unconfirmed responses or requests PLC4X will accept in parallel before discarding with errors. This option is available for completeness and is correctly handled out during the connection process, however it is currently not enforced on PLC4X’s side. So if a PLC would send more messages than agreed upon, these would still be processed. (INT)
+* controller-type: As part of the connection process, usually the PLC4X S7 driver would try to identify the remote device. However some devices seem to have problems with this and hang up or cause other problems. In such a case, providing the controller-type will skip the identification process and hereby avoid this type of problem. Possible values are:/n- S7_300
+- S7_400
+- S7_1200
+- S7-1500
+- LOGO (STRING)
+* read-timeout: This is the maximum waiting time for reading on the TCP channel. As there is no traffic, it must be assumed that the connection with the interlocutor was lost and it must be restarted. When the channel is closed, the "fail over" is carried out in case of having the secondary channel, or it is expected that it will be restored automatically, which is done every 4 seconds. (INT)
+* ping: Time for supervision of TCP channels. If the channel is not active, a safe stop of the EventLoop must be performed, to ensure that no additional tasks are created. (BOOLEAN)
+* ping-time: If your application requires sampling times greater than the set "read-timeout" time, it is important that the PING option is activated, this will prevent the TCP channel from being closed unnecessarily. (INT)
+* retry-time: Time value in seconds at which the execution of the PING will be scheduled. Generally set by developer experience, but generally should be the same as (read-timeout / 2). (INT)
+
+### Tags
+
+The syntax to define tags is based on the PLC4X syntax, see https://plc4x.apache.org/users/protocols/s7.html.
+Address Pattern:
+
+```
+propertyName=%{Memory-Area}{start-address}:{Data-Type}[{array-size}]
+
+temperature=%I0.0:INT
+```
+
+## Best Practices
+
+Instead of creating a large event containing all nodes that should be available in StreamPipes, consider to group the
+fields logically into smaller adapters.
+This will ease the definition of pipelines for users and eases future modifications.
diff --git a/website-v2/versioned_sidebars/version-0.95.1-sidebars.json b/website-v2/versioned_sidebars/version-0.95.1-sidebars.json
index f45b5a4..c0dd674 100644
--- a/website-v2/versioned_sidebars/version-0.95.1-sidebars.json
+++ b/website-v2/versioned_sidebars/version-0.95.1-sidebars.json
@@ -24,26 +24,41 @@
"type": "category",
"label": "Adapters",
"items": [
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ab-eth",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.kafka",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.pulsar",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.rocketmq",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.tubemq",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.bacnet-ip",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.ads",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.canopen",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.eip",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.file",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.genericcan",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.httpserver",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.http",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.iec-60870-5-104",
"pe/org.apache.streampipes.connect.adapters.iss",
"pe/org.apache.streampipes.connect.adapters.image.stream",
"pe/org.apache.streampipes.connect.iiot.adapters.influxdb.stream",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.knxnet-ip",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.logix",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.mqtt",
"pe/org.apache.streampipes.connect.iiot.adapters.simulator.machine",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-ascii",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-rtu",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.modbus-tcp",
"pe/org.apache.streampipes.connect.iiot.protocol.stream.nats",
"pe/org.apache.streampipes.connect.iiot.adapters.netio.mqtt",
"pe/org.apache.streampipes.connect.iiot.adapters.netio.rest",
"pe/org.apache.streampipes.connect.iiot.adapters.oi4",
"pe/org.apache.streampipes.connect.iiot.adapters.opcua",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.open-protocol",
"pe/org.apache.streampipes.connect.iiot.adapters.plc4x.modbus",
"pe/org.apache.streampipes.connect.iiot.adapters.plc4x.s7",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.profinet",
"pe/org.apache.streampipes.connect.iiot.adapters.ros",
+ "pe/org.apache.streampipes.connect.iiot.adapters.plc4x.generic.s7",
"pe/org.apache.streampipes.connect.iiot.adapters.iolink"
]
},