Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Zu blöd für "wenn eins oder mehrere aus mehreren = true dann"… / Fensterskript

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Zu blöd für "wenn eins oder mehrere aus mehreren = true dann"… / Fensterskript

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 2 Posters 639 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tempestas
    wrote on last edited by
    #1

    Guten morgen zusammen,

    ich bin irgendwie zu blöd und kann per googlen leider keine Beispiele für meine Frage finden, da es immer nur simpelste if Abfragen sind (oder meine google Suchen sind falsch, kann auch sein).

    Wie dem auch sei, ich möchte gerne ein Skript schreiben, dass mir über SayIt ansagt, wenn Fenster in diversen Räumen länger als 15 Minuten offen sind.

    Dabei möchte ich aber NICHT, die bereits vorhanden Skripte nutzen, die einfach durch das Homematic Gewerk Verschluss iterieren, da ich als Ansage nur haben möchte "Fenster im Wohnzimmer offen". ich will nicht haben "Fensterkontakt 1 Wohnzimmer hinten links" offen. Wir haben nämlich viele Fenster, was die Ausgabe unnötig lang machen würde.

    Aus meinem Setup gibt es daher in der Homematic CCU2 bereits für jeden Raum (!) eine Variable. Selbige wird beschrieben, wenn eines der dortigen Fenster bereits seit 15 Minuten offen ist (und die Außentemperatur unter 10°C) und eine Telegram Nachricht wird gespusht.

    Quasi analog zum push will ich nun noch via Sayit die Ansage haben.

    Meine Versuche, es in etwa so zu lösen:

    on( triggerWohnEss || triggerSchlafzimmer || … , function (){ xxxxx });

    wobei triggerWohnEss = hm.rega.0.7xxx zugeordnet ist (Systemvariable Homematic, state. false/true)

    funktionieren nicht.

    Grundsätzlich ist mein Ziel, dass sobald eine der Variablen trifft, eine Funktion ausgelöst wird, die quasi 5 Minuten lang noch weiter abwartet, ob noch weitere Variablen sich aktivieren und dann je Variable an eine Basisansage einen entsprechenden Zusatz hängt.

    Die Zusätze sowie etwaiges Formatieren des Textes (Kommata setzen wenn mehr als eine Variable, letztes Komma durch "und" ersetzen usw) denke ich bekomme ich selber hin.

    Dankbar bin ich für Hilfe zum Auslösen sowie zum verzögerten Sammeln der Zustände. Hintergrund dazu ist, dass z.B. beim morgendlichen Lüften ja viele Fenster quer durchs Haus in kurzer Reihenfolge hintereinander geöffnet werden und ich meiner Frau nicht zumuten will, dass alle paar Sekunden eine neue Ansage kommt. Dann lieber das erste Fenster noch 5 Minuten länger offen und dafür dann eine Sammelansage.

    Ganz ideal wäre es, wenn - sofern die Fenster nicht geschlossen werden, danach im 5 (oder 10) Minuten Takt wieder geprüft wird, ob noch etwas offen ist und wenn ja die Ansage wiederholt (mit entsprechenden Anpassungen) wird. Dazu habe ich aber auch schon Skripte oder zumindest Teile gefunden, so dass ich mich erstmal selbst daran probieren würde (ich will ja lernen :-)

    Danke für jeden Push in die richtige Richtung.

    Beste Grüße

    <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 Reply Last reply
    0
    • T Offline
      T Offline
      tempestas
      wrote on last edited by
      #2

      Nachtrag:

      unelegant aber ich denke gangbar wäre es, jede Variable abzufragen, wenn true dann setzen eine Variable auf 1 und dann die Funktion anzusteuern über wenn besagte Variable = 1 dann…

      Erscheint mir aber lang und hässlich, aber vielleicht geht es nur so?

      <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 Reply Last reply
      0
      • A Offline
        A Offline
        andyb
        wrote on last edited by
        #3

        Vielleicht reicht dir das schon als Anregung

        http://forum.iobroker.net/viewtopic.php?p=56343#p56343

        1 Reply Last reply
        0
        • T Offline
          T Offline
          tempestas
          wrote on last edited by
          #4

          Danke dir.

          Leider hilft es aber nicht, da dieses Skript genau das tut, was ich nicht brauche/will: es iteriert durch alle Kontakte im Gewerk "Fenster" bzw Verschluss aus der CCU2.

          Ich will ja statt 25 Fensterkontakte abzufragen mit blöden Namen nur 9 Räume abfragen aus Systemvariablen der CCU2.

          Aber auch ganz grundsätzlich interessiert mich, wie man bei JS eine if Abfrage mit vielen "oder"-Varianten kreiiert.

          Danke und Grüße

          <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 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          374

          Online

          32.7k

          Users

          82.3k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe