Remove commented-out code and clean up ONVIF device connection handling

This commit is contained in:
cedricve
2025-11-11 17:21:31 +00:00
parent 69892bcba2
commit 7d584b5d5b
4 changed files with 30 additions and 41 deletions

View File

@@ -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))

View File

@@ -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")
}

View File

@@ -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,
})
}
}*/
}

View File

@@ -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) {