Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [GELÖST] HikVision CAM per Script Anweisung steuern (REQUEST)

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Timme last edited by Timme

      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 Reply Quote 0
      • T
        Timme last edited by

        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 Reply Quote 0
        • T
          Timme last edited by 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

          Wiednitz 1 Reply Last reply Reply Quote 0
          • E
            eifeladmin last edited by

            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

            Glasfaser 1 Reply Last reply Reply Quote 0
            • Glasfaser
              Glasfaser @eifeladmin last edited by Glasfaser

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

              Hast Du im Adapter Javascript" request " aktiviert !?

              Unbenannt.JPG

              Welche Hikvison Cam hast du .

              1 Reply Last reply Reply Quote 0
              • E
                eifeladmin last edited by

                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?

                Glasfaser 1 Reply Last reply Reply Quote 0
                • Glasfaser
                  Glasfaser @eifeladmin last edited by

                  @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 1 Reply Last reply Reply Quote 0
                  • E
                    eifeladmin @Glasfaser last edited by

                    @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 Reply Quote 0
                    • Wiednitz
                      Wiednitz @Timme last edited by

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

                      Wiednitz 1 Reply Last reply Reply Quote 0
                      • Wiednitz
                        Wiednitz @Wiednitz last edited by

                        @wiednitz

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

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.6k
                        Users

                        79.4k
                        Topics

                        1.3m
                        Posts

                        communication
                        4
                        10
                        1780
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo