Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [GELÖST] HikVision CAM per Script Anweisung steuern (REQUEST)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    646

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

[GELÖST] HikVision CAM per Script Anweisung steuern (REQUEST)

Scheduled Pinned Locked Moved Skripten / Logik
communication
10 Posts 4 Posters 2.1k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Timme
    wrote on last edited by Timme
    #1

    Hallo,
    ich möchte gerne bei meiner HikVision Kamera die Motion Detection abstellen wenn ich z Hause bin.

    WebOberfläche.JPG

    In der HikVision HIKVISION ISAPI_2.6-IPMD Service.pdf kann man die unterschiedlichen Befehle nachlesen.

    Für die Aktivierung oder Deaktivierung kannman per Get und Put die Anweisung schicken.
    Mit dem Programm Postman funktioniert das einwandfrei.
    So kann man per

    GET http://IPADRESSE/ISAPI/System/Video/inputs/channels/1/motionDetection

    den Status abfragen und bekommt:

    <?xml version="1.0" encoding="UTF-8"?>
    <MotionDetection version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">
    <enabled>true</enabled>
    <enableHighlight>true</enableHighlight>
    <samplingInterval>2</samplingInterval>
    <startTriggerTime>500</startTriggerTime>
    <endTriggerTime>500</endTriggerTime>
    <regionType>grid</regionType>
    <Grid>
    <rowGranularity>18</rowGranularity>
    <columnGranularity>22</columnGranularity>
    </Grid>
    <MotionDetectionLayout version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">
    <sensitivityLevel>20</sensitivityLevel>
    <layout>
    <gridMap>000000000000000000000000000000000000000200000000000000000000000040000000008000000000000000000000003000000000</gridMap>
    </layout>
    </MotionDetectionLayout>
    <enableWithMoving>true</enableWithMoving>
    </MotionDetection>

    Den Fett markierten Bereich kann man auf False umschreiben und per PUT wieder über Postman zurückschicken. Und Motion Detection ist wieder deaktiviert.
    Das funktioniert soweit einwandfrei.

    Nur wie kann ich dies per IOBrocker lösen?

    Hat jemand eine Idee?

    LG
    Timme

    1 Reply Last reply
    0
    • T Offline
      T Offline
      Timme
      wrote on last edited by
      #2

      Hallo,
      ich habe gelesen, dass evt. über eine CURL, die Anweisung zur CAM geschickt werden kann.

      Somit müßte ich in IO Brocker zwei XML Dateien ablegen.
      Z.B. Motion_An.xml und Motion_Aus.xml
      In beiden Datein ist dann der gesamte XML Block von oben enthalten mit dem jeweiligen Zeilenunterschied
      <enabled>true</enabled> oder <enabled>false</enabled>

      Diese Anweisung dann per Java oder Blockly zu CAM schicken.
      Ich bin im IO Brocker noch ein Anfänger und wüste nicht wie ich es realisieren könnte.

      Könnte mir jemand hier helfen?

      Danke
      Gruß

      1 Reply Last reply
      0
      • T Offline
        T Offline
        Timme
        wrote on last edited by Timme
        #3

        Problem gelöst! :-)

        Wie im obigen Fred geschrieben funktioniert es mit dem Programm Postman
        Hier kann man per GET und PUT die Anweisung direkt verschicken.

        Nach vielem, lesen habe ich herausgefunden, dass man die PUT Anweisung für JAVA in ein Request umwandeln muß.

        Jettzt kommt wieder das Program Postman zum Einsatz. Diese Programm kann die XML in ein Request übersetzten.

        Das obige XML File sieht dann in JavaScript wie folgt aus:

        var request = require("request");

        var options = { method: 'PUT',
        url: 'http://admin:DPASSWORD@IPADRESSE/ISAPI/System/Video/inputs/channels/1/motionDetection',
        headers:
        { 'cache-control': 'no-cache',
        Connection: 'keep-alive',
        'content-length': '877',
        'accept-encoding': 'gzip, deflate',
        Host: 'IPADRESSE',
        'Postman-Token': 'IrgendeinTokenvonPostman',
        'Cache-Control': 'no-cache',
        Accept: '/',
        'User-Agent': 'PostmanRuntime/7.13.0',
        Authorization: 'Basic irgend ne nummer von Postman',
        'Content-Type': 'application/json' },
        body: '<?xml version="1.0" encoding="UTF-8"?>\n<MotionDetection version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">\n <enabled>true</enabled>\n <enableHighlight>true</enableHighlight>\n <samplingInterval>2</samplingInterval>\n <startTriggerTime>500</startTriggerTime>\n <endTriggerTime>500</endTriggerTime>\n <regionType>grid</regionType>\n <Grid>\n <rowGranularity>18</rowGranularity>\n <columnGranularity>22</columnGranularity>\n </Grid>\n <MotionDetectionLayout version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">\n <sensitivityLevel>20</sensitivityLevel>\n <layout>\n <gridMap>000000000000000000000000000000000000000200000400000000000000000040000000008000000000000000000000003000000000</gridMap>\n </layout>\n </MotionDetectionLayout>\n <enableWithMoving>false</enableWithMoving>\n</MotionDetection>\n' };

        request(options, function (error, response, body) {
        if (error) throw new Error(error);

        console.log(body);
        });]

        Das Script kann man sicherlich noch einkürzen - funktioniert auf jedenfall im IO-Broker.

        Also für alle diejenigen, die eine HIKVision Kamera im Einsatz haben und igrendweche Einstellungen per Skript machen möchten, können dies mit diesen recht einfach Weg machen.

        Falls detailierte Beschreibung gewünscht einfach mal melden.

        Gruß
        Timme

        WiednitzW 1 Reply Last reply
        0
        • E Offline
          E Offline
          eifeladmin
          wrote on last edited by
          #4

          Hi,

          hab hier einen Beitrag zu Kamera gefunden.
          Was müsste man anpassen um das zum Laufen zu bekommen?
          Oder muss man noch was installieren?
          Hab nur mal IP Adresse und Kennwort angepasst, funktioniert aber leider nicht.
          Wäre super wenn das funktionieren würde.
          VG

          GlasfaserG 1 Reply Last reply
          0
          • E eifeladmin

            Hi,

            hab hier einen Beitrag zu Kamera gefunden.
            Was müsste man anpassen um das zum Laufen zu bekommen?
            Oder muss man noch was installieren?
            Hab nur mal IP Adresse und Kennwort angepasst, funktioniert aber leider nicht.
            Wäre super wenn das funktionieren würde.
            VG

            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            wrote on last edited by Glasfaser
            #5

            @eifeladmin
            Was hast du im Log stehen , ein Error / Warning !?

            Hast Du im Adapter Javascript" request " aktiviert !?

            Unbenannt.JPG

            Welche Hikvison Cam hast du .

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            1 Reply Last reply
            0
            • E Offline
              E Offline
              eifeladmin
              wrote on last edited by
              #6

              Eine Warnung / Error bekomme ich keine.
              Request hab ich im Adapter aktiviert.
              Ich hab eine DS-2CD3132F-IWS, den befehlt hab ich mal im Browser eingegeben und auch eine Rückmeldung erhalten.
              Kann ich das Ergebnis im Webinterface sehen? Müsste dann der Haken raus rein bei Bewegungserkennung?

              GlasfaserG 1 Reply Last reply
              0
              • E eifeladmin

                Eine Warnung / Error bekomme ich keine.
                Request hab ich im Adapter aktiviert.
                Ich hab eine DS-2CD3132F-IWS, den befehlt hab ich mal im Browser eingegeben und auch eine Rückmeldung erhalten.
                Kann ich das Ergebnis im Webinterface sehen? Müsste dann der Haken raus rein bei Bewegungserkennung?

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                wrote on last edited by
                #7

                @eifeladmin
                Hast Du auch darauf geachtet bzw. dieses geändert.

                Zitat :

                Mit dem Programm Postman funktioniert das einwandfrei.
                
                Host: 'IPADRESSE',
                Postman-Token': 'IrgendeinTokenvonPostman',
                Authorization: 'Basic irgend ne nummer von Postman',
                
                

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                E 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @eifeladmin
                  Hast Du auch darauf geachtet bzw. dieses geändert.

                  Zitat :

                  Mit dem Programm Postman funktioniert das einwandfrei.
                  
                  Host: 'IPADRESSE',
                  Postman-Token': 'IrgendeinTokenvonPostman',
                  Authorization: 'Basic irgend ne nummer von Postman',
                  
                  
                  E Offline
                  E Offline
                  eifeladmin
                  wrote on last edited by
                  #8

                  @Glasfaser
                  Das war ja meine Frage ob ich dort noch was anpassen muss.
                  Wo bekomm ich den das Token und die Nummer her?
                  Hab damit leider noch nie gearbeitet.

                  1 Reply Last reply
                  0
                  • T Timme

                    Problem gelöst! :-)

                    Wie im obigen Fred geschrieben funktioniert es mit dem Programm Postman
                    Hier kann man per GET und PUT die Anweisung direkt verschicken.

                    Nach vielem, lesen habe ich herausgefunden, dass man die PUT Anweisung für JAVA in ein Request umwandeln muß.

                    Jettzt kommt wieder das Program Postman zum Einsatz. Diese Programm kann die XML in ein Request übersetzten.

                    Das obige XML File sieht dann in JavaScript wie folgt aus:

                    var request = require("request");

                    var options = { method: 'PUT',
                    url: 'http://admin:DPASSWORD@IPADRESSE/ISAPI/System/Video/inputs/channels/1/motionDetection',
                    headers:
                    { 'cache-control': 'no-cache',
                    Connection: 'keep-alive',
                    'content-length': '877',
                    'accept-encoding': 'gzip, deflate',
                    Host: 'IPADRESSE',
                    'Postman-Token': 'IrgendeinTokenvonPostman',
                    'Cache-Control': 'no-cache',
                    Accept: '/',
                    'User-Agent': 'PostmanRuntime/7.13.0',
                    Authorization: 'Basic irgend ne nummer von Postman',
                    'Content-Type': 'application/json' },
                    body: '<?xml version="1.0" encoding="UTF-8"?>\n<MotionDetection version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">\n <enabled>true</enabled>\n <enableHighlight>true</enableHighlight>\n <samplingInterval>2</samplingInterval>\n <startTriggerTime>500</startTriggerTime>\n <endTriggerTime>500</endTriggerTime>\n <regionType>grid</regionType>\n <Grid>\n <rowGranularity>18</rowGranularity>\n <columnGranularity>22</columnGranularity>\n </Grid>\n <MotionDetectionLayout version="2.0" xmlns="http://www.std-cgi.com/ver20/XMLSchema">\n <sensitivityLevel>20</sensitivityLevel>\n <layout>\n <gridMap>000000000000000000000000000000000000000200000400000000000000000040000000008000000000000000000000003000000000</gridMap>\n </layout>\n </MotionDetectionLayout>\n <enableWithMoving>false</enableWithMoving>\n</MotionDetection>\n' };

                    request(options, function (error, response, body) {
                    if (error) throw new Error(error);

                    console.log(body);
                    });]

                    Das Script kann man sicherlich noch einkürzen - funktioniert auf jedenfall im IO-Broker.

                    Also für alle diejenigen, die eine HIKVision Kamera im Einsatz haben und igrendweche Einstellungen per Skript machen möchten, können dies mit diesen recht einfach Weg machen.

                    Falls detailierte Beschreibung gewünscht einfach mal melden.

                    Gruß
                    Timme

                    WiednitzW Offline
                    WiednitzW Offline
                    Wiednitz
                    wrote on last edited by
                    #9

                    @timme

                    Grüsse,

                    ich versuche grad in Postman die xml Datei, welche man durch Aufruf der Url

                    IPAdresse/ISAPI/System/Video/inputs/channels/1/motionDetection

                    erhält, in einen Request umzuwandeln. Mit welcher Funktion in Postman gelingt das ??? Code snippet > NodeJS Request ???

                    Das Thema ist zwar schon alt, aber vielleicht antwortet doch noch jemand.

                    Danke !

                    WiednitzW 1 Reply Last reply
                    0
                    • WiednitzW Wiednitz

                      @timme

                      Grüsse,

                      ich versuche grad in Postman die xml Datei, welche man durch Aufruf der Url

                      IPAdresse/ISAPI/System/Video/inputs/channels/1/motionDetection

                      erhält, in einen Request umzuwandeln. Mit welcher Funktion in Postman gelingt das ??? Code snippet > NodeJS Request ???

                      Das Thema ist zwar schon alt, aber vielleicht antwortet doch noch jemand.

                      Danke !

                      WiednitzW Offline
                      WiednitzW Offline
                      Wiednitz
                      wrote on last edited by
                      #10

                      @wiednitz

                      Ich antworte mir selbst, denn selbst gelöst ! Inhalt im xml Format kommt in den Body !

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      403

                      Online

                      32.5k

                      Users

                      81.6k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe