Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. INSTAR Alarm I/O über vis schalten

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    INSTAR Alarm I/O über vis schalten

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Maverick last edited by

      Hallo,

      ich bin ein völliger Newbie im Umgang mit dem raspberry pi und ioBroker.

      Über die SuFu habe ich dieses Skript gefunden: http://forum.iobroker.net/viewtopic.php?p=46505#p46505

      Ich würde gerne mit einem "Schieber" den Alarmeingang meiner INSTAR Kameras schalten können, welche über ein homematic Programm angesteuert werden.

      Leider klappt die Einbindung in vis nicht, bzw. lässt sich der Kameraeingang nicht schalten.

      Vielleicht kann mir jemand auf die Sprünge helfen?

      In vis habe ich einen ctrl-bool Schieber angelegt, nachfolgenden code unter "Skript" eingefügt und als object-ID "javascript.0.Schalter" eingetragen.

      var idEin = "hm-rpc.0.MEQ1848985.2.PRESS_SHORT",
          idAus =  "hm-rpc.0.MEQ1848985.1.PRESS_SHORT";
      var idSchalter = "javascript.0.Schalter"; // Instanz anpassen
      
      createState(idSchalter, false, {
          type: "boolean",
          name: "INSTAR schalten",
          desc: "1999"
      });
      
      // Variable setzt INSTAR
      on(idSchalter, function (obj) {
          if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen
          else setState(idAus, false, false);
      });
      
      // INSTAR setzt Variable (falls INSTAR woanders geschaltet wird)
      on(idEin, val= true, function (obj) {
          setState(idSchalter, true);
          log("INSTAR wurde eingeschaltet");
      });
      on(idAus, val= true, function(obj) {
          setState(idSchalter, false);
          log("INSTAR wurde ausgeschaltet");
      });
      

      Was ich nicht verstanden habe: Wofür dient die Variable "desc" und wo muss ich die ggf. noch eintragen?

      Habe ich das Skript an falscher Stelle eingetragen?

      Muss ich noch etwas anders anlegen?

      Wenn ich den Schieber in vis betätige, werden die Alarmeingänge der Kameras leider nicht geschaltet.

      Wo liegt mein Fehler?

      Vielen Dank für die Unterstützung.
      3280_bildschirmfoto_2017-08-15_um_09.37.47.png
      3280_bildschirmfoto_2017-08-15_um_09.10.29.png

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        desc = description = Beschreibung des Punktes

        1 Reply Last reply Reply Quote 0
        • M
          Maverick last edited by

          @arteck:

          desc = description = Beschreibung des Punktes `
          Hat also keine weiteren Auswirkungen? Also im Prinzip nur eine Beschreibung des Namens?

          Danke 🙂 bleiben noch die Hauptprobleme…

          1 Reply Last reply Reply Quote 0
          • M
            Maverick last edited by

            Anbei noch ein Screenshot aus den ioBroker Objekten.

            Schalten des Alarm I/0 funktioniert, wenn ich unter den Objekten jeweils manuell auslöse (anklicken der icons mit dem Pfeil nach unten unter Wert).

            hm-rpc.0.MEQ1848985.1.PRESS_SHORT = Alarmeingang aus

            hm-rpc.0.MEQ1848985.2.PRESS_SHORT = Alarmeingang ein

            Nur über den "Schieber" funktioniert es leider immer noch nicht.
            3280_bildschirmfoto_2017-08-15_um_17.55.04.png

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

              Bitte ändere dein Kode:

              var idEin = "hm-rpc.0.MEQ1848985.2.PRESS_SHORT",
                  idAus =  "hm-rpc.0.MEQ1848985.1.PRESS_SHORT";
              var idSchalter = "javascript.0.Schalter"; // Instanz anpassen
              
              createState(idSchalter, false, {
                  type: "boolean",
                  name: "INSTAR schalten",
                  desc: "1999"
              });
              
              // Variable setzt INSTAR
              on(idSchalter, function (obj) {
                  log("Received: " + !!obj.state.val);
                  setState(idAus, !!obj.state.val);
              });
              
              // INSTAR setzt Variable (falls INSTAR woanders geschaltet wird)
              on({id: idEin, val: true}, function (obj) {
                  setState(idSchalter, true);
                  log("INSTAR wurde eingeschaltet");
              });
              on({id: idAus, val: true}, function(obj) {
                  setState(idSchalter, false);
                  log("INSTAR wurde ausgeschaltet");
              });
              

              Kommen die Meldungen im Log?

              1 Reply Last reply Reply Quote 0
              • M
                Maverick last edited by

                Danke dafür. Habe den Code ersetzt. Leider keine Änderung.

                Im Log (ich nehme an du meinst ioBroker.admin, Reiter Log). Ich habe die history für die Objekte aktiviert. Beim Schalten kommt kein Logeintrag.
                ` > history.0 2017-08-15 18:16:25.480 info enabled logging of hm-rpc.0.MEQ1848985.2.PRESS_SHORT

                web.0 2017-08-15 18:16:22.305 info 2017-08-15T16:16:22.305Z Connected system.user.admin

                history.0 2017-08-15 18:16:16.896 info enabled logging of hm-rpc.0.MEQ1848985.1.PRESS_SHORT

                web.0 2017-08-15 18:16:14.059 info 2017-08-15T16:16:14.059Z Connected system.user.admin `

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

                  @Maverick:

                  Danke dafür. Habe den Code ersetzt. Leider keine Änderung.

                  Im Log (ich nehme an du meinst ioBroker.admin, Reiter Log). Ich habe die history für die Objekte aktiviert. Beim Schalten kommt kein Logeintrag.
                  ` > history.0 2017-08-15 18:16:25.480 info enabled logging of hm-rpc.0.MEQ1848985.2.PRESS_SHORT

                  web.0 2017-08-15 18:16:22.305 info 2017-08-15T16:16:22.305Z Connected system.user.admin

                  history.0 2017-08-15 18:16:16.896 info enabled logging of hm-rpc.0.MEQ1848985.1.PRESS_SHORT

                  web.0 2017-08-15 18:16:14.059 info 2017-08-15T16:16:14.059Z Connected system.user.admin
                  Schaltest du über vis oder MEQ1848985.2?

                  1 Reply Last reply Reply Quote 0
                  • M
                    Maverick last edited by

                    @Bluefox:

                    Schaltest du über vis oder MEQ1848985.2? `
                    Ich kann grade nicht ganz folgen, was du meinst, sry.

                    Ich hatte das Skript so interpretiert, dass der Schieber je nach Stellung auf Tasterstellung .2 oder .1 zugreift.

                    Schalten funktioniert aktuell nur unter ioBroker.admin > Objekte, indem ich das jeweilige icon anklicke.

                    Wenn ich vis in meinem Browser aufrufe und dort schalte, funktioniert es nicht.

                    1 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      Hallo,

                      wenn du in VIS einen Schiebeschaltr verwendest, kannst du in den Widget-Einstellungen unter OID nur eine ID eintragen. Entweder MEQ1848985.2 oder MEQ1848985.1. Diese ID wird über den Schalter jeweils false oder true gesetzt.

                      Hier im Skript wird die Steuervariable idSchalter (die du bitte als OID "javascript.0.Schalter" in VIS verwendest) durch PRESS_SHORT auf Kanal 2 eingeschaltet und durch PRESS_SHORT auf Kanal 1 ausgeschaltet.

                      Gruß

                      Pix

                      1 Reply Last reply Reply Quote 0
                      • M
                        Maverick last edited by

                        @pix:

                        Hallo,

                        wenn du in VIS einen Schiebeschaltr verwendest, kannst du in den Widget-Einstellungen unter OID nur eine ID eintragen. Entweder MEQ1848985.2 oder MEQ1848985.1. Diese ID wird über den Schalter jeweils false oder true gesetzt.

                        Hier im Skript wird die Steuervariable idSchalter (die du bitte als OID "javascript.0.Schalter" in VIS verwendest) durch PRESS_SHORT auf Kanal 2 eingeschaltet und durch PRESS_SHORT auf Kanal 1 ausgeschaltet.

                        Gruß

                        Pix `
                        Ok, siehe mein Ausgangsbeitrag im letzten Screenshot. Im Widget für den Schalter unter Allgemein > OID ist die Steuervariable eingetragen.

                        OID gibt es im Widget ja 2x… unter Sichtbarkeit und unter Allgemein. Hab ich hier etwas falsch eingetragen??

                        1 Reply Last reply Reply Quote 0
                        • P
                          pix last edited by

                          Die Eintragung ist korrekt. Unter Sichtbarkeit steuert eine woanders geschaltete OID die Sichtbarkeit des Widgets. Alles richtig.

                          @Maverick:

                          @Bluefox:

                          Schaltest du über vis oder MEQ1848985.2? `
                          Ich kann grade nicht ganz folgen, was du meinst, sry.

                          Ich hatte das Skript so interpretiert, dass der Schieber je nach Stellung auf Tasterstellung .2 oder .1 zugreift. `
                          Das Skript steuert nicht die Taster, damit diese etwas bewirken. Die Taster und der VIS-Schieber steuern die Variable. Und diese regelt dann AN und AUS. Es sind also vier Kanäle, die die Variable steuern (.2, .1, Schieber true und Schieber false), wobei jeweils zwei die gleiche Wirkung haben.

                          Pix

                          1 Reply Last reply Reply Quote 0
                          • M
                            Maverick last edited by

                            @pix:

                            Die Eintragung ist korrekt. Unter Sichtbarkeit steuert eine woanders geschaltete OID die Sichtbarkeit des Widgets. Alles richtig. `
                            Nur leider wird der Alarmeingang der Kameras nicht geschaltet. Über den homematic Taster, per Handy Anwesenheit im WLAN und manuell über das jeweilige Objekt funktioniert es.

                            Nun ist die Frage, wo liegt der Fehler?

                            ****Muss die Instanz javascript.0 laufen?

                            Kann ich den Fehler weiter eingrenzen? Ich hatte verstanden im Log müsste etwas angezeigt werden… wird es ja nicht.

                            Das Skript wird in den Einstellungen des widget abgelegt?****

                            Wäre klasse, wenn ihr weiter am Ball bleiben könntet 8-)

                            PS: Schalten einer über die homematic verknüpften Lampe mit einem bulb-widget funktioiniert. D.h. an der Verbindung zur homematic kann es nicht liegen. Auch das Bild der Kameras ist in vis bereits eingebunden und funktioniert.

                            //edit: Ich habe es jetzt MEQ1848985.2 einmal mit einem bulb-widget als OID verbunden… damit klappt das Einschalten. Es muss irgendwo am Skript, meiner Einbindung oder dem "Schieber"-widget liegen...

                            @pix:

                            Das Skript steuert nicht die Taster, damit diese etwas bewirken. Die Taster und der VIS-Schieber steuern die Variable. Und diese regelt dann AN und AUS. Es sind also vier Kanäle, die die Variable steuern (.2, .1, Schieber true und Schieber false), wobei jeweils zwei die gleiche Wirkung haben.

                            Pix `
                            Das hatte ich so aus dem Skript interpretiert (ich hab davon keine Ahnung), weil dort als Kommentar "…wird woanders geschaltet" gelesen habe.

                            Schalte ich über den homematic Taster, wird die Statusänderung auch angezeigt, siehe Screenshot.
                            3280_bildschirmfoto_2017-08-15_um_22.01.07.png

                            1 Reply Last reply Reply Quote 0
                            • P
                              pix last edited by

                              Das Skript kommt in den Reiter Skripte in Admin, nicht im Vis Editor.

                              javascript.0 muss natürlich laufen (grün).

                              1 Reply Last reply Reply Quote 0
                              • M
                                Maverick last edited by

                                @pix:

                                Das Skript kommt in den Reiter Skripte in Admin, nicht im Vis Editor.

                                javascript.0 muss natürlich laufen (grün). `
                                Ah… ok...danke!! Einen Schritt weiter. javascript.0 Instanz läuft

                                Im Log kommt jetzt eine Fehlermeldung. Der "Schieber" geht sofort wieder auf off.

                                //edit: ich nehme an, die Skriptänderung von bluefox diente nur dem testen... mit dem alten Code funktioniert jetzt das Schalten über vis 8-)

                                Wenn ich jetzt allerdings über den Homematic-Taster ausschalte, wird in vis weiterhin eingeschaltet angezeigt...

                                Sollte das Skript über die Variable nicht merken, dass sich der Status geändert hat?

                                Ich nehme an, nur der Status wird geändert, aber nicht die Anzeige des "Schiebers"?

                                Wenn "Instar woanders ausgeschaltet", dann Variable false und "Schieber Anzeige vis off"?
                                

                                Geht das?

                                Ich hab das Skript jetzt unter "common" eingesetzt. Oder sollte es unter "global"? Wo ist der Unterschied?
                                3280_bildschirmfoto_2017-08-16_um_00.15.13.png
                                3280_bildschirmfoto_2017-08-15_um_23.55.47.png

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  Hallo,

                                  nochmal grundsätzlich. Der ursprüngliche Code aus dem anderen Thread war gedacht, um einen CUxD Taster zu setzen. Dieser Taster hat dann den Befehl an die Kamera geschickt.

                                  Wie ist das bei dir? Wo ist denn hier die Verbindung zur Kamera?

                                  Dein aktuelles Skript reagiert auf Tastendruck des Homematic-Wandtasters und setzt dann entsprechend ein Objekt. Dieses Objekt ist auch in VIS verlinkt und kann auch das verändert werden. Aber wo ist der Teil, der auf das Objekt reagiert und dann einen sinnvollen Befehl an die Kamera schickt? Ist das evtl. ein Verknüpfung / Programm in Homematic WebUI?

                                  Dann muss der Mittelteil ersetzt werden:

                                  //Variable setzt INSTAR
                                  on(idSchalter, function (obj) { // nur bei Änderung
                                      if (obj.state.val) setState(idEIN, true);
                                      if (!obj.state.val) setState(idAus, true);
                                  });
                                  
                                  

                                  Wenn der Schalter neu auf false geht, wird der Homematic Taster :1 "gedrückt", wenn der Schalter auf true geht, "drückt" das Skript den Homematic Taster :2. Durch dieses "Drücken" würde dann in der WebUI die Aktion ausgelöst.

                                  Gruß

                                  Pix

                                  PS: Bitte in common speichern, nicht in global. Doku hier: https://github.com/ioBroker/ioBroker.ja … -functions

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Maverick last edited by

                                    Danke!

                                    Mitteilteil probiere ich aus. Muss gucken, ob ich das heute noch schaffe… der Flieger geht morgen 😉

                                    Der Alarmeingang (2 Kameras) wird über ein separates homematic-Programm geschaltet.

                                    WriteLine("INSTAR Alarmeingang ein");
                                    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://meineIP:Port/cgi-bin/hi3510/param.cgi?cmd=setioattr&-io_enable=1&-io_flag=1&-usr=BENUTZER&-pwd=PASSWWORT'");
                                    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'http://meineIP:Port/cgi-bin/hi3510/param.cgi?cmd=setioattr&-io_enable=1&-io_flag=1&-usr=BENUTZER&-pwd=PASSWORT'");
                                    

                                    io_enable=1: Alarm ein

                                    io_enable=0: Alarm aus (im 2ten Teil des homematic-Programms)
                                    3280_bildschirmfoto_2017-08-16_um_21.00.41.png

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      Maverick last edited by

                                      @Maverick:

                                      Mitteilteil probiere ich aus. Muss gucken, ob ich das heute noch schaffe… der Flieger geht morgen 😉 `
                                      Da hagelt es Fehlereinträge im LOG und in vis lässt sich der Alarmeingang nicht mehr schalten.

                                      ` > javascript.0 2017-08-16 21:27:39.730 error at RedisClient.emit (events.js:194:7)

                                      javascript.0 2017-08-16 21:27:39.730 error at emitThree (events.js:116:13)

                                      javascript.0 2017-08-16 21:27:39.730 error at RedisClient. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:99:25)

                                      javascript.0 2017-08-16 21:27:39.730 error at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3069:37)

                                      javascript.0 2017-08-16 21:27:39.730 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:253:17)

                                      javascript.0 2017-08-16 21:27:39.730 error at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:581:17)

                                      javascript.0 2017-08-16 21:27:39.730 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3210:17)

                                      javascript.0 2017-08-16 21:27:39.730 error at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:585:48

                                      javascript.0 2017-08-16 21:27:39.730 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1325:48)

                                      javascript.0 2017-08-16 21:27:39.730 error at Object. (script.js.common.Instar:19:33)

                                      javascript.0 2017-08-16 21:27:39.730 error ReferenceError: idEIN is not defined

                                      javascript.0 2017-08-16 21:27:39.691 error pmessage io.javascript.0.Schalter {"val":1,"ack":false,"ts":1502911659685,"q":0,"from":"system.adapter.web.0","lc":1502911659685} idEIN is not defined `

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        pix last edited by

                                        Sorry, vertippt: statt idEIN bitte idEin

                                        Pix

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Maverick last edited by

                                          Danke. Schalten geht wieder, allerdings kann ich keinen funktionalen Unterschied zu vorher feststellen.

                                          Wenn ich über den homematic-Taster den Alarm deaktiviere, bleibt die Anzeige in vis unverändert.
                                          3280_bildschirmfoto_2017-08-17_um_00.01.42.png
                                          3280_bildschirmfoto_2017-08-17_um_00.06.25.png

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            pix last edited by

                                            Hallo,

                                            es tut mir leid. Scheinbar ist das aus der Ferne nicht so leicht zu lösen. Mein Problem ist, dass hier zuviele System im Spiel sind. All das, was du da realisierst, kann ioBroker Javascript/Szene natürlich auch. Es ist natürlich ein Schritt, alles umzuziehen, aber es lohnt.

                                            Alarmanlagenstatus Variable, Kommandos an Kameras schicken, natürlich die VIS Anzeige - all das ist ein Kinderspiel für ioBroker. Wenn jetzt erst wieder Variablen in der Homematic WebUI getriggert werden müssen, damit dort etwas ausgelöst wird, kann man schließlich nicht die ioBroker Logs um Rat fragen…

                                            Also nichts für ungut, ich bin raus.

                                            Pix

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            939
                                            Online

                                            32.3k
                                            Users

                                            80.9k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            21
                                            2895
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo