41 lines
1.6 KiB
PHP
41 lines
1.6 KiB
PHP
<?php
|
|
|
|
class WebSocketEndpoint
|
|
{
|
|
public static function supportSummary(bool $registerHookAvailable, string $hookPath, string $transportMode = 'webhook_spike'): array
|
|
{
|
|
if ($transportMode !== 'webhook_spike') {
|
|
return [
|
|
'status' => 'Externer WebSocket-Transport',
|
|
'detail' => 'OCPP_Server erwartet einen echten WebSocket-Server/Parent oder lokalen Adapter und uebernimmt nur Routing und Protokollzustand.',
|
|
'warning' => 'WebHook Control wird in diesem Modus nicht als OCPP-CSMS-Endpunkt verwendet.',
|
|
'hookPath' => $hookPath
|
|
];
|
|
}
|
|
|
|
if ($registerHookAvailable) {
|
|
return [
|
|
'status' => 'WebHook-Spike',
|
|
'detail' => 'RegisterHook ist verfuegbar, aber der WebHook-Pfad ist kein vollwertiger OCPP-CSMS-WebSocket-Server mit garantiertem Async-Push.',
|
|
'warning' => 'Nur fuer Spike/Diagnose verwenden. Produktiv ist ein echter WebSocket-Server/Parent erforderlich.',
|
|
'hookPath' => $hookPath
|
|
];
|
|
}
|
|
|
|
return [
|
|
'status' => 'Hook manuell/spaeter',
|
|
'detail' => 'RegisterHook ist in dieser Symcon-Umgebung nicht als Modul-Methode verfuegbar. WebHook Control muss manuell oder nach Upgrade verbunden werden.',
|
|
'warning' => 'Kein produktiver OCPP-WebSocket-Transport aktiv.',
|
|
'hookPath' => $hookPath
|
|
];
|
|
}
|
|
|
|
public static function readRawBody(): string
|
|
{
|
|
$data = @file_get_contents('php://input');
|
|
return is_string($data) ? $data : '';
|
|
}
|
|
}
|
|
|
|
?>
|