diff --git a/db.sql b/db.sql index d48d6ce..0c00f71 100644 --- a/db.sql +++ b/db.sql @@ -23,7 +23,9 @@ CREATE TABLE IF NOT EXISTS carStatus ( zoneRearRightEnabled boolean, frontWindowHeatingState text, rearWindowHeatingState text, - odometer integer + odometer integer, + latitude decimal(8, 6), + longitude decimal(9, 6) ); CREATE TABLE IF NOT EXISTS users ( @@ -62,4 +64,4 @@ CREATE TABLE IF NOT EXISTS chargingSessions ( CREATE TABLE IF NOT EXISTS settings ( settingKey varchar(128) NOT NULL PRIMARY KEY, settingValue text -) \ No newline at end of file +) diff --git a/db_mysql.sql b/db_mysql.sql index 4a49320..0995778 100644 --- a/db_mysql.sql +++ b/db_mysql.sql @@ -23,7 +23,9 @@ CREATE TABLE IF NOT EXISTS carStatus ( zoneRearRightEnabled boolean, frontWindowHeatingState text, rearWindowHeatingState text, - odometer integer + odometer integer, + latitude decimal(8, 6), + longitude decimal(9, 6) ); CREATE TABLE IF NOT EXISTS users ( @@ -62,4 +64,4 @@ CREATE TABLE IF NOT EXISTS chargingSessions ( CREATE TABLE IF NOT EXISTS settings ( settingKey varchar(128) NOT NULL PRIMARY KEY, settingValue mediumtext -) \ No newline at end of file +) diff --git a/public/idView/js/idView.js b/public/idView/js/idView.js index 6fa717a..8e3468c 100644 --- a/public/idView/js/idView.js +++ b/public/idView/js/idView.js @@ -211,4 +211,4 @@ function processCarGraphUpdate(graphData){ chart.data.datasets[4].data = graphData.chargePower; chart.data.datasets[5].data = graphData.chargeRateKMPH; chart.update(); -} \ No newline at end of file +} diff --git a/src/vwid/CarStatusFetcher.php b/src/vwid/CarStatusFetcher.php index 8da55ce..5b3056b 100644 --- a/src/vwid/CarStatusFetcher.php +++ b/src/vwid/CarStatusFetcher.php @@ -72,6 +72,12 @@ class CarStatusFetcher{ "odometerStatus" => [ "odometer" => null ] + ], + "parking" => [ + "parkingPosition" => [ + "latitude" => "latitude", + "longitude" => "longitude" + ] ] ]; @@ -96,7 +102,8 @@ class CarStatusFetcher{ "measurements", "departureTimers", "lvBattery", - "readiness" + "readiness", + "parking" ]; public function __construct(array $config){ diff --git a/src/vwid/CarStatusWriter.php b/src/vwid/CarStatusWriter.php index a1520e2..155f385 100644 --- a/src/vwid/CarStatusWriter.php +++ b/src/vwid/CarStatusWriter.php @@ -37,7 +37,9 @@ class CarStatusWriter implements CarStatusUpdateReceiver{ "zoneRearRightEnabled", "frontWindowHeatingState", "rearWindowHeatingState", - "odometer" + "odometer", + "latitude", + "longitude" ]; private DatabaseConnection $db; diff --git a/src/vwid/db/DBmigrator.php b/src/vwid/db/DBmigrator.php index 5ffcda8..8b50b54 100644 --- a/src/vwid/db/DBmigrator.php +++ b/src/vwid/db/DBmigrator.php @@ -17,7 +17,7 @@ public function __construct(DatabaseConnection $db, bool $initialStart = false){ if(!$initialStart){ $this->doAutoMigration(); }else{ - $this->setDBversion("1.1"); + $this->setDBversion("1.2"); Logger::log("Successfully initialized database with schema version V".$this->dbSchemaVersion); } } @@ -45,6 +45,12 @@ public function doAutoMigration(){ $this->db->query("ALTER TABLE carStatus ADD COLUMN odometer integer"); $this->setDBversion("1.1"); } + if(version_compare($this->dbSchemaVersion, "1.2") < 0){ + Logger::notice("Upgrading schema to V1.2 (Adding position columns)"); + $this->db->query("ALTER TABLE carStatus ADD COLUMN latitude decimal(8, 6)"); + $this->db->query("ALTER TABLE carStatus ADD COLUMN longitude decimal(9, 6)"); + $this->setDBversion("1.2"); + } if($startupDbSchemaVersion !== $this->dbSchemaVersion){ Logger::log( "Successfully upgraded from database schema version ". diff --git a/start.sh b/start.sh index f5c42ae..edc0dae 100755 --- a/start.sh +++ b/start.sh @@ -3,4 +3,4 @@ DIR="$(cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd)" cd "$DIR" || exit 1 -exec "php" "./src/vwid/Server.php" "$@" \ No newline at end of file +exec "php" "./src/vwid/Server.php" "$@"