diff --git a/config.json b/config.json index 926fadc..b72b868 100644 --- a/config.json +++ b/config.json @@ -2,5 +2,6 @@ "device": "/dev/serial/by-id/usb-VictronEnergy_BV_VE_Direct_cable_VEAWDESA-if00-port0", "database": "VEDirect.db", "logfile": "VEDirect.log", - "loglevel": "off" + "loglevel": "off", + "timeout": 30 } diff --git a/worker.php b/worker.php index 5f39433..90a56b2 100644 --- a/worker.php +++ b/worker.php @@ -105,7 +105,8 @@ $bytesToRead = $config->bytesToRead; writeLog("Reading $bytesToRead Byte from VE.Direct interface\r\n", 3); $dataStream = ""; - while(strlen($dataStream) < $bytesToRead) + $startTime = time(); + while(strlen($dataStream) < $bytesToRead && time() < $startTime + $config->timeout) $dataStream .= dio_read($VEinterface, $bytesToRead); dio_close($VEinterface); writeLog($dataStream . "\r\n\r\n", 4);