Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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.7k

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

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

IP Cam Snapshot als "Stream"

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vishow-tocamera
98 Beiträge 12 Kommentatoren 13.0k Aufrufe 28 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #9

    @Jey-Cee

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

    in den Zeilen: 26,28,30

    Ansonsten lief das Script nicht.

    mfg
    Dieter


    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

    Jey CeeJ 1 Antwort Letzte Antwort
    0
    • ChristianMC Offline
      ChristianMC Offline
      ChristianM
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #13

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

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

            GlasfaserG 1 Antwort Letzte Antwort
            0
            • Jey CeeJ Jey Cee

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

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  0
                                  • GlasfaserG Glasfaser

                                    @Jey-Cee

                                    Format : jpg

                                    1.JPG

                                    Jey CeeJ Online
                                    Jey CeeJ Online
                                    Jey Cee
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      0
                                      • L Offline
                                        L Offline
                                        lostall
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          932

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe