32 lines
972 B
PHP
32 lines
972 B
PHP
<?php
|
|
/******************************************************************************
|
|
* YMS - Yacht Management Software
|
|
* Copyright (C) 2024-2026 Thomas Hooge
|
|
*
|
|
* SPDX-License-Identifier: WTFPL
|
|
******************************************************************************
|
|
|
|
*/
|
|
|
|
function signalk_get($server, $skpath) {
|
|
|
|
$url = "$server/signalk/v1/api/" . str_replace('.', '/', $skpath);
|
|
var_dump($url);
|
|
$ch = curl_init($url);
|
|
curl_setopt_array($ch, [
|
|
CURLOPT_RETURNTRANSFER => true,
|
|
CURLOPT_CONNECTTIMEOUT => 3,
|
|
CURLOPT_TIMEOUT => 5,
|
|
]);
|
|
$json = curl_exec($ch);
|
|
if ($json === false) {
|
|
throw new RuntimeException('Signal K error: ' . curl_error($ch));
|
|
}
|
|
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
curl_close($ch);
|
|
if ($httpCode !== 200) {
|
|
throw new RuntimeException('Signal K HTTP-error: ' . $httpCode);
|
|
}
|
|
return json_decode($json, true, 512, JSON_THROW_ON_ERROR);
|
|
}
|