diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala
index 1b89cdf49dcd6179340c10ec0346bbfc3560303a..577d93a7fe3809a9cd29e7f342aa9bf4d7756377 100644
--- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala
+++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/WebSocketHandler.scala
@@ -15,6 +15,7 @@ class WebSocketHandler {
 	private val sessions = new ConcurrentLinkedQueue[Session]
 
 	private val methods: Map[String, MethodExecutable] = Map(
+		"ping" -> new PingMethod,
 		"project-list" -> new ProjectListMethod,
 		"project-current" -> new ProjectCurrentMethod,
 		"project-open" -> new ProjectOpenMethod,
diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala
new file mode 100644
index 0000000000000000000000000000000000000000..62594789acbdbb10e1c48aa483977a1daf4fdc4f
--- /dev/null
+++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/scala/de/tobias/playpad/plugin/api/websocket/methods/PingMethod.scala
@@ -0,0 +1,15 @@
+package de.tobias.playpad.plugin.api.websocket.methods
+
+import com.google.gson.JsonObject
+import de.tobias.playpad.plugin.api.websocket.MethodExecutable
+import de.tobias.playpad.plugin.api.websocket.message.Message
+import org.eclipse.jetty.websocket.api.Session
+
+class PingMethod extends MethodExecutable {
+
+	override def execute(session: Session, message: Message): JsonObject = {
+		val response = new JsonObject()
+		response.addProperty("pong", System.currentTimeMillis())
+		response
+	}
+}