Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @Jensen last edited by Glasfaser

      @Jensen sagte in [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..:

      diese IP gibt es aber bei mir nicht

      Schon sehr merkwürdig ... im Log ist wie schon erwähnt eine Cam .... inkl. Firmware angaben

      debug: onvif.0 (33304) getDevices: [{"type":"device","common":{"name":"192.168.178.92:8899","data":{"id":"192_168_178_92_8899","name":"192.168.178.92:8899","ip":"192.168.178.92","port":"8899","user":"admin","pass":"admin","cam_date":"2020-01-10T19:30:14.000Z","info":{"manufacturer":"H264","model":"50H20L_18EV200_S38","firmwareVersion":"V4.02.R12.00018520.10012.146900..ONVIF 2.41","serialNumber":"e8bb62b56f3a477d","hardwareId":"00001"},
      

      Laut Google , eine IPC Cam !?

      .

      Nutze diesen :

      Test Adapter onvif-alt v0.1.x

      1 Reply Last reply Reply Quote 0
      • Jensen
        Jensen last edited by

        moment mal
        da steckt doch noch so'n China Ding an einer anderen Netzwerkkarte
        die hab ich jetzt mal entfernt
        ich teste erneut

        1 Reply Last reply Reply Quote 0
        • Jensen
          Jensen last edited by

          nee, trotzdem kommt diese unbekannte IP adresse
          kann ich den 0.1.2 parallel installieren?

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

            @Jensen

            Ja ... ist ja ein anderer Adapter .

            1.JPG

            1 Reply Last reply Reply Quote 0
            • Jensen
              Jensen last edited by

              also der andere liegt momentan in Version 0.2.0 vor
              aber auch kein Erfolg
              vielleicht findet sich im Log was?
              log2.txt

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

                @Jensen

                Hast du so die Einstellung !?

                1.JPG

                1 Reply Last reply Reply Quote 0
                • Jensen
                  Jensen last edited by

                  ja, steht aber nur auf digest

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

                    @Jensen

                    Habe auch diese Cam PTZIP204WX4IR

                    so sind meine Einstellungen und es funktioniert !

                    1 Reply Last reply Reply Quote 0
                    • Jensen
                      Jensen last edited by

                      ich teste schon

                      1 Reply Last reply Reply Quote 0
                      • Jensen
                        Jensen last edited by

                        bis jetzt noch nichts Neues
                        ich starte die Kamera neu
                        was könnte ich noch tun, um dieser falschen IP auf die Schliche zu kommen?

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

                          @Jensen sagte in [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..:

                          was könnte ich noch tun, um dieser falschen IP auf die Schliche zu kommen?

                          Ping sie mal an ... die gibt es irgendwie in deinem Netzwerk.

                          Was möchtest du denn haben mit deiner Cam ... die Snapshot

                          http://192.168.178.64/onvif-http/snapshot?auth=YWRtaW46MTEK
                          
                          oder 
                          
                          http://user:password@192.168.178.64/onvif-http/snapshot?auth=YWRtaW46MTEK
                          

                          so sieht es eigenlich aus mit dem normalen ONVIF Adapter

                          .
                          2.JPG

                          1.JPG

                          1 Reply Last reply Reply Quote 0
                          • Jensen
                            Jensen last edited by

                            oh, oh, oh
                            ich habe jetzt im onvif.0 jede Menge Datenpunkte 😊 😊 😊

                            ja, Snapshot und PTZ Steuerung brauche ich letztendlich, und Darstellung im VIS

                            Glasfaser 1 Reply Last reply Reply Quote 0
                            • Jensen
                              Jensen last edited by

                              danke für die URLs
                              beide funktionieren, allerdings nicht mit user:password
                              aber das lag wohl am Browser (stand in irgendeinem Thread), da forsche ich mal noch

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

                                @Jensen sagte in [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..:

                                ich habe jetzt im onvif.0 jede Menge Datenpunkte

                                und alles jetzt da ... funktioniert es jetzt !?

                                1 Reply Last reply Reply Quote 0
                                • Jensen
                                  Jensen last edited by

                                  ok, ich muß mich etwas korrigieren
                                  die vielen Datenpunkte habe ich im onvif-alt.0
                                  dort kann ich aber schon meine beiden definierten Presets anfahren
                                  auch ein reboot hat funktioniert

                                  im onvif.0 leider weiter das gleiche unbefriedigende Ergebnis
                                  der Scan läuft ewig (muß manuell abgebrochen werden), Datenpunkte werden nicht erstellt
                                  am Ende immer diese ominöse IP im Log (die auch auf Ping nicht antwortet)

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

                                    @Jensen sagte in [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..:

                                    die vielen Datenpunkte habe ich im onvif-alt.0
                                    dort kann ich aber schon meine beiden definierten Presets anfahren

                                    Deshalb nutzte ich diesen Adapter 😉 ( onvif-alt. )

                                    1 Reply Last reply Reply Quote 0
                                    • Jensen
                                      Jensen last edited by

                                      ok, wenn er funktioniert, dann nehme ich den auch
                                      geht damit alles?

                                      • Bild im VIS
                                      • Presets im VIS ansteuern
                                      • Snapshots timergesteuert auf FTP Server
                                      • vielleicht noch was mit MotionDetection
                                      Glasfaser 1 Reply Last reply Reply Quote 0
                                      • Glasfaser
                                        Glasfaser @Jensen last edited by Glasfaser

                                        @Jensen sagte in [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..:

                                        • Bild im VIS

                                        Nicht über den Adapter ... nur über ein HTML Widget ( ..Screenshot Aktualisiert )

                                        • Presets im VIS ansteuern

                                        per JScript / Blockly dann steuerbar

                                        • Snapshots timergesteuert auf FTP Server

                                        per JScript / Blockly dann steuerbar

                                        • vielleicht noch was mit MotionDetection

                                        per JScript / Blockly dann steuerbar

                                        1 Reply Last reply Reply Quote 0
                                        • Jensen
                                          Jensen last edited by

                                          @Glasfaser
                                          für heute muß ich Schluss machen
                                          ganz ganz vielen Dank für die Hilfe, du hast meinen Abend gerettet
                                          wenn du noch hilfreiche Tips zu den vorher genannten 4 geplanten Punkten hast, ich wäre ein dankbarer Abnehmer
                                          In diesem Sinne, einen schönen Abend!
                                          Gruß Jens

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

                                            @Jensen

                                            Die CAM nutze ich so nicht , habe eher die Original Hikvision im Einsatz.
                                            Das Problem ist das die vorhandene Firmware auf der Cam nicht viel zulässt .

                                            Die normale Hikvision kann man direkt mit einem Http Befehl ansteuern .

                                            für die Anpviz habe ich es mal angepasst , kannst du gerne zum weiteren Ausprobieren nutzen
                                            War von mir ein Testlauf :

                                            Hier mal ein Script zum steuern

                                            Zeile 245 / 247 anpassen !

                                            /* Nachbau HIKVISON
                                            
                                            Steuerung meiner einzigen ONVIF Kamera via Javascript
                                            
                                            https://github.com/futomi/node-onvif/tree/master/sample
                                            
                                            hostname: "192.168.178.XXX",
                                            
                                            username: "username",
                                            
                                            password: "passwort"
                                            
                                            {1}
                                            
                                            Presets direkt in Kamera-Webserver (sihe hostname) speichern.
                                            
                                            Todo: 
                                            
                                            Presets speichern und dabei Snapshot für Preview in vis.0 speichern
                                            
                                            Presets löschen und dabei neutrales Vorschaubild in vis.0 erstellen
                                            
                                            Wie AutoPan oder Pattern oder Tour aufrufen?
                                            
                                            23.07.2017 Presets zugefügt
                                            
                                            14.08.2017 Test beendet, umbeannt
                                            
                                            */
                                            
                                            const fC = false;
                                            
                                            const logging = false;
                                            
                                            const dest_path = '/opt/iobroker/iobroker-data/files/vis.0/snapsonvif.jpg'; // OS X Pfad
                                            
                                            const pfad = 'javascript.0.VIS.Kamera.1.PTZ.';
                                            
                                            const idSpeed     = pfad + 'Geschwindigkeit';
                                            
                                            const idStoppzeit = pfad + 'Stoppzeit';
                                            
                                            const idStopp =     pfad + 'Stopp';
                                            
                                            const idRechts =    pfad + 'rechts';
                                            
                                            const idLinks =     pfad + 'links';
                                            
                                            const idHoch =      pfad + 'hoch';
                                            
                                            const idRunter =    pfad + 'runter';
                                            
                                            const idZoomIn =    pfad + 'ZoomIn';
                                            
                                            const idZoomOut =   pfad + 'ZoomOut';
                                            
                                            const idGotoPreset =   pfad + 'gotoPreset';
                                            
                                            const onvif = require('node-onvif');
                                            
                                            const fs = require('fs');
                                            
                                            createState(idSpeed, 1, fC, {
                                            
                                              def: 1,
                                            
                                              min: 0,
                                            
                                              max: 1,
                                            
                                              name: 'Kamera 1 PTZ Geschwindkeit bei Bewegung',
                                            
                                              desc: 'Geschwindigkeit von 0-1 bei der Bewegung',
                                            
                                              type: 'number'
                                            
                                            });
                                            
                                            createState(idStoppzeit, 1, fC, {
                                            
                                              def: 0,
                                            
                                              min: 0,
                                            
                                              name: 'Kamera 1 PTZ Stoppzeit',
                                            
                                              desc: 'Dauer in Sekunden bis zum Stopp der Bewegung',
                                            
                                              type: 'number',
                                            
                                              unit: 's'
                                            
                                            });
                                            
                                            createState(idStopp, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ Stopp',
                                            
                                              desc: 'Sofortiger Stopp der Bewegung',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idRechts, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ rechts',
                                            
                                              desc: 'Bewegung nach rechts',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idLinks, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ links',
                                            
                                              desc: 'Bewegung nach links',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idHoch, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ oben',
                                            
                                              desc: 'Bewegung nach oben',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idRunter, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ unten',
                                            
                                              desc: 'Bewegung nach unten',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idZoomIn, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ Zoom in',
                                            
                                              desc: 'Bild vergößern',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idZoomOut, false, fC, {
                                            
                                              def: false,
                                            
                                              name: 'Kamera 1 PTZ Zoom out',
                                            
                                              desc: 'Bild verkleinern',
                                            
                                              type: 'boolean',
                                            
                                              role: 'switch'
                                            
                                            });
                                            
                                            createState(idGotoPreset, 0, fC, {
                                            
                                              def:  0,
                                            
                                              name: 'Kamera 1 PTZ Preset Wähler',
                                            
                                              desc: 'Preset auswählen (Zahlen von 1 bis X)',
                                            
                                              type: 'number'
                                            
                                            });
                                            
                                            
                                            
                                            log('Start the discovery process.');
                                            
                                            //Find the ONVIF network cameras
                                            
                                            onvif.startDiscovery((info) => {
                                            
                                            // Show the device name and the URL of the end point
                                            
                                            log('- ' + info.urn);
                                            
                                            log('  - ' + info.name);
                                            
                                            log('  - ' + info.xaddrs[0]);
                                            
                                            });
                                            
                                            // Stop the discovery process in 3 seconds
                                            
                                            setTimeout(() => {
                                            
                                            onvif.stopDiscovery(() => {
                                            
                                              log('Stopped the discovery process.');
                                            
                                            {1}
                                            
                                            });
                                            
                                            }, 3000);
                                            
                                            
                                            
                                            // Create an OnvifDevice object
                                            
                                            const device = new onvif.OnvifDevice({
                                            
                                              xaddr: 'http://192.168.178.64/onvif/device_service',
                                            
                                              user : 'DeinBenutzer',
                                            
                                              pass : 'DeinPasswort'
                                            
                                            });
                                            
                                            function movePTZ (ptz_x, ptz_y, ptz_z, stoptime) {
                                            
                                              // https://github.com/futomi/node-onvif#ptzmoveparams-callback
                                            
                                              device.init((error) => {
                                            
                                                  if (error) {
                                            
                                                      log('[ERROR] ' + error.message);
                                            
                                                      return;
                                            
                                                  } else {
                                            
                                                      // +++ CONTROL via PTZ 
                                            
                                                      var ptzlog = '';
                                            
                                                      ptz_x = (ptz_x <=1 && ptz_x >=-1) ? ptz_x : 0;
                                            
                                                      ptz_y = (ptz_y <=1 && ptz_y >=-1) ? ptz_y : 0;
                                            
                                                      ptz_z = (ptz_z <=1 && ptz_z >=-1) ? ptz_z : 0;
                                            
                                                      if (ptz_x > 0) ptzlog = 'Schwenk nach rechts';
                                            
                                                      if (ptz_x < 0) ptzlog = 'Schwenk nach links';
                                            
                                                      if (ptz_y > 0) ptzlog = 'Schwenk nach oben';
                                            
                                                      if (ptz_y < 0) ptzlog = 'Schwenk nach unten';
                                            
                                                      if (ptz_z > 0) ptzlog = 'Zoom in';
                                            
                                                      if (ptz_z < 0) ptzlog = 'Zoom out';
                                            
                                                      ptzlog += ' für ' + stoptime + 's';
                                            
                                                      if (logging) log(ptzlog);
                                            
                                                      // Create the parameters
                                            
                                                      var params = {
                                            
                                                          'speed': {
                                            
                                                              x: ptz_x, // Speed of pan (in the range of -1 to 1.0)
                                            
                                                              y: ptz_y, // Speed of tilt (in the range of -1 to 1.0)
                                            
                                                              z: ptz_z  // Speed of zoom (in the range of -1 to 1.0)
                                            
                                                          },
                                            
                                                          'timeout': 30 // seconds
                                            
                                                      };
                                            
                                                      // Move the camera
                                            
                                                      device.ptzMove(params, (error) => {
                                            
                                                          if (error) {
                                            
                                                              log(error.message, 'error');
                                            
                                                          } else {
                                            
                                                              log('Camera moved!');
                                            
                                                          }
                                            
                                                      });
                                            
                                            
                                            
                                                      // Stop to the PTZ in X seconds
                                            
                                                      setTimeout(() => {
                                            
                                                          device.ptzStop((error) => {
                                            
                                                              if (error) {
                                            
                                                                  log(error.message, 'error');
                                            
                                                              } else {
                                            
                                                                  log('Succeeded to stop after ' + stoptime + ' seconds.');
                                            
                                                              }
                                            
                                                          });
                                            
                                                      }, stoptime * 1000);  // stopzeit
                                            
                                                  }
                                            
                                              });
                                            
                                            }
                                            
                                            function stopMoving () {
                                            
                                              device.ptzStop((error) => {
                                            
                                                  if (error) {
                                            
                                                      log(error.message, 'error');
                                            
                                                  } else {
                                            
                                                      log('Succeeded to stop.');
                                            
                                                  }
                                            
                                              });
                                            
                                            }
                                            
                                            // https://github.com/futomi/node-onvif#gotopresetparams-callback-method
                                            
                                            function gotoPreset (presetNumber) { // 1,2,3 kommt als ganze Zahl
                                            
                                              if (presetNumber > 0) {
                                            
                                                  device.init((error) => {
                                            
                                                      if (error) {
                                            
                                                          log('[ERROR] ' + error.message, 'error');
                                            
                                                          return;
                                            
                                                      } /*else {*/
                                            
                                                      // The OnvifServicePtz object
                                            
                                                      var ptz = device.services.ptz;
                                            
                                                      if (ptz) {
                                            
                                                          var profile = device.getCurrentProfile(); // debug
                                            
                                                          log(JSON.stringify(profile, null, '  ')); // debug log
                                            
                                            
                                            
                                                          var params = {
                                            
                                                              'ProfileToken': profile['token'],
                                            
                                                              'PresetToken' : presetNumber.toString(),
                                            
                                                              'Speed'       : {'x': 1, 'y': 1, 'z': 1}
                                            
                                                          };
                                            
                                            
                                            
                                                          device.services.ptz.gotoPreset(params, (error, result) => {
                                            
                                                              if (error) {
                                            
                                                                  log('[ERROR] ' + error.message, 'error');
                                            
                                                              } else {
                                            
                                                                  if (logging) log('Preset: ' + JSON.stringify(result.data, null, '  ')); // statt result.['data']
                                            
                                                                  log('Camera moved to Preset #' + presetNumber.toString());
                                            
                                                              }
                                            
                                                          });
                                            
                                                      } else {
                                            
                                                          log('[ERROR] Your ONVIF network camera does not support the PTZ service.');
                                            
                                                      }
                                            
                                                      //}
                                            
                                                  });
                                            
                                              } else {
                                            
                                                  log('Preset für Kamera 1 kein valider Preset-Wert'); // debug log
                                            
                                              }
                                            
                                            }
                                            
                                            // Bild an telegram schicken
                                            
                                            function sendImage (pfad, bildtext) {
                                            
                                              setTimeout(function() {
                                            
                                                  sendTo('telegram.1', {
                                            
                                                      text: pfad,
                                            
                                                      caption: bildtext
                                            
                                                  });
                                            
                                                  log('Webcam Bild per telegram verschickt');
                                            
                                              }, 2 * 1000);
                                            
                                            }
                                            
                                            function saveImage () {
                                            
                                                  // Initialize the OnvifDevice object
                                            
                                                  device.init((error) => {
                                            
                                                      if (error) {
                                            
                                                          log('[ERROR] ' + error.message, 'error');
                                            
                                                          return;
                                            
                                                      } else {
                                            
                                                          if (logging) log('The OnvifDevice object has been initialized successfully.');
                                            
                                                          // +++ Get the detailed device information
                                            
                                                          var device_info = device.getInformation();
                                            
                                                          if (logging) log(JSON.stringify(device_info, null, '  '));
                                            
                                                          // +++ Get the UDP stream URL
                                            
                                                          var url = device.getUdpStreamUrl();
                                            
                                                          if (logging) log('UDP-Stream: ' + url);
                                            
                                            
                                            
                                                          // +++ Get Profile
                                            
                                                          var profile = device.getCurrentProfile();
                                            
                                                          if (logging) log('Profile: ' + JSON.stringify(profile, null, '  ')); // Viele Infos
                                            
                                                          // für debug: 
                                            
                                                          //log('http: ' + profile.stream.http);
                                            
                                            
                                            
                                                          var cam_info = 'ONVIF Bild' + '\n'
                                            
                                                                       + 'Model: ' + device_info.Model + '\n'
                                            
                                                                       + 'Firmware: ' + device_info.FirmwareVersion + '\n'
                                            
                                                                       + 'Seriennummer: ' + device_info.SerialNumber + '\n'
                                            
                                                                       + 'Harware ID: ' + device_info.HardwareId + '\n'
                                            
                                                                       + 'RTSP-Stream: ' + url;     
                                            
                                            
                                            
                                                          // +++ Get the data of the snapshot
                                            
                                                          log('fetching the data of the snapshot...');
                                            
                                                          device.fetchSnapshot((error, res) => {
                                            
                                                              if (error) {
                                            
                                                                  log(error.message, 'error');
                                            
                                                                  return;
                                            
                                                              }
                                            
                                                              // Save the data to a file and send via telegram
                                            
                                                              fs.writeFile(dest_path + 'onvif_snapshot.jpg', res.body, function (error) { // Anpassen an die OS X gegebenheiten (oder per Telegram senden)
                                            
                                                                  if (error) {
                                            
                                                                      log(error.message, 'error');
                                            
                                                                  } else {
                                            
                                                                      sendImage(dest_path + 'onvif_snapshot.jpg', cam_info);
                                            
                                                                      log('Image sent!');
                                            
                                                                  }
                                            
                                                              });
                                            
                                                          });
                                            
                                                      }
                                            
                                                  });    
                                            
                                            }
                                            
                                            // Start beim Setzen auf true
                                            
                                            // Links
                                            
                                            on({id: idLinks, val: true},function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(-1 * speed , 0, 0, stoppzeit);
                                            
                                                 setStateDelayed(idLinks, false, 500); // ggf , 500 + (stoppzeit * 1000)
                                            
                                              }
                                            
                                            });
                                            
                                            // rechts
                                            
                                            on({id: idRechts, val: true}, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(1 * speed , 0, 0, stoppzeit);
                                            
                                                 setStateDelayed(idRechts, false, 500);
                                            
                                              }
                                            
                                            });
                                            
                                            // oben
                                            
                                            on({id: idHoch, val: true}, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(0, 1 * speed, 0, stoppzeit);
                                            
                                                 setStateDelayed(idHoch, false, 500, 500);
                                            
                                              }
                                            
                                            });
                                            
                                            // runter
                                            
                                            on({id: idRunter, val: true}, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(0, -1 * speed, 0, stoppzeit);
                                            
                                                 setStateDelayed(idRunter, false, 500);
                                            
                                              }
                                            
                                            });
                                            
                                            // vergrößern
                                            
                                            on({id: idZoomIn, val: true}, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(0, 0, 1 * speed, stoppzeit);
                                            
                                                 setStateDelayed(idZoomIn, false, 500);
                                            
                                              }
                                            
                                            });
                                            
                                            // verkleinern
                                            
                                            on({id:idZoomOut, val: true}, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                            
                                                 movePTZ(0, 0, -1 * speed, stoppzeit);
                                            
                                                 setStateDelayed(idZoomOut, false, 500);
                                            
                                              }
                                            
                                            });
                                            
                                            // sofortiger Stopp
                                            
                                            on(idStopp, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 stopMoving();
                                            
                                                 setStateDelayed(idStopp, false, 500);
                                            
                                                 setState(idGotoPreset, 0);
                                            
                                              }
                                            
                                            });
                                            
                                            // bei Bedienung aller Knöpfe sofert Preset Anzeige löschen 
                                            
                                            // klappt noch nicht so richtig, da laufende Fahrt zum Presetpunkt noch beendet wird
                                            
                                            on({
                                            
                                              id: [idStopp, idZoomOut, idZoomIn, idRunter, idHoch, idRechts, idLinks], 
                                            
                                              change: 'any'
                                            
                                            }, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 setState(idGotoPreset, 0);
                                            
                                              }
                                            
                                            });
                                            
                                            // zum bereits gespeicherten Preset X fahren (Ganze Zahl, kommt aus VIS, Scenes oder Script)
                                            
                                            on(idGotoPreset, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 gotoPreset(parseInt(obj.state.val,10)); // vorher 10 wird später zu einem String gewandelt
                                            
                                                 setStateDelayed(idGotoPreset, 0, 500); // reset
                                            
                                              }
                                            
                                            });
                                            
                                            // Skriptstart
                                            
                                            //setTimeout(saveImage, 15000);
                                            
                                            // setTimeout(goHome, 1000);
                                            
                                            /*
                                            
                                            setTimeout(function() {
                                            
                                              movePTZ(1,0,0,5); // rechts, 2 sek
                                            
                                            }, 1000);
                                            
                                            */
                                            
                                            
                                            const idHochRechts = pfad + 'hochrechts';
                                            
                                            
                                            
                                            createState(idHochRechts, false, fC, {def: false,name: 'Kamera 1 PTZ obenrechts',desc: 'Bewegung nach obenrechts',type: 'boolean',role: 'switch'});
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                                            on(idHochRechts, function (obj) {
                                            
                                              if (!obj.state.ack && obj.state.val) {
                                            
                                                 var stoppzeit = getState(idStoppzeit).val;
                                            
                                                 var speed = getState(idSpeed).val;
                                                 
                                                 movePTZ(1 * speed , 0, 0, stoppzeit);
                                            
                                                 movePTZ(0, 1 * speed, 0, stoppzeit);
                                            
                                                 setStateDelayed(idHochRechts, false, 500);
                                                 
                                              }
                                            
                                            });
                                            
                                            
                                            
                                            

                                            hier das Widget :
                                            gesteuert wird über SimpleAPI , muss du dann anpassen

                                            [{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/onvif-alt.0.849a40d5db54.ptz.presets.Preset 1?value=true","text":"Home"},"style":{"left":"16px","top":"17px","width":"133px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/onvif-alt.0.849a40d5db54.ptz.presets.Preset 2?value=true","text":"links"},"style":{"left":"153px","top":"17px","width":"133px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/onvif-alt.0.849a40d5db54.ptz.presets.Preset 3?value=true","text":"mitte"},"style":{"left":"16px","top":"63px","width":"133px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/onvif-alt.0.849a40d5db54.ptz.presets.Preset 4?value=true","text":"rechts"},"style":{"left":"153px","top":"63px","width":"133px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.ZoomIn?value=true","text":"Zoom +"},"style":{"left":"21px","top":"133px","width":"76px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.Stopp?value=true","text":"Stop"},"style":{"left":"111px","top":"133px","width":"86px","height":"38px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.ZoomOut?value=true","text":"Zoom -"},"style":{"left":"211px","top":"133px","width":"73px","height":"37px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"","text":"","src":"/vis.0/dorn/control_arrow_up_left.png","imageHeight":"98"},"style":{"left":"21px","top":"186px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.hoch?value=true","text":"","src":"/vis.0/dorn/control_arrow_up.png"},"style":{"left":"116px","top":"186px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"","text":"","src":"/vis.0/dorn/control_centr_arrow_up_right.png"},"style":{"left":"209px","top":"186px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.links?value=true","text":" ","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,"src":"/vis.0/dorn/control_centr_arrow_left.png","imageHeight":"98","alt":""},"style":{"left":"21px","top":"261px","width":"76px","height":"58px","overflow-x":"","overflow-y":"","position":"","opacity":"","cursor":"","text-align":"center","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.Stopp?value=true","text":"","src":"/vis.0/dorn/audio_stop.png"},"style":{"left":"110px","top":"261px","width":"86px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.rechts?value=true","text":"","src":"/vis.0/dorn/control_arrow_right.png","imageHeight":"98"},"style":{"left":"209px","top":"261px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"","text":"","src":"/vis.0/dorn/control_centr_arrow_down_left.png"},"style":{"left":"21px","top":"336px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"","text":"","src":"/vis.0/dorn/control_centr_arrow_down_right.png"},"style":{"left":"209px","top":"336px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplIconHttpGet","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","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,"url":"http://192.168.178.11:8087/set/javascript.0.VIS.Kamera.1.PTZ.runter?value=true","text":"","src":"/vis.0/dorn/control_centr_arrow_down.png"},"style":{"left":"116px","top":"336px","width":"76px","height":"58px","z-index":"5"},"widgetSet":"jqui"},{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.VIS.Kamera.1.PTZ.gotoPreset","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","values":"1;2","texts":"1;2","height":"100","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},"style":{"left":"131px","top":"104px","z-index":"9999"},"widgetSet":"jqui"}]
                                            


                                            .
                                            1.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            900
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter camera onvif
                                            9
                                            97
                                            12330
                                            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