Итак, ниже приведены мои конфигурации для volttron. У меня есть совместимый с bacnet VAV, на котором я сгенерировал конфигурацию csv, используя grab_bacnet. Проблема в том, что прокси-сервер bacnet, а также очистка всего метода в драйвере bacnet не могут получить что-либо с устройства.Устройство Bacnet не идентифицирует pointName
Это также означает, что в volttron.log нет ошибки, когда я запускаю прокси-агент bacnet и агент главного драйвера. Но я попробую тестовый агент, как показано ниже. Я получаю keyError, который говорит мне, что либо запрос идет на неправильное устройство, либо bacnet не может идентифицировать устройство вообще.
**Configurations**
*Master Driver*
{
"agentid": "master_driver",
"driver_config_list: ["absolute/path/to/test_bacnet1.config"]
}
**test_bacnet1.config**
{
"driver_config": {"device_address": "192.168.1.9",
"device_id":"990037" },
"campus": "campus",
"building": "building",
"unit": "bacnet1",
"driver_type": "bacnet",
"registry_config":"absolute/path/to/csv.csv",
"interval": 60,
"timezone": "UTC"
}
*BACNET PROXY CONFIGURATIONS*
"device_address": "192.168.1.5/24" #MY Laptop IP address
Это ошибка, которую я получаю, когда тестовый тест не работает.
ERROR: Failed to scrape campus/building/bacnet1:
RuntimeError('Device communication aborted: noResponse')
Во-вторых на моем TestAgent через привод я сделать вызов, как это:
topic2 = 'campus/building/bacnet1/dmp_pos_1'
PLATFORM_ACTUATOR = 'platform.actuator'
PLATFORM_BACNET = 'platform.bacnet_proxy'
REQUEST_NEW_SCHEDULE = 'request_new_schedule'
@Core.periodic(3)
def publish_heartbeat(self):
_log.info('Agent Starting')
result = self.vip.rpc.call(
PLATFORM_ACTUATOR, # Target agent
'get_point', # Method
topic2 # point
).get(timeout=10)
_log.info('RESULT:'+str(result)
volttron дает мне ошибку: RemoteError: volttron.platform.jsonrpc.RemoteError ("KeyError ('dmpr_pos_1 «)")
EDIT 1 питона скрипты/BACnet/bacnet_scan.py --ini скрипты/BACnet/BACpypes.ini
Device Address = <Address 192.168.1.9>
Device Id = 570009
maxAPDULengthAccepted = 480
segmentationSupported = segmentedBoth
vendorID = 24
Device Address = <RemoteStation 5701:37>
Device Id = 990037
maxAPDULengthAccepted = 480
segmentationSupported = segmentedBoth
vendorID = 24
После этого я побежал grab_bacnet так:
python scripts/bacnet/grab_bacnet_config.py 990037 --ini scripts/bacnet/BACpypes.ini --out-file bac3.csv
В которой один из значений, как это в CSV файле:
Reference Point Name Volttron Point Name Units Unit Details BACnet Object Type Property Writable Index Write Priority Notes
flow_sp_1 flow_sp_1 cubicFeetPerMinute analogValue presentValue FALSE 5 Airflow Setpoint
dmpr_pos_1 dmpr_pos_1 UNKNOWN UNIT ENUM VALUE: 4109 analogValue presentValue FALSE 8 Damper Position
Может кто-нибудь вести меня по этой проблеме?
я понял, что адрес удаленной станции должен быть использован в качестве адреса устройства BACnet и он не был адрес маршрутизатора от ответа Кайла и решить мою проблему с коммуникацией устройства. Благодаря! –
Добро пожаловать! –