Browse Source

BACnet api

peterguo 3 months ago
parent
commit
c21559b32a
2 changed files with 108 additions and 16 deletions
  1. 3 16
      app/Services/Project/ProjectBACnetService.php
  2. 105 0
      config/bacnet.php

+ 3 - 16
app/Services/Project/ProjectBACnetService.php

@@ -10,27 +10,14 @@ class ProjectBACnetService {
     ];
     protected string $username;
     protected string $password;
-    protected array $siteMap = [
-        /*site*/
-        'IFC' => [
-            /*our device number*/
-            'CH1' => [
-                /*object ref*/
-                '600/analog-value,6',
-                '600/analog-value,7',
-                '600/analog-value,8',
-                '600/analog-value,9',
-                '500/analog-value,1407',
-                '500/analog-value,1408',
-            ],
-        ]
-    ];
+    protected array $siteDataMap = [];
 
     public function __construct()
     {
         $this->baseProxyUrl = config('bacnet.base_proxy_url');
         $this->username = config('bacnet.auth.username');
         $this->password = config('bacnet.auth.password');
+        $this->siteDataMap = config('bacnet.site_data_map');
     }
 
     private function getBasicAuth() {
@@ -44,7 +31,7 @@ class ProjectBACnetService {
 
     public function fetchDeviceObjects($siteId, $deviceId): array
     {
-        $objectList = $this->siteMap[$siteId][$deviceId];
+        $objectList = $this->siteDataMap[$siteId][$deviceId];
         if (empty($objectList)) {
             return [];
         }

+ 105 - 0
config/bacnet.php

@@ -7,4 +7,109 @@ return [
         'username' => env('BACNET_API_USERNAME'),
         'password' => env('BACNET_API_PASSWORD'),
     ],
+    'site_data_map' => [
+        /*site*/
+        'IFC' => [
+            /*our device number*/
+            'CH1' => [
+                /*bacnet object ref*/
+                '600/analog-value,6',
+                '600/analog-value,7',
+                '600/analog-value,8',
+                '600/analog-value,9',
+                '500/analog-value,1407',
+                '500/analog-value,1408',
+            ],
+            /*our device number*/
+            'CH2' => [
+                /*bacnet object ref*/
+                '600/analog-value,10',
+                '600/analog-value,11',
+                '600/analog-value,12',
+                '600/analog-value,13',
+                '500/analog-value,807',
+                '500/analog-value,808',
+            ],
+            /*our device number*/
+            'CH3' => [
+                /*bacnet object ref*/
+                '600/analog-value,14',
+                '600/analog-value,15',
+                '600/analog-value,16',
+                '600/analog-value,17',
+                '500/analog-value,1707',
+                '500/analog-value,1708',
+            ],
+            /*our device number*/
+            'CH4' => [
+                /*bacnet object ref*/
+                '600/analog-value,18',
+                '600/analog-value,19',
+                '600/analog-value,20',
+                '600/analog-value,21',
+                '500/analog-value,1507',
+                '500/analog-value,1508',
+            ],
+            /*our device number*/
+            'CH5' => [
+                /*bacnet object ref*/
+                '600/analog-value,22',
+                '600/analog-value,23',
+                '600/analog-value,24',
+                '600/analog-value,25',
+                '500/analog-value,707',
+                '500/analog-value,708',
+            ],
+            /*our device number*/
+            'CH6' => [
+                /*bacnet object ref*/
+                '600/analog-value,26',
+                '600/analog-value,27',
+                '600/analog-value,28',
+                '600/analog-value,29',
+                '500/analog-value,1107',
+                '500/analog-value,1108',
+            ],
+            /*our device number*/
+            'CH7' => [
+                /*bacnet object ref*/
+                '600/analog-value,30',
+                '600/analog-value,31',
+                '600/analog-value,32',
+                '600/analog-value,33',
+                '500/analog-value,1207',
+                '500/analog-value,1208',
+            ],
+            /*our device number*/
+            'CH8' => [
+                /*bacnet object ref*/
+                '600/analog-value,34',
+                '600/analog-value,35',
+                '600/analog-value,36',
+                '600/analog-value,37',
+                '500/analog-value,207',
+                '500/analog-value,208',
+            ],
+            /*our device number*/
+            'CH9' => [
+                /*bacnet object ref*/
+                '600/analog-value,38',
+                '600/analog-value,39',
+                '600/analog-value,40',
+                '600/analog-value,41',
+                '500/analog-value,107',
+                '500/analog-value,108',
+            ],
+            /*our device number*/
+            'CH10' => [
+                /*bacnet object ref*/
+                '600/analog-value,42',
+                '600/analog-value,43',
+                '600/analog-value,44',
+                '600/analog-value,45',
+                '500/analog-value,507',
+                '500/analog-value,508',
+            ],
+        ]
+    ]
 ];