# Virtual I/O > Symcon Dokumentation · Deutsch · erzeugt am 2026-09-26 > Index: https://www.symcon.de/de/llms.txt Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/ _Benötigt Symcon >= 3.3_ Der Virtual I/O öffnet eine Schnittstelle, welche für die Kommunikation zwischen Gateway/Splitter Instanz und dem angeschlossenen Gerät genutzt wird. Es verwendet kein bestimmtes Protokoll, sondern dient für Testzwecke um ein korrektes Verhalten der verbundenen Instanzen sicherzustellen. Das Virtual I/O ist in der Lage Datenpakete vom Typ [Simpel](../developer/sdk-tools/sdk-php.md) und [Erweitert (Socket)](../developer/sdk-tools/sdk-php.md) zu versenden. Es gilt, dass Funktionen mit "Text" solche simplen Datenpakete nutzen. Connect, Disconnect und Funktionen mit "Packet" nutzen das Datenpaket Erweitert (Socket). ### Einbindung in IP-Symcon Über "+" im Objektbaum kann eine neue Virtual I/O Instanz erstellt werden. Auf der Konfigurationsseite können folgende Einstellungen vorgenommen werden. | Option | Beschreibung | | ------ | --------------------------------------------------------- | | Aktiv | Ob die Schnittstelle geöffnet oder geschlossen sein soll. | Erst ein Klick auf "Übernehmen" speichert die Einstellungen und anschließend wird versucht die Verbindung aufzubauen. ![Konfigurationsseite](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/io/virtualio/c763a2b341-1790424939/io-virtualio.png) Zum weiteren Verständnis zeigt die Grafik auf, welche Richtung und Datenpakettypen die einzelnen Befehle nutzen. ![Grafik für Befehle](https://www.symcon.de/media/pages/service/dokumentation/modulreferenz/io/virtualio/a51f070b9a-1790424939/io-virtualio-graph.png) ## VIO_Connect Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-connect/ `bool VIO_Connect(int $InstanzID, string $ClientIP, int $ClientPort)` _Benötigt Symcon >= 5.1_ sendet ein Connect Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$ClientIP` (string): die zu verbindene ClientIP - `$ClientPort` (int): der zu verbindene Port **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. der zu verbindene Port **Beispiel** ```php // Schickt ein Datenpaket an die Virtual I/O Instanz mit der ID 12345 mit der IP-Adresse 192.168.0.8 und dem Port 502 VIO_Connect(12345, "192.168.0.8", 502); ``` ## VIO_Disconnect Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-disconnect/ `bool VIO_Disconnect(int $InstanzID, string $ClientIP, int $ClientPort)` _Benötigt Symcon >= 5.1_ sendet ein Disconnect Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$ClientIP` (string): die zu verbindene ClientIP - `$ClientPort` (int): der zu verbindene Port **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. der zu verbindene Port **Beispiel** ```php // Schickt ein Datenpaket an die Virtual I/O Instanz mit der ID 12345 mit der IP-Adresse 192.168.0.8 und dem Port 502 VIO_Disconnect(12345, "192.168.0.8", 502); ``` ## VIO_GetPacketList Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-getpacketlist/ `array VIO_GetPacketList(int $InstanzID)` _Benötigt Symcon >= 5.1_ liefert ein Array von erweiterten Datenpaketen **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O **Rückgabewert** (array): liefert ein Array von erweiterten Datenpaketen ID der zu aktualisierenden Virtual I/O **Beispiel** ```php // Liefert eine Array aller erweiterten Datenpakete der Virtual I/O Instanz mit der ID 12345 $allePakete = VIO_GetPacketList(12345); print_r($allePakete); /* liefert z.B.: Array ( [0] => Array ( [Type] => 0 [Buffer] => Hallo Welt [ClientIP] => 192.168.0.8 [ClientPort] => 502 ) [1] => Array ( [Type] => 0 [Buffer] => IP-Symcon [ClientIP] => 192.168.0.4 [ClientPort] => 3777 ) ... ) */ ``` ## VIO_GetTextList Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-gettextlist/ `array VIO_GetTextList(int $InstanzID)` _Benötigt Symcon >= 5.1_ liefert ein Array von simplen Datenpaketen **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O **Rückgabewert** (array): liefert ein Array von simplen Datenpaketen ID der zu aktualisierenden Virtual I/O **Beispiel** ```php // Liefert eine Array aller simplen Datenpakete der Virtual I/O Instanz mit der ID 12345 $alleTexts = VIO_GetTextList(12345); print_r($alleTexts); /* liefert z.B.: Array ( [0] => Hallo Welt [1] => IP-Symcon ... ) */ ``` ## VIO_PushPacket Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-pushpacket/ `bool VIO_PushPacket(int $InstanzID, string $Text, string $ClientIP, int $ClientPort)` _Benötigt Symcon >= 5.1_ sendet ein erweitertes Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String - `$ClientIP` (string): auf die zusendende ClientIP - `$ClientPort` (int): auf den zusendenden Port **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. auf den zusendenden Port **Beispiel** ```php // Schickt auf die Virtual I/O Instanz mit der ID 12345 den Text "Hallo Welt" mit der IP-Adresse 192.168.0.8 und dem Port 502 VIO_PushPacket(12345, "Hallo Welt", "192.168.0.8", 502); ``` ## VIO_PushPacketHEX Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-pushpackethex/ `bool VIO_PushPacketHEX(int $InstanzID, string $Text, string $ClientIP, int $ClientPort)` _Benötigt Symcon >= 5.1_ sendet ein erweitertes Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String in HEX - `$ClientIP` (string): auf die zusendende ClientIP - `$ClientPort` (int): auf den zusendenden Port **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. auf den zusendenden Port **Beispiel** ```php // Schickt auf die Virtual I/O Instanz mit der ID 12345 den Hexstring "1a2fee" mit der IP-Adresse 192.168.0.8 und dem Port 502 VIO_PushPacketHEX(12345, "1A 2F EE", "192.168.0.8", 502); ``` ## VIO_PushText Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-pushtext/ `bool VIO_PushText(int $InstanzID, string $Text)` _Benötigt Symcon >= 3.3_ sendet ein simples Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. der zusendene String **Beispiel** ```php // Schickt auf die Virtual I/O Instanz mit der ID 12345 den Text "Hallo Welt" VIO_PushText(12345, "Hallo Welt"); ``` ## VIO_PushTextHEX Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-pushtexthex/ `bool VIO_PushTextHEX(int $InstanzID, string $Text)` _Benötigt Symcon >= 3.3_ sendet ein simples Datenpaket **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String in HEX **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. der zusendene String in HEX **Beispiel** ```php // Schickt auf die Virtual I/O Instanz mit der ID 12345 den Hexstring "1a2fee" VIO_PushTextHEX(12345, "1A 2F EE"); ``` ## VIO_SendPacket Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-sendpacket/ `bool VIO_SendPacket(int $InstanzID, string $Text, string $ClientIP, int $ClientPort)` _Benötigt Symcon >= 5.1_ sendet ein erweitertes Datenpaket an sich selbst **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String - `$ClientIP` (string): auf die zusendende ClientIP - `$ClientPort` (int): auf den zusendenden Port **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. auf den zusendenden Port **Beispiel** ```php // Schickt an die Virtual I/O Instanz mit der ID 12345 den Text "Hallo Welt" mit der IP-Adresse 192.168.0.8 und dem Port 502 VIO_PushPacket(12345, "Hallo Welt", "192.168.0.8", 502); ``` ## VIO_SendText Quelle: https://www.symcon.de/de/service/dokumentation/modulreferenz/io/virtualio/vio-sendtext/ `bool VIO_SendText(int $InstanzID, string $Text)` _Benötigt Symcon >= 3.3_ sendet ein simples Datenpaket an sich selbst **Parameter** - `$InstanzID` (int): ID der zu aktualisierenden Virtual I/O - `$Text` (string): der zusendene String **Rückgabewert** (bool): Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis __TRUE__, andernfalls __FALSE__. der zusendene String **Beispiel** ```php // Schickt an die Virtual I/O Instanz mit der ID 12345 den Text "Hallo Welt" VIO_SendText(12345, "Hallo Welt"); ```