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. Zu blöd für "wenn eins oder mehrere aus mehreren = true dann"… / Fensterskript

NEWS

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

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

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 620 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

    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 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        andyb
        schrieb am zuletzt editiert von
        #3

        Vielleicht reicht dir das schon als Anregung

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

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tempestas
          schrieb am zuletzt editiert von
          #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 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

          535

          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