Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] http / require request / set Befehle? Wer kanns mir erklären? Thema BWM / Kamera

NEWS

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

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

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

[gelöst] http / require request / set Befehle? Wer kanns mir erklären? Thema BWM / Kamera

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 730 Aufrufe
  • Ä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.
  • T Offline
    T Offline
    tempestas
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich weiß, dass es von der Zielsetzung her ähnliche Themen gibt, die haben mir jedoch nicht weitergeholfen.

    Hintergrund meiner Frage:

    ich habe eine Instar 6001 HD Cam. Bislang habe ich diese als BWM genutzt. Nun ist es leider so, dass die Cam auch auslöst, wenn im Dunkeln ein Auto mit eingeschaltetem Licht vorbeifährt und sich entsprechend kurz die Lichtverhältnisse im Zimmer ändern. Ich bekomme also ständig Fehlalarme.

    Ich wollte ohnehin einen Homematic Präsenzmelder nutzen.

    Also soll dieser nun als Auslöser dienen. Ich habe, die Doku ist da ja sehr gut, auf der Instar Page einiges an Befehlen gefunden. Unter anderem auch, dass man wohl, obwohl sie kienen physischebn i/o hat, diesen mit geänderten Werten ansprechen kann und künstlich einen Alarm auslösen kann. Also genau das, was ich brauche –> BWM merkt Bewegung und triggert die Kamera, die dann eben tut, was sie so tut.

    Leider verstehe ich nicht, wie ich der Kamera nun die http Befehle übergebe (bin absolut kein ITler).

    Ich habe auch versucht zu verstehen, was "request" und "request.get" tun - ich checks aber nicht.

    Ich habe mal was zusammengetippert. Da ich aber request und get eben nicht verstehe, wäre es reines Raten - ich hasse Raten ohne Verständnis.

    
    // Trigger
    
    on({id:motion, val: true}, camAlarm);
    
    // Function
    
    function camAlarm(){
        request.get('http://xyz:abc@192.168.xxx.yy/cgi-bin/hi3510/param.cgi?cmd=setioattr&-io_enable=1&-io_flag=0');   <--- das soll den i/o Alarm auslösen
    } 
    
    

    Funktioniert das so? Was muss ich ändern bzw was muss ich erstmal grundsätzlich verstehen?

    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      Könnte so funktionieren, sehe auf den ersten Blick keinen Fehler. Tut die Cam denn was sie soll oder hast du es noch nicht getestet?

      Alternativ könntest du den Aufruf folgendermaßen schreiben (der https://github.com/request/request entnommen):

      request('http://xyz:abc@192.168.xxx.yy/cgi-bin/hi3510/param.cgi?cmd=setioattr&-io_enable=1&-io_flag=0', function (error, response, body) {
        console.log('error:', error); // Print the error if one occurred
        console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
        console.log('body:', body); // Print the HTML for the Google homepage.
      });
      

      Dann erhältst du zumindest mal eine Rückmeldung, wie die Anfrage von der Kamera angenommen wurde (oder eben nicht).

      Was sagt denn deine Doku über die Befehlsübergabe? Muss es HTTP-GET sein, oder möglicherweise doch POST/PUT? Ist ein vorheriger Login/Cookies nötig?

      > Ich habe auch versucht zu verstehen, was "request" und "request.get" tun - ich checks aber nicht.
      Kurz: "request" setzt einen HTTP-Request zur angegebenen URL ab und gibt die Antwort zurück (quasi wie im Browser, nur nicht grafisch aufbereitet). Den Request kannst du weiter konfigurieren, um Formulardaten zu übergeben, etc…

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #3

        Hi Calzone,

        danke für deine Rückmeldung.

        Die Instar Doku gibt mir nach meiner Sichtung nur die generellen CGI Befehle.

        Ob nun get, post oder put kann ich nicht entnehmen.

        Also verstehe ich es richtig (auch wenn es mir anti-intuitiv erscheint): mit "get" kann man nicht nur holen sondern eben auch "setzen"?

        Dann werde ich es dahiem mal ausprobieren. Danke

        Nachtrag:

        mal schnell via iobroker.pro getestet mit nem testtrigger. Funktioniert so. Topic gelöst, danke

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #4

          @tempestas:

          mit "get" kann man nicht nur holen sondern eben auch "setzen"? `
          Vorweg: in HTTP gibts verschiedene Request-Modi und es ist abhängig von der Server-Implementierung, wie die unterstützt werden.

          GET ist der Standard-Modus für HTTP-Requests und heißt erst mal nur: "Ich will diese Webseite sehen". Parameter, die zur Abarbeitung auf dem Server ausgewertet werden können, werden hier im Querystring (hinter dem ? in der Adresse) übergeben. Was der Server zur Bearbeitung der Anfrage macht, ist erst mal offen und vom HTTP-Modus unabhängig. In deinem Fall stellt er Einstellungen auf der Kamera um, in Abhängigkeit vom Querystring.

          Ist üblicherweise für alle beteiligten die einfachste Methode.

          POST wird üblicherweise zur Übermittlung von Formularen verwendet. Hierbei werden die zu übermittelnden Daten an die Anfrage angehängt.

          PUT gibts auch noch (wird aber eher selten verwendet) und hat in der Regel zum Ziel, eine Ressource auf dem Server zu überschreiben.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          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

          728

          Online

          32.4k

          Benutzer

          81.5k

          Themen

          1.3m

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

          • Du hast noch kein Konto? Registrieren

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