mirror of
https://github.com/kerberos-io/agent.git
synced 2026-08-23 15:08:32 +00:00
Remove commented-out code and clean up ONVIF device connection handling
This commit is contained in:
@@ -10,7 +10,6 @@ import (
|
||||
"github.com/kerberos-io/agent/machinery/src/components"
|
||||
"github.com/kerberos-io/agent/machinery/src/log"
|
||||
"github.com/kerberos-io/agent/machinery/src/models"
|
||||
"github.com/kerberos-io/agent/machinery/src/onvif"
|
||||
|
||||
configService "github.com/kerberos-io/agent/machinery/src/config"
|
||||
"github.com/kerberos-io/agent/machinery/src/routers"
|
||||
@@ -90,12 +89,12 @@ func main() {
|
||||
|
||||
case "discover":
|
||||
// Convert duration to int
|
||||
timeout, err := time.ParseDuration(timeout + "ms")
|
||||
/*timeout, err := time.ParseDuration(timeout + "ms")
|
||||
if err != nil {
|
||||
log.Log.Fatal("main.Main(): could not parse timeout: " + err.Error())
|
||||
return
|
||||
}
|
||||
onvif.Discover(timeout)
|
||||
onvif.Discover(timeout)*/
|
||||
|
||||
case "decrypt":
|
||||
log.Log.Info("main.Main(): Decrypting: " + flag.Arg(0) + " with key: " + flag.Arg(1))
|
||||
|
||||
@@ -234,7 +234,7 @@ func HandleHeartBeat(configuration *models.Configuration, communication *models.
|
||||
|
||||
// Create a loop pull point address, which we will use to retrieve async events
|
||||
// As you'll read below camera manufactures are having different implementations of events.
|
||||
var pullPointAddressLoopState string
|
||||
/*var pullPointAddressLoopState string
|
||||
if configuration.Config.Capture.IPCamera.ONVIFXAddr != "" {
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
@@ -244,7 +244,7 @@ func HandleHeartBeat(configuration *models.Configuration, communication *models.
|
||||
log.Log.Error("cloud.HandleHeartBeat(): error while creating pull point subscription: " + err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
loop:
|
||||
for {
|
||||
@@ -261,7 +261,7 @@ loop:
|
||||
var onvifEventsList []byte
|
||||
if config.Capture.IPCamera.ONVIFXAddr != "" {
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
// We will try to retrieve the PTZ configurations from the device.
|
||||
onvifEnabled = "true"
|
||||
@@ -306,7 +306,7 @@ loop:
|
||||
// - In this scenario we are creating a new subscription to retrieve the initial (current) state of the inputs and outputs.
|
||||
|
||||
// Get a new pull point address, to get the initiatal state of the inputs and outputs.
|
||||
pullPointAddressInitialState, err := onvif.CreatePullPointSubscription(device)
|
||||
/*pullPointAddressInitialState, err := onvif.CreatePullPointSubscription(device)
|
||||
if err != nil {
|
||||
log.Log.Error("cloud.HandleHeartBeat(): error while creating pull point subscription: " + err.Error())
|
||||
}
|
||||
@@ -402,7 +402,9 @@ loop:
|
||||
log.Log.Error("cloud.HandleHeartBeat(): error while marshalling events: " + err.Error())
|
||||
onvifEventsList = []byte("[]")
|
||||
}
|
||||
}
|
||||
}*/
|
||||
onvifPresetsList = []byte("[]")
|
||||
onvifEventsList = []byte("[]")
|
||||
} else {
|
||||
log.Log.Error("cloud.HandleHeartBeat(): error while connecting to ONVIF device: " + err.Error())
|
||||
onvifPresetsList = []byte("[]")
|
||||
@@ -647,13 +649,13 @@ loop:
|
||||
}
|
||||
}
|
||||
|
||||
if pullPointAddressLoopState != "" {
|
||||
/*if pullPointAddressLoopState != "" {
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err != nil {
|
||||
onvif.UnsubscribePullPoint(device, pullPointAddressLoopState)
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
log.Log.Debug("cloud.HandleHeartBeat(): finished")
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package http
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/kerberos-io/agent/machinery/src/log"
|
||||
"github.com/kerberos-io/agent/machinery/src/models"
|
||||
"github.com/kerberos-io/agent/machinery/src/onvif"
|
||||
)
|
||||
@@ -44,15 +43,14 @@ func LoginToOnvif(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, capabilities, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
// Get token from the first profile
|
||||
token, err := onvif.GetTokenFromProfile(device, 0)
|
||||
if err == nil {
|
||||
c.JSON(200, gin.H{
|
||||
"device": device,
|
||||
"capabilities": capabilities,
|
||||
"token": token,
|
||||
"device": device,
|
||||
"token": token,
|
||||
})
|
||||
} else {
|
||||
c.JSON(400, gin.H{
|
||||
@@ -98,11 +96,9 @@ func GetOnvifCapabilities(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
_, capabilities, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
_, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
c.JSON(200, gin.H{
|
||||
"capabilities": capabilities,
|
||||
})
|
||||
c.JSON(200, gin.H{})
|
||||
} else {
|
||||
c.JSON(400, gin.H{
|
||||
"data": "Something went wrong: " + err.Error(),
|
||||
@@ -142,7 +138,7 @@ func DoOnvifPanTilt(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
|
||||
if err == nil {
|
||||
// Get token from the first profile
|
||||
@@ -216,7 +212,7 @@ func DoOnvifZoom(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
|
||||
if err == nil {
|
||||
// Get token from the first profile
|
||||
@@ -289,7 +285,7 @@ func GetOnvifPresets(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
presets, err := onvif.GetPresetsFromDevice(device)
|
||||
if err == nil {
|
||||
@@ -340,7 +336,7 @@ func GoToOnvifPreset(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
err := onvif.GoToPresetFromDevice(device, onvifPreset.Preset)
|
||||
if err == nil {
|
||||
@@ -377,7 +373,7 @@ func GoToOnvifPreset(c *gin.Context) {
|
||||
// @Description Will get the digital inputs from the ONVIF device.
|
||||
// @Success 200 {object} models.APIResponse
|
||||
func DoGetDigitalInputs(c *gin.Context) {
|
||||
var onvifCredentials models.OnvifCredentials
|
||||
/*var onvifCredentials models.OnvifCredentials
|
||||
err := c.BindJSON(&onvifCredentials)
|
||||
|
||||
if err == nil && onvifCredentials.ONVIFXAddr != "" {
|
||||
@@ -395,7 +391,7 @@ func DoGetDigitalInputs(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
device, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
device, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
|
||||
onvifInputs, _ := onvif.GetDigitalInputs(device)
|
||||
if err == nil {
|
||||
@@ -450,7 +446,7 @@ func DoGetDigitalInputs(c *gin.Context) {
|
||||
c.JSON(400, gin.H{
|
||||
"data": "Something went wrong: " + err.Error(),
|
||||
})
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
// DoGetRelayOutputs godoc
|
||||
@@ -466,7 +462,7 @@ func DoGetDigitalInputs(c *gin.Context) {
|
||||
// @Description Will get the relay outputs from the ONVIF device.
|
||||
// @Success 200 {object} models.APIResponse
|
||||
func DoGetRelayOutputs(c *gin.Context) {
|
||||
var onvifCredentials models.OnvifCredentials
|
||||
/*var onvifCredentials models.OnvifCredentials
|
||||
err := c.BindJSON(&onvifCredentials)
|
||||
|
||||
if err == nil && onvifCredentials.ONVIFXAddr != "" {
|
||||
@@ -484,7 +480,7 @@ func DoGetRelayOutputs(c *gin.Context) {
|
||||
}
|
||||
|
||||
cameraConfiguration := configuration.Config.Capture.IPCamera
|
||||
_, _, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
_, err := onvif.ConnectToOnvifDevice(&cameraConfiguration)
|
||||
if err == nil {
|
||||
// Get the digital inputs and outputs from the device
|
||||
inputOutputs, err := onvif.GetInputOutputs()
|
||||
@@ -519,7 +515,7 @@ func DoGetRelayOutputs(c *gin.Context) {
|
||||
c.JSON(400, gin.H{
|
||||
"data": "Something went wrong: " + err.Error(),
|
||||
})
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
// DoTriggerRelayOutput godoc
|
||||
@@ -536,7 +532,7 @@ func DoGetRelayOutputs(c *gin.Context) {
|
||||
// @Description Will trigger the relay output from the ONVIF device.
|
||||
// @Success 200 {object} models.APIResponse
|
||||
func DoTriggerRelayOutput(c *gin.Context) {
|
||||
var onvifCredentials models.OnvifCredentials
|
||||
/*var onvifCredentials models.OnvifCredentials
|
||||
err := c.BindJSON(&onvifCredentials)
|
||||
|
||||
// Get the output from the url
|
||||
@@ -586,5 +582,5 @@ func DoTriggerRelayOutput(c *gin.Context) {
|
||||
c.JSON(400, gin.H{
|
||||
"data": msg,
|
||||
})
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@@ -389,14 +389,6 @@ func HandleRequestConfig(mqttClient mqtt.Client, hubKey string, payload models.P
|
||||
// Copy the config, as we don't want to share the encryption part.
|
||||
deepCopy := configuration.Config
|
||||
|
||||
// We need a fix for the width and height if a substream.
|
||||
// The ROI requires the width and height of the sub stream.
|
||||
if configuration.Config.Capture.IPCamera.SubRTSP != "" &&
|
||||
configuration.Config.Capture.IPCamera.SubRTSP != configuration.Config.Capture.IPCamera.RTSP {
|
||||
deepCopy.Capture.IPCamera.Width = configuration.Config.Capture.IPCamera.SubWidth
|
||||
deepCopy.Capture.IPCamera.Height = configuration.Config.Capture.IPCamera.SubHeight
|
||||
}
|
||||
|
||||
var configMap map[string]interface{}
|
||||
inrec, _ := json.Marshal(deepCopy)
|
||||
json.Unmarshal(inrec, &configMap)
|
||||
@@ -542,7 +534,7 @@ func HandleNavigatePTZ(mqttClient mqtt.Client, hubKey string, payload models.Pay
|
||||
}
|
||||
|
||||
func HandleTriggerRelay(mqttClient mqtt.Client, hubKey string, payload models.Payload, configuration *models.Configuration, communication *models.Communication) {
|
||||
value := payload.Value
|
||||
/*value := payload.Value
|
||||
jsonData, _ := json.Marshal(value)
|
||||
var triggerRelayPayload models.TriggerRelay
|
||||
json.Unmarshal(jsonData, &triggerRelayPayload)
|
||||
@@ -569,7 +561,7 @@ func HandleTriggerRelay(mqttClient mqtt.Client, hubKey string, payload models.Pa
|
||||
} else {
|
||||
log.Log.Info("routers.mqtt.main.HandleTriggerRelay(): received trigger, but camera is not connected.")
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
func DisconnectMQTT(mqttClient mqtt.Client, config *models.Config) {
|
||||
|
||||
Reference in New Issue
Block a user