현재 여러 테스트 카메라 (모든 Onvif 호환)에서 릴레이 출력 상태를 전환하려고합니다. Hikvision PTZ 카메라의 릴레이 출력 목록을 검색하려고하면 혼란이 시작됩니다. 성공적으로 릴레이 출력을 얻을 수 있으며 (1 개만 있음) 열거 나 닫을 수있는 'RelayLogicalState'를 요청할 수 있습니다.Onvif 프로토콜을 사용하여 릴레이 출력 상태를 전환하는 방법
'SetRelayOutputState'를 사용하는 릴레이 출력을 전환 할 때 해당 매개 변수는 전환 할 릴레이 출력의 토큰과 'RelayLogicalState'입니다. RelayLogicalState는 단지 1 개의 릴레이 출력 만이 그 토큰을 보낼 수 있기 때문에 여기서 잘못하지 않는 2 개의 항목 (활성 또는 비활성)의 열거 형입니다. 릴레이 출력의 상태를 전환 할 수 있지만 'GetrelayOutputs'를 다시 호출하여 상태를 확인하면이 함수는 입력을 항상 '비활성'으로 설정합니다.
BOSCH의 경우 릴레이 출력을 다시 검색 할 수 있지만 1은 있지만 'SetRelayOutputState'를 호출하면 2 개의 RelayLogicalState 중 하나가 호출되지 않습니다. 참고로
: http://www.onvif.org/ver10/deviceio.wsdl
두 카메라는 최신 펌웨어를 설치하고 ONVIF 장치 관리자에 따라 모두 ONVIF 버전 2.0을 사용합니다.
relayOutput.Properties.Mode = Onv_Device_Management.RelayMode.Bistable;
relayOutput.Properties.IdleState = Onv_Device_Management.RelayIdleState.open;
TryCatch(() => deviceClient.SetRelayOutputSettingsAsync(relayOutput.token, relayOutput.Properties));
TryCatch(() => deviceClient.SetRelayOutputState(relayOutput.token, Onv_Device_Management.RelayLogicalState.active));
의견을 보내 주셔서 감사 드리며, 저에게 도움이되지 않아 다른 브랜드를 사용해보실 수 있습니다. –