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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [gelöst] ioBroker.onvif-Adapter - Fehlermeldung bei Kamera..

NEWS

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
cameraonvifadapter
97 Beiträge 9 Kommentatoren 15.4k Aufrufe 10 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.
  • JensenJ Jensen

    @Glasfaser
    tja, ich denke auch, daß diese 192.168.178.92 irgendwie was durcheinanderbringt
    diese IP gibt es aber bei mir nicht
    wo kommt die nur her?
    andere onvif Adapter habe ich noch nicht probiert, weil im Webinterface alles perfekt lief
    welchen würdest du vorschlagen?
    Gruß Jens

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von Glasfaser
    #47

    @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

    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
    • JensenJ Offline
      JensenJ Offline
      Jensen
      schrieb am zuletzt editiert von
      #48

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

      1 Antwort Letzte Antwort
      0
      • JensenJ Offline
        JensenJ Offline
        Jensen
        schrieb am zuletzt editiert von
        #49

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

        GlasfaserG 1 Antwort Letzte Antwort
        0
        • JensenJ Jensen

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

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          schrieb am zuletzt editiert von Glasfaser
          #50

          @Jensen

          Ja ... ist ja ein anderer Adapter .

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

          1 Antwort Letzte Antwort
          0
          • JensenJ Offline
            JensenJ Offline
            Jensen
            schrieb am zuletzt editiert von
            #51

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

            GlasfaserG 1 Antwort Letzte Antwort
            0
            • JensenJ Jensen

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

              GlasfaserG Offline
              GlasfaserG Offline
              Glasfaser
              schrieb am zuletzt editiert von Glasfaser
              #52

              @Jensen

              Hast du so die Einstellung !?

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

              1 Antwort Letzte Antwort
              0
              • JensenJ Offline
                JensenJ Offline
                Jensen
                schrieb am zuletzt editiert von
                #53

                ja, steht aber nur auf digest

                GlasfaserG 1 Antwort Letzte Antwort
                0
                • JensenJ Jensen

                  ja, steht aber nur auf digest

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von
                  #54

                  @Jensen

                  Habe auch diese Cam PTZIP204WX4IR

                  so sind meine Einstellungen und es 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 ..

                  1 Antwort Letzte Antwort
                  0
                  • JensenJ Offline
                    JensenJ Offline
                    Jensen
                    schrieb am zuletzt editiert von
                    #55

                    ich teste schon

                    1 Antwort Letzte Antwort
                    0
                    • JensenJ Offline
                      JensenJ Offline
                      Jensen
                      schrieb am zuletzt editiert von
                      #56

                      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?

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • JensenJ Jensen

                        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?

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von Glasfaser
                        #57

                        @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

                        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
                        • JensenJ Offline
                          JensenJ Offline
                          Jensen
                          schrieb am zuletzt editiert von
                          #58

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

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

                          GlasfaserG 1 Antwort Letzte Antwort
                          0
                          • JensenJ Offline
                            JensenJ Offline
                            Jensen
                            schrieb am zuletzt editiert von
                            #59

                            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 Antwort Letzte Antwort
                            0
                            • JensenJ Jensen

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

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

                              GlasfaserG Offline
                              GlasfaserG Offline
                              Glasfaser
                              schrieb am zuletzt editiert von
                              #60

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

                              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
                              • JensenJ Offline
                                JensenJ Offline
                                Jensen
                                schrieb am zuletzt editiert von
                                #61

                                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)

                                GlasfaserG 1 Antwort Letzte Antwort
                                0
                                • JensenJ Jensen

                                  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)

                                  GlasfaserG Offline
                                  GlasfaserG Offline
                                  Glasfaser
                                  schrieb am zuletzt editiert von Glasfaser
                                  #62

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

                                  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
                                  • JensenJ Offline
                                    JensenJ Offline
                                    Jensen
                                    schrieb am zuletzt editiert von
                                    #63

                                    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
                                    GlasfaserG 1 Antwort Letzte Antwort
                                    0
                                    • JensenJ Jensen

                                      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
                                      GlasfaserG Offline
                                      GlasfaserG Offline
                                      Glasfaser
                                      schrieb am zuletzt editiert von Glasfaser
                                      #64

                                      @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

                                      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
                                      • JensenJ Offline
                                        JensenJ Offline
                                        Jensen
                                        schrieb am zuletzt editiert von
                                        #65

                                        @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

                                        GlasfaserG 1 Antwort Letzte Antwort
                                        0
                                        • JensenJ Jensen

                                          @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

                                          GlasfaserG Offline
                                          GlasfaserG Offline
                                          Glasfaser
                                          schrieb am zuletzt editiert von Glasfaser
                                          #66

                                          @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

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          382

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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