Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Generisches Fensteroffenskript + Vis

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Generisches Fensteroffenskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Turbo @Pittini last edited by

      @Pittini ich möchte einfach, wenn wir das Haus verlassen (Abwesend drücken), sofort die Meldung bekommen, welche Fenster noch offen sind. Wenn die "Zeit bis Nachricht" auf 0 steht, kommt diese Meldung auch sofort, aber erst nach Starten des Scripts. Deshalb kurz nochmal starten.

      Ich wollte mir nicht noch ein Riesen Blockly-Script basteln, sondern die Daten einfach von Deinem Script nehmen...

      Vielleicht hab ich ja auch nen Denkfehler und es wäre einfacher zu lösen, aber für mich funktioniert es so ganz gut.

      P 1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @Turbo last edited by

        @Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

        ich möchte einfach, wenn wir das Haus verlassen (Abwesend drücken), sofort die Meldung bekommen, welche Fenster noch offen sind. Wenn die "Zeit bis Nachricht" auf 0 steht, kommt diese Meldung auch sofort, aber erst nach Starten des Scripts. Deshalb kurz nochmal starten.

        Wie gesagt, Du kastrierst das Skript damit, die Funktion die Dir im Winter sagt dass das Fenster zulange offen ist, ist damit tot. Die Information die Du haben willst steht doch als Klartext im Datenpunkt javascript.0.FensterUeberwachung.RoomsWithOpenWindows. Lass Dir das anzeigen/vorlesen und gut ists.

        Ich wollte mir nicht noch ein Riesen Blockly-Script basteln, sondern die Daten einfach von Deinem Script nehmen...
        Vielleicht hab ich ja auch nen Denkfehler und es wäre einfacher zu lösen, aber für mich funktioniert es so ganz gut.

        Siehe oben

        T 1 Reply Last reply Reply Quote 0
        • T
          Turbo @Pittini last edited by

          @Pittini Ja, das würde natürlich funktionieren, ich bekomme nur über Blockly die Formatierung des Textes nicht richtig hin und Alexa redet lauter wirres Zeugs mit mir...

          Ich probiere mal weiter...

          P 1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @Turbo last edited by Pittini

            @Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

            Ja, das würde natürlich funktionieren, ich bekomme nur über Blockly die Formatierung des Textes nicht richtig hin und Alexa redet lauter wirres Zeugs mit mir...
            Ich probiere mal weiter...

            Na, soviel is da doch nicht zu formatieren? Einfach die <br< durchn Komma ersetzen und gut. Oder will Alexa Zahlen als Text?

            T 1 Reply Last reply Reply Quote 0
            • T
              Turbo @Pittini last edited by

              @Pittini

              Einfach die <br< durchn Komma ersetzen und gut.

              Ja, doch wie mache ich das mit Blockly?!? 🤔

              P 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @Turbo last edited by Pittini

                @Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                Ja, doch wie mache ich das mit Blockly?!?

                Gegenfrage: Verwendest Du den Text auch in Vis zur Anzeige? Wenn nein, kannste im Skript (Zeile 51) das Trennzeichen aufn Komma umstellen. Sollte klappen aber es gibt dann im Vis dafür keinen Zeilenumbruch mehr.

                PS: Von Blockly hab ich wenig bis keine Ahnung.

                T Dominik F. 2 Replies Last reply Reply Quote 0
                • T
                  Turbo @Pittini last edited by

                  @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                  @Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                  Ja, doch wie mache ich das mit Blockly?!?

                  Gegenfrage: Verwendest Du den Text auch in Vis zur Anzeige? Wenn nein, kannste im Skript (Zeile 51) das Trennzeichen aufn Komma umstellen. Sollte klappen aber es gibt dann im Vis dafür keinen Zeilenumbruch mehr.

                  PS: Von Blockly hab ich wenig bis keine Ahnung.

                  Ja, ich verwende auch den Text für vis.
                  Wie schon gesagt, ich wollte da jetzt nicht noch ein ellenlanges Programm dafür machen, deshalb eben die "kastrierte" Version, bis mir etwas anderes einfällt.

                  Im Moment funktioniert es ganz gut, bis Winter habe ich noch etwas Zeit, will Dich ja auch nicht mit meinem Blockly belästigen.

                  Das mit dem RoomsWithOpenWindows bekomme ich schon noch hin.
                  Auf jeden Fall vielen Dank für den Tip.

                  1 Reply Last reply Reply Quote 0
                  • Dominik F.
                    Dominik F. @Pittini last edited by Dominik F.

                    @Pittini

                    In deinem Skript scheint ein kleiner Fehler zu sein. Wenn mein HM IP Drehgriffkontakt auf open geht, wird mir in der Vis gekippt angezeigt, bei tilted wird mir geöffnet angezeigt.

                    Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.
                    So müsste es aussehen.

                    const WindowIsOpenWhen = ["true", "offen", "open", "opened", "2"]; // Hier können eigene States für offen angegeben werden, immer !!! in Kleinschreibung
                    const WindowIsClosedWhen = ["false", "geschlossen", "closed", "0"]; // Hier können eigene States für geschlossen angegeben werden, immer !!! in Kleinschreibung
                    const WindowIsTiltedWhen = ["tilted", "gekippt", "1"]; // Hier können eigene States für gekippt angegeben werden, immer !!! in Kleinschreibung
                    
                    
                    P 2 Replies Last reply Reply Quote 0
                    • P
                      Pittini Developer @Dominik F. last edited by Pittini

                      @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.

                      Ja, danke. Ich hatte paar mal in der Telegram Gruppe um diese Info gebeten und als nach 3 Tagen immer noch keiner geantwortet hatte, dacht ich mir, es trifft je eh diejenigen die jetzt nicht antworten und hab das mit ner 50/50 Chance einfach geraten 🤡 . Werd das jetzt korrigieren.

                      Edit: Haha, eigentlich isses eh egal was ich mach, da sich die HM Geräte scheinbar nicht einig sind was jetzt eigentlich open ist, hat mir einer auf FB gepostet:
                      94707610_3070825066309441_960740628851851264_o.jpg

                      dslraser 1 Reply Last reply Reply Quote 1
                      • D
                        dodi666 last edited by

                        Hallo zusammen,
                        würde das Skript gerne ans laufen bekommen.
                        Bekomme folgende Fehlermeldung:

                        javascript.0	2020-04-27 12:45:00.363	error	(9318) at process._tickCallback (internal/process/next_tick.js:68:7)
                        javascript.0	2020-04-27 12:45:00.363	error	(9318) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:855:17)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1264:17)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1211:37)
                        javascript.0	2020-04-27 12:45:00.362	error	(9318) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:988:28)
                        javascript.0	2020-04-27 12:45:00.361	error	(9318) at Object.createScript (vm.js:277:10)
                        javascript.0	2020-04-27 12:45:00.361	error	(9318) at new Script (vm.js:83:7)
                        javascript.0	2020-04-27 12:45:00.361	error	(9318) SyntaxError: Unexpected end of input
                        javascript.0	2020-04-27 12:45:00.361	error	(9318)
                        javascript.0	2020-04-27 12:45:00.361	error	(9318) log('registered ' + __engine.__subscriptions + ' subscription' + (__engine.__subscriptions === 1 ? '' : 's' ) + ' and ' + __engine.__schedules + ' schedule' + (__engine.__schedules === 1 ? ''
                        javascript.0	2020-04-27 12:45:00.360	error	at script.js._Testumgebung.Fensterüberwachung:259
                        javascript.0	2020-04-27 12:45:00.360	error	(9318) script.js._Testumgebung.Fensterüberwachung compile failed: 
                        

                        Einer ne Idee, woran das liegen könnte?

                        Grüße

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          Pittini Developer @dodi666 last edited by

                          @dodi666 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          Einer ne Idee, woran das liegen könnte?

                          Abrakadabra es liegt an....ich weis es nicht.
                          Bisserl mehr Infos mußt schon rausrücken wenn ich helfen soll.

                          1. Haste Dich an die Anleitung gehalten?
                          2. Zeig mal Deine Einstellungen im Skript.
                          3. Zeig mal aus der Objektliste einen der Fensterdatenpunkte wo ich seh wie Du die Raum und Funktionszuweisung gemacht hast
                          4. Zeig mal das Log vom Skript selber.
                          D 1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @Pittini last edited by dslraser

                            @Pittini
                            HMIP einfache Sensoren (nur auf/zu)
                            haben 0 = geschlossen und 1 = offen, oder über die Werteliste CLOSED = geschlossen und OPEN = offen

                            HMIP Drehgiffe haben 0 = geschlossen, 1 = gekippt und 2 = offen, oder über die Werteliste CLOSED = geschlossen, TILTED = gekippt und OPEN = offen.

                            Siehst Du das "Problem" ?
                            Ich habe das bei mir (ich kann aber nur Blockly und wenig Javascript) über eine zusätzliche Variable gelöst, wo man die Fenstervariante einstellen kann. Ja nach Fenstervariante nehme ich für die Auswertung nur true/false (1 und 0 macht ja das Gleiche), oder die Werteliste. Ich habe zum Beispiel eine Mischvariante aus beiden Sensoren.
                            (über rpc Adapter)
                            Hier zu finden.

                            P 1 Reply Last reply Reply Quote 1
                            • P
                              Pittini Developer @dslraser last edited by

                              @dslraser sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              Siehst Du das "Problem" ?

                              Ja, sehe ich, wie ja oben schon geschrieben. Finde das etwas "dämlich" das HM sich da nicht auf ein Schema einigen kann, wär ja schliesslich kein Thema zu sagen grundsätzlich ist 0=geschlossen, 1=open und 2=gekippt. Aber gut, werd ich wohl mal guggen müssen ob ich da ne Extrawurst für HM braten kann.

                              dslraser 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @Pittini last edited by

                                @Pittini
                                ja, finde ich auch "dämlich", aber ist halt so. Wie gesagt, nimm die Werteliste zur Auswertung, bei mir funktioniert das so. Weil, OPEN ist OPEN, egal ob mit 1 oder 2.

                                Einfache Sensoren

                                "states": {
                                      "0": "CLOSED",
                                      "1": "OPEN"
                                

                                Drehgriffe

                                "states": {
                                      "0": "CLOSED",
                                      "1": "TILTED",
                                      "2": "OPEN"
                                

                                Bei mir

                                Bildschirmfoto 2020-04-27 um 13.57.07.png

                                Bildschirmfoto 2020-04-27 um 14.01.18.png

                                zusätzliche Abfrage

                                Bildschirmfoto 2020-04-27 um 14.01.36.png

                                Bisher funktioniert es so, aber ich habe noch keine weiteren Fenstersensoren (habe keine anderen) getestet.
                                Dein Script macht ja ansonsten was "ähnliches" wie mein Blockly.

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  Pittini Developer @dslraser last edited by Pittini

                                  @dslraser sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                  Wie gesagt, nimm die Werteliste zur Auswertung, bei mir funktioniert das so. Weil, OPEN ist OPEN, egal ob mit 1 oder 2.

                                  Bin ich grad schon dran. Werd erstmal abfragen ob HM Sensor und dann die Werteliste auswerten. Die Function heißt CheckForHmShit() 😉

                                  Dein Script macht ja ansonsten was "ähnliches" wie mein Blockly.

                                  Jap, nur halt mit mehr Schnickschnack drumrum. Ich hab auch nur Xiaomi Sensoren, alle anderen leg ich mir "virtuell" zum testen als Dp an, wo ich manuell die States reinschreib.

                                  dslraser 1 Reply Last reply Reply Quote 1
                                  • dslraser
                                    dslraser Forum Testing Most Active @Pittini last edited by

                                    @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                    CheckForHmShit()

                                    😂😅✌

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Pittini Developer @Dominik F. last edited by

                                      @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                      Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.
                                      So müsste es aussehen.

                                      Ich hab mal ne Beta 1.5.2 auf Git geladen, teste mal ob das jetzt passt mit den HM Sensoren, ich werte die jetzt anders aus.

                                      Dominik F. 1 Reply Last reply Reply Quote 0
                                      • D
                                        dodi666 @Pittini last edited by

                                        @Pittini Sorry läuft alles, hat sich beim kopieren von Git ein Fehler eingeschlichen. Vielen Dank für das coole Script!

                                        1 Reply Last reply Reply Quote 0
                                        • Dominik F.
                                          Dominik F. @Pittini last edited by

                                          @Pittini

                                          keine Probleme bei meinem Drehgriffkontakt. Zeigt in der Vis alles so an wie es sein soll

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dodi666 last edited by

                                            @Pittini Was hältst du von einer Möglichkeit zur Konfiguration der Symbolik (Fenster/Türe)?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            768
                                            151153
                                            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