Skip to content

Commit

Permalink
no message
Browse files Browse the repository at this point in the history
  • Loading branch information
Nall-chan committed Aug 2, 2023
1 parent d66513c commit 33fdb58
Show file tree
Hide file tree
Showing 15 changed files with 321 additions and 147 deletions.
12 changes: 7 additions & 5 deletions ONVIF Configurator/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand Down Expand Up @@ -34,8 +34,8 @@ Beschreibung des Moduls.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.

## 3. Software-Installation

Expand All @@ -49,8 +49,10 @@ Beschreibung des Moduls.

Der Konfigurator ermöglicht es folgende Instanzen einfach zu erstellen und fertig zu konfigurieren:

- ONVIF Media Stream ([Dokumentation](../ONVIF%20Media%20Stream/README.md))
- ONVIF Media Stream ([Dokumentation](../ONVIF%20Media%20Stream/README.md))
- Pro Videoquelle wird erneut ein Stream zum erstellen angeboten, wie es noch ungenutzte Profile des Kanals gibt. (nach aktualisieren der Ansicht)
- ONVIF Image Grabber ([Dokumentation](../ONVIF%20Image%20Grabber/README.md))
- Pro Videoquelle wird erneut ein Stream zum erstellen angeboten, wie es noch ungenutzte Profile des Kanals gibt. (nach aktualisieren der Ansicht)
- ONVIF Digital Input ([Dokumentation](../ONVIF%20Digital%20Input/README.md))
- ONVIF Digital Output ([Dokumentation](../ONVIF%20Digital%20Output/README.md))
- ONVIF Events ([Dokumentation](../ONVIF%20Events/README.md))
Expand Down
8 changes: 4 additions & 4 deletions ONVIF Digital Input/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand Down Expand Up @@ -30,8 +30,8 @@ Bildet die Digitalen Eingänge in Symcon ab.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.
* Geräte müssen über mindestens einen Digitalen Eingang verfügen.

## 3. Software-Installation
Expand Down
8 changes: 4 additions & 4 deletions ONVIF Digital Output/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand Down Expand Up @@ -31,8 +31,8 @@ Bildet Digitale Ausgänge (Relays) in Symcon ab.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.
* Geräte müssen über mindestens einen Digitalen Ausgang (bzw. Relais) verfügen.

## 3. Software-Installation
Expand Down
8 changes: 4 additions & 4 deletions ONVIF Discovery/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand Down Expand Up @@ -34,8 +34,8 @@ Erkennt ONVIF kompatible Geräte innerhalb des lokalen LAN.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.
* Geräte und Symcon müssen per Multicast kommunizieren können [(siehe 4.)](#laden-der-konfigurationsseite).

## 3. Software-Installation
Expand Down
8 changes: 4 additions & 4 deletions ONVIF Events/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand Down Expand Up @@ -38,8 +38,8 @@ Bildet verschiedene Ereignisse (Events) als Statusvariablen in Symcon ab.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.
* Geräte müssen ONVIF-Events unterstützen.

## 3. Software-Installation
Expand Down
59 changes: 44 additions & 15 deletions ONVIF IO/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![SDK](https://img.shields.io/badge/Symcon-PHPModul-red.svg)](https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.00-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-6.1%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![Version](https://img.shields.io/badge/Modul%20Version-2.10-blue.svg)](https://community.symcon.de/t/modul-onvif-profil-s-fuer-ip-kameras-und-encoder/52036)
[![Version](https://img.shields.io/badge/Symcon%20Version-7.0%20%3E-green.svg)](https://www.symcon.de/service/dokumentation/installation/migrationen/v60-v61-q1-2022/)
[![License](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-green.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
[![Check Style](https://github.com/Nall-chan/ONVIF/workflows/Check%20Style/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
[![Run Tests](https://github.com/Nall-chan/ONVIF/workflows/Run%20Tests/badge.svg)](https://github.com/Nall-chan/ONVIF/actions)
Expand All @@ -16,6 +16,7 @@ Stellt die Verbindung zu einem ONVIF-Gerät her.
- [3. Software-Installation](#3-software-installation)
- [4. Einrichten der Instanzen in IP-Symcon](#4-einrichten-der-instanzen-in-ip-symcon)
- [Konfigurationsseite: Übersicht](#konfigurationsseite-übersicht)
- [Konfigurationsseite: Ereignisse möglich](#konfigurationsseite-ereignisse-möglich)
- [Konfigurationsseite: Ereignisse nicht möglich](#konfigurationsseite-ereignisse-nicht-möglich)
- [5. Statusvariablen](#5-statusvariablen)
- [6. WebFront](#6-webfront)
Expand All @@ -33,8 +34,8 @@ Stellt die Verbindung zu einem ONVIF-Gerät her.

## 2. Voraussetzungen

* IP-Symcon ab Version 6.1
* Kameras oder Video-Encoder mit ONVIF Profil S Unterstützung.
* IP-Symcon ab Version 7.0
* Kameras oder Video-Encoder mit ONVIF Profil S und/oder Profil T Unterstützung.

## 3. Software-Installation

Expand All @@ -49,30 +50,58 @@ Stellt die Verbindung zu einem ONVIF-Gerät her.

### Konfigurationsseite: Übersicht

| Name | Text | Beschreibung |
| ------------ | ------------------- | ----------------------------------------------------------------------------- |
| Open | Aktiv | Öffnet/Aktiviert die Verbindung zum Gerät. |
| Address | Adresse | URL von dem Gerät (z.B. http://192.168.1.111:8080) |
| Username | Benutzername | Benutzername für die Anmeldung |
| Password | Passwort | Passwort zum Benutzernamen |
| WebHookIP | Experteneinstellung | IP Adresse unter welcher IPS von dem Gerät aus erreichbar ist. |
| WebHookPort | Experteneinstellung | Port unter welchem IPS von dem Gerät aus erreichbar ist (3777) |
| WebHookHTTPS | Experteneinstellung | true wenn https benutzt werden soll |
| Name | Text | Typ | Beschreibung |
| ------------------------------- | -------------------------------- | ------- | ---------------------------------------------------------------------- |
| Open | Aktiv | bool | Öffnet/Aktiviert die Verbindung zum Gerät |
| Address | Adresse | string | URL von dem Gerät (z.B. http://192.168.1.111:8080) |
| Username | Benutzername | string | Benutzername für die Anmeldung |
| Password | Passwort | string | Passwort zum Benutzernamen |
| EventHandler | Ereignisse verarbeiten | Bitmask | Bit0: Subscribe, Bit1: PullPoint |
| WebHookIP | Experteneinstellung (Abonnieren) | string | IP Adresse unter welcher IPS von dem Gerät aus erreichbar ist |
| WebHookPort | Experteneinstellung (Abonnieren) | int | Port unter welchem IPS von dem Gerät aus erreichbar ist (3777) |
| WebHookHTTPS | Experteneinstellung (Abonnieren) | bool | true wenn https benutzt werden soll |
| SubscribeInitialTerminationTime | Experteneinstellung (Abonnieren) | int | Erstes Timeout welches beim abonnieren angefragt wird |
| SubscribeEventTimeout | Experteneinstellung (Abonnieren) | int | Timeout bis wann das erste Ereignis eintreffen muss |
| PullPointInitialTerminationTime | Experteneinstellung (Abfragen) | int | Erstes Timeout welches beim abonnieren angefragt wird |
| PullPointTimeout | Experteneinstellung (Abfragen) | int | Timeout bis wann das Gerät warten soll, bevor es die Verbindung trennt |
| MessageLimit | Experteneinstellung (Abfragen) | int | Maximal Anzahl von Ereignissen pro Abfrage |

![Config](imgs/Config2.png)

Der Aktions-Bereich zeigt aktuelle Informationen zur Verbindung an.

Unter `Geräteinformationen` werden die gemeldeten Informationen und erkannten Fähigkeiten aufgeführt.

Sofern das Gerät ONVIF-Ereignisse unterstützt, wird eine Adresse unter `Abonnementreferenz` angezeigt, welche Symcon vom Gerät erhalten hat.
### Konfigurationsseite: Ereignisse möglich

Es gibt zwei verschiedene Arten der Ereignisverarbeitung welche vom IO unterstützt werden.
Die bevorzugte Variante wird vom IO automatisch anhand der ermittelten Fähigkeiten der Geräte festgelegt.

__Abonnieren__

Für Geräte welche das ONVIF Profile S unterstützen, wird der `Ereignis-Hook`, auf welchen Symcon die Nachrichten des Endgerätes empfängt angezeigt.
Die IP-Adresse des `Ereignis-Hook` wird automatisch ermittelt, je nachdem über welchen Adresse das Gerät erreichbar ist.
<span style="color:red">**Diese Erkennung funktioniert nicht bei NAT, da hier die externe Adresse Symcon nicht automatisch ermitteln kann.
Es müssen die [Spezialschalter](https://www.symcon.de/service/dokumentation/entwicklerbereich/spezialschalter/) `NATSupport` und `NATPublicIP` benutzt werden**</span>
<span style="color:red">**Wird der übliche Port (3777) von Symcon nicht benutzt (z.B. forwarding NAT) so kann hier der Port, unter welchen Symcon erreichbar ist, angepasst werden.**</span>

Sollte es nötig sein, so können bei Bedarf die eigene IP und der Port, sowie die Verwendung von https anstatt http, in den `Experteneinstellungen (Ereignisse abonnieren)` geändert und fixiert werden.

<span style="color:red">**Wird der übliche Port (3777) von Symcon nicht benutzt (z.B. Port forwarding) so kann hier auch der Port, unter welchen Symcon erreichbar ist, angepasst werden.**</span>

---

__Abfragen__

Für Geräte welche das Profil S nicht unterstützen, gibt es außerdem noch die Möglichkeit die Ereignisse von dem Gerät abzufragen.
Hierzu baut Symcon der IO eine Verbindung zum Gerät auf und wartet auf eine Antwort. Das Gerät sendet bis zum erreichen der Wartezeit ein auftretendes Ereignis als Antwort an Symcon.
Anschließend baut Symcon die nächste Verbindung auf.
<span style="color:red">**Bei dieser Art der Verarbeitung ist zu beachten, dass permanent ein PHP-Thread von der IO-Instanz belegt wird!**</span>

---

__Allgemein__

Sofern das Gerät ONVIF-Ereignisse unterstützt und Symcon sich erfolgreich am Gerät angemeldet hat, wird eine Adresse unter `Abonnementreferenz` angezeigt.

In der Tabelle wird eine Liste aller vom Gerät gemeldeten Ereignissen angezeigt, welche sich in Symcon nutzen lassen. Über das Feld `Benutzt` wird angezeigt ob das Ereignis in einer Instanz konfiguriert wurde. Und über das Zahnrad einer Zeile werden diese Instanzen tabellarisch angezeigt.

Expand Down
57 changes: 55 additions & 2 deletions ONVIF IO/form.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
"type": "Select",
"name": "EventHandler",
"caption": "Event handling",
"onChange": "IPS_RequestAction($id,'EventHandler',$EventHandler);",
"options": [
{
"caption": "never",
Expand All @@ -70,8 +71,8 @@
},
{
"type": "ExpansionPanel",
"name": "WebHookExpansionPanel",
"caption": "Expert settings event hook",
"name": "SubscribeExpansionPanel",
"caption": "Expert settings (event subscribe)",
"items": [
{
"type": "RowLayout",
Expand All @@ -95,6 +96,58 @@
"caption": "use https"
}
]
},
{
"type": "NumberSpinner",
"name": "SubscribeInitialTerminationTime",
"caption": "Initial Termination Time",
"suffix": "minute(s)",
"width": "250px",
"minimum": 1,
"maximum": 60
},
{
"type": "NumberSpinner",
"name": "SubscribeEventTimeout",
"caption": "Timeout for first event",
"suffix": "second(s)",
"width": "250px",
"minimum": 0,
"maximum": 30
}
]
},
{
"type": "ExpansionPanel",
"name": "PullPointExpansionPanel",
"caption": "Expert settings (event pull)",
"items": [
{
"type": "NumberSpinner",
"name": "PullPointInitialTerminationTime",
"caption": "Initial Termination Time",
"suffix": "minute(s)",
"width": "250px",
"minimum": 1,
"maximum": 60
},
{
"type": "NumberSpinner",
"name": "PullPointTimeout",
"caption": "Pull request wait time",
"suffix": "second(s)",
"width": "250px",
"minimum": 5,
"maximum": 30
},
{
"type": "NumberSpinner",
"name": "MessageLimit",
"caption": "Message limit per request",
"suffix": "Events",
"width": "250px",
"minimum": 8,
"maximum": 256
}
]
}
Expand Down
Binary file modified ONVIF IO/imgs/Config2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 33fdb58

Please sign in to comment.