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. Visualisierung
  4. IP Cam Snapshot als "Stream"

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

IP Cam Snapshot als "Stream"

Scheduled Pinned Locked Moved Visualisierung
vishow-tocamera
98 Posts 12 Posters 13.0k Views 28 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.
  • ChristianMC Offline
    ChristianMC Offline
    ChristianM
    wrote on last edited by
    #10

    Ich habs jetzt mit verschiedenen Kamera´s und auch mit JPG´s von IoBroker probiert, aber funktioniert hat bisher leider nichts. Sieht jemand vielleicht gerade das Problem ? Muss man noch irgendwo etwas installieren ?

    /*Author: Jey Cee jey-cee@live.com; Version: 0.1.1; Datum: 04.10.2019*/
    
     
    
    let objPath = 'cam'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
    
    let urlCam1 = 'http://192.168.1.16:8082/adapter/daswetter/icons/tiempo-weather/galeria1/6.png';      //URL zum snapshot der IP Cam
    
    let intervall = 5;      //Zeit intervall für die Abfrage; 0 = Dynamisch, 1-x = Zeit in Sekunden;
    
     
    
    //Ab hier keine Änderungen mehr
    
    createState(objPath + '.image', '', false, {type: 'string'});
    
    createState(objPath + '.start', false, false, {type: 'boolean', role: 'switch'});
    
     
    
    const request = require('request').defaults({ encoding: null });
    
     
    
    on({id: 'javascript.0.' + objPath + '.start', val: true},
    
        function(){
    
            getSnap();
    
        }) 
    
     
    
     
    
    function getSnap(){
    
        request.get(urlCam1, function (error, response, body) {
    
        if(error){
    
            log(error);
    
        }
    
        if (!error && response.statusCode == 200) {
    
            data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
    
            setState('javascript.0.' + objPath + '.image', data);
    
        }
    
        if(intervall === 0 && getState('javascript.0.' + objPath + '.start').val === true){
    
            getSnap();
    
        }else if(intervall !== 0 && getState('javascript.0.' + objPath + '.start').val === true){
    
            setTimeout(function(){
    
                    getSnap();
    
            }, intervall * 1000);
    
        }
    
        
    
    });
    
    }
    
     
    
     
    
     
    
    
    GlasfaserG 1 Reply Last reply
    0
    • bahnuhrB bahnuhr

      @Jey-Cee

      Musste dies ergänzen:
      'javascript.0.' + objPath
      anstatt
      objPath

      in den Zeilen: 26,28,30

      Ansonsten lief das Script nicht.

      mfg
      Dieter

      Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      wrote on last edited by
      #11

      @bahnuhr sagte in IP Cam Snapshot als "Stream":

      Musste dies ergänzen:
      'javascript.0.' + objPath
      anstatt
      objPath
      in den Zeilen: 26,28,30
      Ansonsten lief das Script nicht.

      Kommisch, bei mir lief es genau so. Aber gut das kann ich anpassen dann ist es sicher.

      @ChristianM hast du start auf true gesetzt? Sonst weiss ich jetzt auch nicht.

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Reply Last reply
      0
      • ChristianMC ChristianM

        Ich habs jetzt mit verschiedenen Kamera´s und auch mit JPG´s von IoBroker probiert, aber funktioniert hat bisher leider nichts. Sieht jemand vielleicht gerade das Problem ? Muss man noch irgendwo etwas installieren ?

        /*Author: Jey Cee jey-cee@live.com; Version: 0.1.1; Datum: 04.10.2019*/
        
         
        
        let objPath = 'cam'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
        
        let urlCam1 = 'http://192.168.1.16:8082/adapter/daswetter/icons/tiempo-weather/galeria1/6.png';      //URL zum snapshot der IP Cam
        
        let intervall = 5;      //Zeit intervall für die Abfrage; 0 = Dynamisch, 1-x = Zeit in Sekunden;
        
         
        
        //Ab hier keine Änderungen mehr
        
        createState(objPath + '.image', '', false, {type: 'string'});
        
        createState(objPath + '.start', false, false, {type: 'boolean', role: 'switch'});
        
         
        
        const request = require('request').defaults({ encoding: null });
        
         
        
        on({id: 'javascript.0.' + objPath + '.start', val: true},
        
            function(){
        
                getSnap();
        
            }) 
        
         
        
         
        
        function getSnap(){
        
            request.get(urlCam1, function (error, response, body) {
        
            if(error){
        
                log(error);
        
            }
        
            if (!error && response.statusCode == 200) {
        
                data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
        
                setState('javascript.0.' + objPath + '.image', data);
        
            }
        
            if(intervall === 0 && getState('javascript.0.' + objPath + '.start').val === true){
        
                getSnap();
        
            }else if(intervall !== 0 && getState('javascript.0.' + objPath + '.start').val === true){
        
                setTimeout(function(){
        
                        getSnap();
        
                }, intervall * 1000);
        
            }
        
            
        
        });
        
        }
        
         
        
         
        
         
        
        
        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        wrote on last edited by
        #12

        @ChristianM

        Nimm mal dieses Widget .

        Wichtig , das Bild ist im Vis Editor nicht sichtbar !!!

        [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<img src={javascript.0.cam.image} width=\"1280px\">"},"style":{"left":"208px","top":"205px","width":"1280px","height":"600px"},"widgetSet":"basic"}]
        

        @Jey-Cee

        Bei mir funktioniert keine einzige Hikvision Kameras , ich denke mal das liegt am Pfad

        http://user:pass@192.168.xx.xx/streaming/channels/1/picture
        

        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 ..

        Jey CeeJ 1 Reply Last reply
        0
        • GlasfaserG Glasfaser

          @ChristianM

          Nimm mal dieses Widget .

          Wichtig , das Bild ist im Vis Editor nicht sichtbar !!!

          [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"<img src={javascript.0.cam.image} width=\"1280px\">"},"style":{"left":"208px","top":"205px","width":"1280px","height":"600px"},"widgetSet":"basic"}]
          

          @Jey-Cee

          Bei mir funktioniert keine einzige Hikvision Kameras , ich denke mal das liegt am Pfad

          http://user:pass@192.168.xx.xx/streaming/channels/1/picture
          
          Jey CeeJ Online
          Jey CeeJ Online
          Jey Cee
          Developer
          wrote on last edited by
          #13

          @Glasfaser wird etwas in den State image geschrieben?
          Gibt es eine Fehlermeldung im Log?

          Persönlicher Support
          Spenden -> paypal.me/J3YC33

          GlasfaserG 1 Reply Last reply
          0
          • Jey CeeJ Jey Cee

            @Glasfaser wird etwas in den State image geschrieben?
            Gibt es eine Fehlermeldung im Log?

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

            @Jey-Cee sagte in IP Cam Snapshot als "Stream":

            @Glasfaser wird etwas in den State image geschrieben?

            Ja …wird geschrieben .

            1.JPG

            Gibt es eine Fehlermeldung im Log?

            Nein , keine Fehlermeldung .

            Ein Bilderlink funktioniert , nur der Link meiner Kameras nicht !?

            Der State wird auch Aktualisiert ( 5 Sekunden eingestellt ) :

            22.jpg

            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 ..

            Jey CeeJ 1 Reply Last reply
            0
            • GlasfaserG Glasfaser

              @Jey-Cee sagte in IP Cam Snapshot als "Stream":

              @Glasfaser wird etwas in den State image geschrieben?

              Ja …wird geschrieben .

              1.JPG

              Gibt es eine Fehlermeldung im Log?

              Nein , keine Fehlermeldung .

              Ein Bilderlink funktioniert , nur der Link meiner Kameras nicht !?

              Der State wird auch Aktualisiert ( 5 Sekunden eingestellt ) :

              22.jpg

              Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              wrote on last edited by
              #15

              @Glasfaser nur nochmal zur Sicherheit es wird nichts geschrieben bei den cams?

              Dann geht das mit den Logindaten am Anfang der URL doch nicht. Muss anderst gelöst werden.

              Ich bau das morgen um und müsstest es für mich testen, hab keine Cam die so einen Link verwendet.

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              GlasfaserG 1 Reply Last reply
              0
              • Jey CeeJ Jey Cee

                @Glasfaser nur nochmal zur Sicherheit es wird nichts geschrieben bei den cams?

                Dann geht das mit den Logindaten am Anfang der URL doch nicht. Muss anderst gelöst werden.

                Ich bau das morgen um und müsstest es für mich testen, hab keine Cam die so einen Link verwendet.

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

                @Jey-Cee sagte in IP Cam Snapshot als "Stream":

                @Glasfaser nur nochmal zur Sicherheit es wird nichts geschrieben bei den cams?

                Doch siehe oben , ich habe extra den Sreenshot mit den Daten erstellt wo man den Base Code links erkennt der erstellt wird .

                @Jey-Cee sagte in IP Cam Snapshot als "Stream":

                Ich bau das morgen um und müsstest es für mich testen, hab keine Cam die so einen Link verwendet.

                Wäre sehr Nett ….:+1:

                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 ..

                Jey CeeJ 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @Jey-Cee sagte in IP Cam Snapshot als "Stream":

                  @Glasfaser nur nochmal zur Sicherheit es wird nichts geschrieben bei den cams?

                  Doch siehe oben , ich habe extra den Sreenshot mit den Daten erstellt wo man den Base Code links erkennt der erstellt wird .

                  @Jey-Cee sagte in IP Cam Snapshot als "Stream":

                  Ich bau das morgen um und müsstest es für mich testen, hab keine Cam die so einen Link verwendet.

                  Wäre sehr Nett ….:+1:

                  Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  wrote on last edited by
                  #17

                  @Glasfaser dann verstehe ich das problem nicht. Wenn der Base64 geschrieben wird bekommt er daten von der cam.

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  GlasfaserG 1 Reply Last reply
                  0
                  • Jey CeeJ Jey Cee

                    @Glasfaser dann verstehe ich das problem nicht. Wenn der Base64 geschrieben wird bekommt er daten von der cam.

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

                    @Jey-Cee

                    Ich habe vier Hikvison Cam´s und bei keiner kommt eine Bild , nur wenn ich ein Bilderlink einfüge im Script.

                    Das ist schon richtig das er was erstellt , nur kann ich als Laie nicht erkennen ob es ein Bild ist oder eine erzeugte Fehlermeldung als Base64.

                    Ist auch nicht so wichtig … das es bei mir nicht funktioniert !!!

                    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 ..

                    Jey CeeJ 1 Reply Last reply
                    0
                    • GlasfaserG Glasfaser

                      @Jey-Cee

                      Ich habe vier Hikvison Cam´s und bei keiner kommt eine Bild , nur wenn ich ein Bilderlink einfüge im Script.

                      Das ist schon richtig das er was erstellt , nur kann ich als Laie nicht erkennen ob es ein Bild ist oder eine erzeugte Fehlermeldung als Base64.

                      Ist auch nicht so wichtig … das es bei mir nicht funktioniert !!!

                      Jey CeeJ Online
                      Jey CeeJ Online
                      Jey Cee
                      Developer
                      wrote on last edited by
                      #19

                      @Glasfaser naja ist es schon immerhin ist es möglich das andere genau das gleiche haben.

                      Kannst du im skript mal ein log für den body direkt nach request.get einbauen? Dann sehen wir was von der cam kommt.

                      Persönlicher Support
                      Spenden -> paypal.me/J3YC33

                      GlasfaserG 1 Reply Last reply
                      0
                      • Jey CeeJ Jey Cee

                        @Glasfaser naja ist es schon immerhin ist es möglich das andere genau das gleiche haben.

                        Kannst du im skript mal ein log für den body direkt nach request.get einbauen? Dann sehen wir was von der cam kommt.

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

                        @Jey-Cee

                        Können schon … kannst du mir bitte eine Vorlage dazu geben !?

                        2222.JPG

                        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 ..

                        bahnuhrB 1 Reply Last reply
                        0
                        • GlasfaserG Glasfaser

                          @Jey-Cee

                          Können schon … kannst du mir bitte eine Vorlage dazu geben !?

                          2222.JPG

                          bahnuhrB Online
                          bahnuhrB Online
                          bahnuhr
                          Forum Testing Most Active
                          wrote on last edited by
                          #21

                          @Glasfaser sagte in IP Cam Snapshot als "Stream":

                          bitte eine Vorlage dazu geben !?

                          Zeile 40:
                          log (body);

                          Und das Ergebnis im log dann posten.


                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                          Danke.
                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                          ScreenToGif :https://www.screentogif.com/downloads.html

                          GlasfaserG 1 Reply Last reply
                          1
                          • bahnuhrB bahnuhr

                            @Glasfaser sagte in IP Cam Snapshot als "Stream":

                            bitte eine Vorlage dazu geben !?

                            Zeile 40:
                            log (body);

                            Und das Ergebnis im log dann posten.

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

                            @bahnuhr
                            Danke …

                            @Jey-Cee

                            Hier der Log ,

                            1.JPG

                            Log.txt
                            ………………………..

                            2.JPG

                            Hier der Inhalt vom Datenpunkt :

                            Datenpunkt.txt

                            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 ..

                            Jey CeeJ 1 Reply Last reply
                            0
                            • GlasfaserG Glasfaser

                              @bahnuhr
                              Danke …

                              @Jey-Cee

                              Hier der Log ,

                              1.JPG

                              Log.txt
                              ………………………..

                              2.JPG

                              Hier der Inhalt vom Datenpunkt :

                              Datenpunkt.txt

                              Jey CeeJ Online
                              Jey CeeJ Online
                              Jey Cee
                              Developer
                              wrote on last edited by
                              #23

                              @Glasfaser welches Datei Format hat das Bild wenn du es im Browser von der Kamera abrufst?
                              Im Zweifel Rechts Klick -> Bild Speichern

                              Persönlicher Support
                              Spenden -> paypal.me/J3YC33

                              GlasfaserG 1 Reply Last reply
                              0
                              • Jey CeeJ Jey Cee

                                @Glasfaser welches Datei Format hat das Bild wenn du es im Browser von der Kamera abrufst?
                                Im Zweifel Rechts Klick -> Bild Speichern

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

                                @Jey-Cee

                                Format : jpg

                                1.JPG

                                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 ..

                                Jey CeeJ 1 Reply Last reply
                                0
                                • GlasfaserG Glasfaser

                                  @Jey-Cee

                                  Format : jpg

                                  1.JPG

                                  Jey CeeJ Online
                                  Jey CeeJ Online
                                  Jey Cee
                                  Developer
                                  wrote on last edited by
                                  #25

                                  @Glasfaser ok jetzt hab ich zumindest eine Ahnung warum es nicht passt. Die info im Base64 sagt das es JPEG ist was auch stimmt, aber der MIME Type (ist im Base64 codiert) spricht von Binär Daten.
                                  Ich nehme an das der Browser den Datenstrom in JPEG wandelt, das macht mein Script natürlich nicht. Mal sehen ob ich da eine Lösung finde.

                                  Persönlicher Support
                                  Spenden -> paypal.me/J3YC33

                                  GlasfaserG 1 Reply Last reply
                                  1
                                  • Jey CeeJ Jey Cee

                                    @Glasfaser ok jetzt hab ich zumindest eine Ahnung warum es nicht passt. Die info im Base64 sagt das es JPEG ist was auch stimmt, aber der MIME Type (ist im Base64 codiert) spricht von Binär Daten.
                                    Ich nehme an das der Browser den Datenstrom in JPEG wandelt, das macht mein Script natürlich nicht. Mal sehen ob ich da eine Lösung finde.

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

                                    @Jey-Cee

                                    Freut mich das ich dir helfen kann …...

                                    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
                                    • L Offline
                                      L Offline
                                      lostall
                                      wrote on last edited by
                                      #27

                                      Hallo Zusammen,
                                      ich hätte ebenfalls ein Problem mit der HiKam Q8.
                                      Diese stellt normalerweise auch nur einen rtsp Stream bereit.

                                      Ich habe den ONVIF Adapter von @Jey-Cee installiert
                                      hier gefunden -->
                                      https://forum.iobroker.net/topic/26751/hikam-kameras-snapshot-erstellen-und-verschicken/3

                                      Mit dem Adapter wird auch der Link zum Kamerastream gefunden:
                                      2233d94a-5674-44f1-8b5c-15fe4d4675f2-image.png

                                      Danach habe ich das Skript von oben übernommen :

                                      /*Author: Jey Cee jey-cee@live.com; Version: 0.1.1; Datum: 04.10.2019*/
                                       
                                       
                                       
                                      let objPath = 'HiKamQ8Snaps'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
                                       
                                      let urlCam1 = 'http://192.168.0.14:8090/onvif/snapshot';      //URL zum snapshot der IP Cam
                                       
                                      let intervall = 5;      //Zeit intervall für die Abfrage; 0 = Dynamisch, 1-x = Zeit in Sekunden;
                                       
                                       
                                       
                                      //Ab hier keine Änderungen mehr
                                       
                                      createState(objPath + '.image', '', false, {type: 'string'});
                                       
                                      createState(objPath + '.start', false, false, {type: 'boolean', role: 'switch'});
                                       
                                       
                                       
                                      const request = require('request').defaults({ encoding: null });
                                       
                                       
                                       
                                      on({id: 'javascript.0.' + objPath + '.start', val: true},
                                       
                                          function(){
                                       
                                              getSnap();
                                       
                                          }) 
                                       
                                       
                                       
                                       
                                       
                                      function getSnap(){
                                       
                                          request.get(urlCam1, function (error, response, body) {
                                       
                                          if(error){
                                       
                                              log(error);
                                       
                                          }
                                       
                                          if (!error && response.statusCode == 200) {
                                       
                                              data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
                                       
                                              setState('javascript.0.' + objPath + '.image', data);
                                       
                                          }
                                       
                                          if(intervall === 0 && getState('javascript.0.' + objPath + '.start').val === true){
                                       
                                              getSnap();
                                       
                                          }else if(intervall !== 0 && getState('javascript.0.' + objPath + '.start').val === true){
                                       
                                              setTimeout(function(){
                                       
                                                      getSnap();
                                       
                                              }, intervall * 1000);
                                       
                                          }
                                       
                                          
                                       
                                      });
                                       
                                      }
                                       
                                       
                                       
                                       
                                       
                                       
                                       
                                      
                                      

                                      und und das Verzeichnis und den Streaminglink angepasst.

                                      Leider füllt sich der State in den Objekten gar nicht.
                                      Habe ich den status hier richtig auf "true" gesetzt?
                                      ef7c6fda-c0d6-4f4d-a168-dd8ceb4a80b6-image.png

                                      5ffa9e89-daea-4e66-a6a4-a25048c0d8e9-image.png
                                      Hat jemand eine Idee woran das liegt?
                                      Oder ist die Hikam völligst inkompatibel

                                      Zudem bin ich mir bei den Logindaten relativ unsicher was den Benutzernamen angeht.
                                      Auf die Konfigurationsseite der Hikam komme ich mit dem Benutzer "admin"
                                      Auf allen anderen Seiten benötige ich die Kamera ID (A086***) die hinten auf der Cam steht.
                                      Das Passwort wurde von mir angelegt und funktioniert in Kombination mit beiden "Benutzernamen"

                                      Der Logfile zeigt gar keine Einträge zum ausgeführten Skript. Das ist auch seltsam.
                                      Anbei noch einmal der Log vom Stopp- und danach vom Startvorgang des Skriptes:

                                      javascript.0	2019-12-06 14:45:14.054	info	script.js.common.Hikam_Q8_Snap.HikamQ8: registered 1 subscription and 0 schedules
                                      javascript.0	2019-12-06 14:45:14.051	info	Start javascript script.js.common.Hikam_Q8_Snap.HikamQ8
                                      javascript.0	2019-12-06 14:45:10.517	info	Stop script script.js.common.Hikam_Q8_Snap.HikamQ8
                                      
                                      Jey CeeJ 1 Reply Last reply
                                      0
                                      • L lostall

                                        Hallo Zusammen,
                                        ich hätte ebenfalls ein Problem mit der HiKam Q8.
                                        Diese stellt normalerweise auch nur einen rtsp Stream bereit.

                                        Ich habe den ONVIF Adapter von @Jey-Cee installiert
                                        hier gefunden -->
                                        https://forum.iobroker.net/topic/26751/hikam-kameras-snapshot-erstellen-und-verschicken/3

                                        Mit dem Adapter wird auch der Link zum Kamerastream gefunden:
                                        2233d94a-5674-44f1-8b5c-15fe4d4675f2-image.png

                                        Danach habe ich das Skript von oben übernommen :

                                        /*Author: Jey Cee jey-cee@live.com; Version: 0.1.1; Datum: 04.10.2019*/
                                         
                                         
                                         
                                        let objPath = 'HiKamQ8Snaps'         //Der Pfad zu den Skript Objekten; Ergebnis: javascript.0.cam
                                         
                                        let urlCam1 = 'http://192.168.0.14:8090/onvif/snapshot';      //URL zum snapshot der IP Cam
                                         
                                        let intervall = 5;      //Zeit intervall für die Abfrage; 0 = Dynamisch, 1-x = Zeit in Sekunden;
                                         
                                         
                                         
                                        //Ab hier keine Änderungen mehr
                                         
                                        createState(objPath + '.image', '', false, {type: 'string'});
                                         
                                        createState(objPath + '.start', false, false, {type: 'boolean', role: 'switch'});
                                         
                                         
                                         
                                        const request = require('request').defaults({ encoding: null });
                                         
                                         
                                         
                                        on({id: 'javascript.0.' + objPath + '.start', val: true},
                                         
                                            function(){
                                         
                                                getSnap();
                                         
                                            }) 
                                         
                                         
                                         
                                         
                                         
                                        function getSnap(){
                                         
                                            request.get(urlCam1, function (error, response, body) {
                                         
                                            if(error){
                                         
                                                log(error);
                                         
                                            }
                                         
                                            if (!error && response.statusCode == 200) {
                                         
                                                data = "data:" + response.headers["content-type"] + ";base64," + new Buffer(body).toString('base64');
                                         
                                                setState('javascript.0.' + objPath + '.image', data);
                                         
                                            }
                                         
                                            if(intervall === 0 && getState('javascript.0.' + objPath + '.start').val === true){
                                         
                                                getSnap();
                                         
                                            }else if(intervall !== 0 && getState('javascript.0.' + objPath + '.start').val === true){
                                         
                                                setTimeout(function(){
                                         
                                                        getSnap();
                                         
                                                }, intervall * 1000);
                                         
                                            }
                                         
                                            
                                         
                                        });
                                         
                                        }
                                         
                                         
                                         
                                         
                                         
                                         
                                         
                                        
                                        

                                        und und das Verzeichnis und den Streaminglink angepasst.

                                        Leider füllt sich der State in den Objekten gar nicht.
                                        Habe ich den status hier richtig auf "true" gesetzt?
                                        ef7c6fda-c0d6-4f4d-a168-dd8ceb4a80b6-image.png

                                        5ffa9e89-daea-4e66-a6a4-a25048c0d8e9-image.png
                                        Hat jemand eine Idee woran das liegt?
                                        Oder ist die Hikam völligst inkompatibel

                                        Zudem bin ich mir bei den Logindaten relativ unsicher was den Benutzernamen angeht.
                                        Auf die Konfigurationsseite der Hikam komme ich mit dem Benutzer "admin"
                                        Auf allen anderen Seiten benötige ich die Kamera ID (A086***) die hinten auf der Cam steht.
                                        Das Passwort wurde von mir angelegt und funktioniert in Kombination mit beiden "Benutzernamen"

                                        Der Logfile zeigt gar keine Einträge zum ausgeführten Skript. Das ist auch seltsam.
                                        Anbei noch einmal der Log vom Stopp- und danach vom Startvorgang des Skriptes:

                                        javascript.0	2019-12-06 14:45:14.054	info	script.js.common.Hikam_Q8_Snap.HikamQ8: registered 1 subscription and 0 schedules
                                        javascript.0	2019-12-06 14:45:14.051	info	Start javascript script.js.common.Hikam_Q8_Snap.HikamQ8
                                        javascript.0	2019-12-06 14:45:10.517	info	Stop script script.js.common.Hikam_Q8_Snap.HikamQ8
                                        
                                        Jey CeeJ Online
                                        Jey CeeJ Online
                                        Jey Cee
                                        Developer
                                        wrote on last edited by
                                        #28

                                        @lostall Hab mich gerade nochmal durch gelesen, das problem bei den HiKams ist die Codierung. Hab dafür keine Lösung gefunden.

                                        Versuch mal in Zeile 21 bei encoding null durch 'base64' zu ersetzen. Könnte sein das die Kamera die Bilder schon in base64 codiert.

                                        Persönlicher Support
                                        Spenden -> paypal.me/J3YC33

                                        1 Reply Last reply
                                        0
                                        • L Offline
                                          L Offline
                                          lostall
                                          wrote on last edited by
                                          #29

                                          Hallo,
                                          ich kam leider erst jetzt dazu dies zu probieren. Hat leider nicht geklappt.
                                          Ich erhalte jetzt folgende Fehlermeldung:

                                          javascript.0	2019-12-08 13:52:55.736	error	at ContextifyScript.Script.runInContext (vm.js:59:29)
                                          javascript.0	2019-12-08 13:52:55.736	error	at script.js.common.Hikam_Q8_Snap.HikamQ8:21:57
                                          javascript.0	2019-12-08 13:52:55.736	error	ReferenceError: base64 is not defined
                                          javascript.0	2019-12-08 13:52:55.736	error	^
                                          javascript.0	2019-12-08 13:52:55.736	error	const request = require('request').defaults({ encoding: base64 });
                                          javascript.0	2019-12-08 13:52:55.736	error	script.js.common.Hikam_Q8_Snap.HikamQ8: script.js.common.Hikam_Q8_Snap.HikamQ8:21
                                          
                                          Jey CeeJ 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

                                          518

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          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