Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Bräuchte etwas Hilfe bei Alarmanlagen-Script

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Bräuchte etwas Hilfe bei Alarmanlagen-Script

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

      Hi Leute, wollte jetzt mal eine kleine Alarmanlage mit Blockly zusammenklickern. Dazu habe ich HM Türsensoren und ein Xioomi Gateway und einen Xiaomi Switch (Schalter). Nun sollte es so sein, ich klick einmal auf dem Switch, Alarmanlage scharf und eine die Alarm-Variable wird auf wahr gesetzt. Nun soll ein Script immer aktiv sein, was die Variable abruft und wenn es wahr ist die Tür wird geöffnet, dann soll ein Alarm losgehen. Da happert es bei mir etwas. Ich weiss nicht wo ich die Variable setzem soll. Hab es mit einem globalen Script prbiert aber es klappt nicht. Vielleicht könnt ihr mir einen Tipp geben?
      7763_2018-07-05_09_07_59-javascript_-_iobroker.png
      7763_2018-07-05_09_08_09-javascript_-_iobroker.png

      1 Reply Last reply Reply Quote 0
      • Z
        zuldero last edited by

        also ich habe eigene datenpunkte angelegt mit true und false. jetzt prüfst du auf den auslöser wenn die alarmanlage los gehen soll. als erstes musst du jetzt im script abfragen ob die datenpunkte (ob du nicht zuhause bist, usw.) alle auf true sind, wenn ja, dann alarm ein. (mit dem falls, dann, sonst block)

        ob das so elegant ist weiss ich nicht.

        ps. hab mal gehört eigene datenpunkt sollte man unter dem javascribt ordner anlege, ansonsten könnten sie durch den jeweiligen adapter gelöscht werden.

        Gesendet von meinem ONEPLUS A5000 mit Tapatalk

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

          @smarti2015:

          Ich weiss nicht wo ich die Variable setzem soll. Hab es mit einem globalen Script prbiert `
          Globale Skripte sind nur für häufig benötigte Funktionen geeignet ! Sie werden in jedes andere (nicht globale) Skript kopiert.

          Wenn die Kommunikation zwischen Setzen / Rücksetzen und der Auswertung über eine Skriptvariable erfolgen soll, muss beides im gleichen Skript erfolgen !

          Bitte für "Alarm scharf" nicht den Variablenbezeichner value verwenden, denn das ist ein in Blockly vordefinierter Variablenbezeichner.

          1 Reply Last reply Reply Quote 0
          • S
            smarti2015 last edited by

            Danke euch beiden, aber ehrlich gesagt ich weiss jetzt nicth wo ich ansetzen soll. Soll ich Variablen im Scriptordner anlegen oder die Variablen in einem ganz normalen Script am Anfang definieren? WIe und wo kann ich eigenen Datenpunkte setzen? Ich erarbeite mir grad den Blockly, JS direkt schreiben, soweit bin ich noch nicht :oops: VIelleicht könntet ihr mir ein kleines Beispiel geben, wie man es erstmal einfach machen kann, dann würde ich mir den Code mal direrkt anschauen und anpassen. DANKE 🙂

            So geht das auch nicht oder? Hier in dem Fall mach er es nur, wenn die Tür offen ist und ich klicke. Ich weiß nicht wie ich die Abfrage so baue, das ich klicke und dann wird ständig überprüft ob etwas offen ist. So überprüft er nur in dem Moment des KLicks.
            7763_2018-07-05_09_54_37-javascript_-_iobroker.png

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

              Trigger nicht ineinander verschachteln ! Prinzip:
              493_blockly_alarm_tuer.jpg

              1 Reply Last reply Reply Quote 0
              • Z
                zuldero last edited by

                also ich kan (leider) auch kein javascribt programmieren.

                Einen Datenpunkt anlegen:

                unter objekte den adapter (javascribt) markieren -> oben in der leiste auf das + -> eigenschaften festlegen. (ich musste bisher noch nie was ändern ausser datenpunkt auswählen statt gerät oder sonstwas.

                an deiner stelle würde ich einen datenpunkt machen : alarmanlage scharf.

                jetzt wählst du als trigger z.B. einen bewegungsmelder mit "wurde aktualisiert" und prüfst als erstes ob alarmanlage scharf auf true steht.

                wenn du die alarmanlage per klick auslösen möchtest (versteh ich zwar nich warum, aber smarthome ist prsonalisiert) dann kannst du noch einen datenpunkt erstellen und diesen als trigger auswählen.

                ps. man kann aich einen datenpunkt mit "taste" machen, weiss ich aber nicht wie. habe ich nur bisher in anderen adaptern gesehen.

                Gesendet von meinem ONEPLUS A5000 mit Tapatalk

                1 Reply Last reply Reply Quote 0
                • Z
                  zuldero last edited by

                  solltest du einen ordner erstellen wollen geht das folgendermassen. beim namen tippst du ein: ordnername.datenpunktname.

                  dies kannst du aber nur im ordener eines adapers (sprich javascribt)

                  Gesendet von meinem ONEPLUS A5000 mit Tapatalk

                  1 Reply Last reply Reply Quote 0
                  • S
                    smarti2015 last edited by

                    Danke Jungs, es geht schonmal 🐵 Wie könnte es jetzt eine Zeitverzögerung einbauen? Nehmen wir an, ich komme heim, hab vergessem die Alarmanlage auszuschalten,dann soll ja nicht gleich beim öffnen der Haustür die Alarmanlage losgehen. Ich hätte da gern sagen z.B 15 Sekunden Zeit, in der Zeit erhalte ich aber eine kurze Warnmesage per Pushover oder einen kurzen Warnton am Gateway.

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

                      @smarti2015:

                      ann soll ja nicht gleich beim öffnen der Haustür die Alarmanlage losgehen. Ich hätte da gern sagen z.B 15 Sekunden Zeit, in der Zeit erhalte ich aber eine kurze Warnmesage `
                      Dafür git es "Ausführen timeout" und "stop timeout".
                      493_blockly_alarm_tuer.jpg

                      1 Reply Last reply Reply Quote 0
                      • Z
                        zuldero last edited by

                        hab ich noch nie gestestes, aber theotetisch mit drm timeout-block. davor und danach das objekt testen os zutrifft.

                        wie hast du es jetzt gelösst? ev. screenschot falls mal jemand das selbe problem hat

                        Gesendet von meinem ONEPLUS A5000 mit Tapatalk

                        1 Reply Last reply Reply Quote 0
                        • S
                          smarti2015 last edited by

                          Hab gedacht, das bekomme ich so hin, aber klappt nicht, der Alarm geht trotzdem gleich los.
                          7763_2018-07-05_11_46_51-javascript_-_iobroker.png

                          1 Reply Last reply Reply Quote 0
                          • Z
                            zuldero last edited by

                            das was unter dem timeoutblock ist wird sofort ausgefüht. nur dass was inerhalb des blocks ist, ist cerzögert. deinen texten nach zuurteilen könnte das dass problem sein. ich sehe halt nicht ganz wo der alarm ausgelöst wird.

                            was sich deine nachbaren denken müssen, bei dem ständigen alarm testen hahahahaha

                            Gesendet von meinem ONEPLUS A5000 mit Tapatalk

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

                              @smarti2015:

                              Hab gedacht, das bekomme ich so hin, aber klappt nicht, der Alarm geht trotzdem gleich los. `
                              Ich dachte, ich hätte gezeigt, wie es einfach funktioniert :?

                              1 Reply Last reply Reply Quote 0
                              • S
                                smarti2015 last edited by

                                @paul53: Die Posts haben sich überschnitten :oops: Ein riesen Dankeschön!!!!!! So klappt es super 😄

                                1 Reply Last reply Reply Quote 0
                                • S
                                  smarti2015 last edited by

                                  So einen Sache habe ich noch, dann ist alles schick. Jetzt will ich nach dem Alarm scharfstellen gerne noch einen Hinweis bekommen, falls noch Fenster oder Türen grad offen sind. Das hab ich grad mit einer Tür und eine Pushnachricht probiert, das klappt. Nun will ich aber nicht für jedes Fenster oder Tür was noch offen ist eine Pushmeldung bekommen. Kann man irgendwie die Info abgreifen und zusammen in einer Nachricht verschicken?
                                  7763_2018-07-05_12_05_29-javascript_-_iobroker.png

                                  1 Reply Last reply Reply Quote 0
                                  • Z
                                    zuldero last edited by

                                    soweit binn ich bei mir noch nicht. aber ich würde für jedes Fenster/Tür eine Variable erstellen, wenn diese zutrifft, mit allen einen text erstellen (wenn ich mich richtig entsinne giebtt es den baustein "konvertiere zu text) und diesen als output senden. aber von hier an bin ich wahrscheinlich raus. das ist neu für mich hahahahahaha xD

                                    Gesendet von meinem ONEPLUS A5000 mit Tapatalk

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      smarti2015 last edited by

                                      Hehe aber vielen Dank für deinen Tipp, ich muss mich da auch erst reinfummeln, aber Stück für Stück, danke Eurer Hilfe lern ich immer mehr :mrgreen:

                                      Hab noch nen kleine Sache, ich würde gern, wenn Alarm ausversehen droht auszulösen wie gesagt eine Pushmeldung, das klappt und auf der Sirene 3x kurz ein aufheulen so als kurzes Warnsignal, das die Alarmanlage gleich loslegt. Dacht ich mach das mit einer Wiederholung, aber er macht es nur einmal und nicht 3x wie hier im Script ,was ist das daran falsch?
                                      7763_2018-07-05_12_21_44-javascript_-_iobroker.png

                                      1 Reply Last reply Reply Quote 0
                                      • Z
                                        zuldero last edited by

                                        schau mal im log sieht für mich nach nem error aus. vermutlich muss auch hier ein timeout hin. sonst startet er in 0.01sec 3mal. aber ein aufhäulen dauert ja, sagen wir 1sec. ev. musst du die sirene auch kurz stoppen. dies muss ich aufjedenfall bei meinen lampen wenn sie blinken sollen. xD

                                        Gesendet von meinem ONEPLUS A5000 mit Tapatalk

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

                                          @smarti2015:

                                          auf der Sirene 3x kurz ein aufheulen so als kurzes Warnsignal, das die Alarmanlage gleich loslegt. `
                                          Dafür dient das Intervall zusammen mit einer Zählvariablen.
                                          493_blockly_alarm_tuer_3xsirene.jpg

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

                                            @smarti2015:

                                            Jetzt will ich nach dem Alarm scharfstellen gerne noch einen Hinweis bekommen, falls noch Fenster oder Türen grad offen sind. Nun will ich aber nicht für jedes Fenster oder Tür was noch offen ist eine Pushmeldung bekommen. Kann man irgendwie die Info abgreifen und zusammen in einer Nachricht verschicken? `
                                            In einem separaten Skript solltest Du einen Datenpunkt "mind_1_Fenster_Tuer_offen" (oder so ähnlich) setzen, der im Alarmskript ausgewertet wird.

                                            Dafür gibt es mehrere Skripte im Forum. Willst Du es mit Blockly machen, geht es mit 2 Listen (Arrays) - eine mit allen IDs und eine mit allen Werten der Fenster und Türen. Im Blockly kann es dann etwa so aussehen (Beispiel mit 3 Datenpunkten).

                                            493_blockly_mind1offen.jpg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            566
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            28
                                            2760
                                            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