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. Script Umsetzung für das "Badewannen"-Prinzip

NEWS

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

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

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

Script Umsetzung für das "Badewannen"-Prinzip

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
12 Beiträge 5 Kommentatoren 2.5k 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.
  • etvE Offline
    etvE Offline
    etv
    schrieb am zuletzt editiert von
    #1

    Liebe Leute,

    im Homematic Forum wurde an manchen Stellen schon über das "Badewannen"- diskutiert, das speziell bei Anwesenheiten, bzw bei Bewegungsmeldern angewendet wird.

    Funktioniert so (Beispiel Bewegungsmelder in der Garage)

    • jedes Mal wenn eine Bewegung erkannt wird, wird zu einer Variablen z.B. 10 addiert.

    • solange die Variable nicht kleiner, gleich 0 ist werden alle 5 Sekunden wieder z.B. 2 subtrahiert

    • ist die Variable größer als 0 ist das Licht an, bei kleiner, gleich 0 aus.

    So wird reges Treiben im Carport dazu führen, dass das Licht länger ein bleibt, als wenn nur die Katze mal kurz vorbei schleicht.

    Nur - wie setzt man sowas programmtechnisch sinnvoll um? Ein Script via Schedule alle 5 Sekunden zu starten ist ja eigentlich ein Overkill wenn es 23 Stunden am Tag nicht gebraucht wird. Aber wie aktiviere ich das Badewannen Programm bei Bedarf = die erste Bewegung wird erkannt oder die Variable ist noch nicht kleiner, gleich 0 und lass' von meiner Variablen einen Wert wieder abziehen?

    Liebe Grüße

    tom

    …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

    1 Antwort Letzte Antwort
    0
    • sissiwupS Offline
      sissiwupS Offline
      sissiwup
      schrieb am zuletzt editiert von
      #2

      Hallo,

      ich würde das mit Zeitverzögerungen lösen:

      Dein Script startet immer bei Bewegung erkannt.

      Beim ersten mal setzt es eine Variable auf ein 1 und schalter die Lampe an.

      Dann start des löschen Skriptes Zeitverzögert um 25 Sekunden mit Parameter 1.

      Bewegung innerhalb 25 Sekunden erkannt:

      Variable auf 2 setzten. Start Löschenskript mit Parameter 2 in 50 Sekunden.

      Wird jetzt das Löschenskript aufgerufen mit Parameter eins, weiss es dass es nichts zu tun hat,

      da die Variable auf zwei steht.

      Wird das Löschenskript mit Parameter 2 aufgerufen, dann das Licht ausgeschalter und die Variable auf 0 gesetzt.

      Beim Bewegungsmelder würde ich noch eine Triggerung alle max. 5 Sekunden einstellen.

      MfG

      Sissi

      –-----------------------------------------

      1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


      1 Antwort Letzte Antwort
      0
      • etvE Offline
        etvE Offline
        etv
        schrieb am zuletzt editiert von
        #3

        …OK, das ist ein guter Lösungsansatz...darauf wäre ich nicht gekommen.

        Danke!

        tom

        …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von
          #4

          Hallo,

          ich mache das seit gut einem Jahr. Bisher werte ich die Daten nicht aus, es läuft einfach so mit.

          Pro Raum werden zwei States angelegt:
          <list type="lower-alpha">4. Bewegung zeigen und

          1. Bewegung zaehlen. Die Wohnung gilt zusätzlich als ein Raum, der alle BWM einbezieht.

          Bedeutung:
          <list type="lower-alpha">4. Bewegung zeigen ist für VIS. Die Variable wird bei Bewegung auf true gesetzt, nach 10s wieder auf false. Somit kann ich in VIS über die Sichtbarkeit eines Widgets eine bemerkte Bewegung anzeigen lassen. Ein weiterer Taster in VIS dient zum vorzeitigen Setzen er Variable auf false (also zum Ausblenden).

          1. Bewegung zaehlen ist ein Counter, der Pro Auslösung eins hochzählt und um Mitternacht auf 0 gesetzt wird. Für den Abluss der Badewanne wird zum Beispiel im Kinderzimmer per schedule alle 2 Minuten eins heruntergezählt.
            261_bildschirmfoto_2017-01-02_um_19.55.15.jpg

          ! ````
          /* Bewegungen zaehlen
          ! für hofi77 http://forum.iobroker.net/viewtopic.php?f=21&t=1703#p14520
          ! erstellt: 14.11.2015 von Pix
          04.12.2015 nach Räumen gegliedert und von VIS abgekoppelt (Ordnerstruktur)
          21.12.2015 WC hinzugefügt
          17.06.2016 Büro in Kinderzimmer umbenannt
          /
          ! /
          #############################################################################

          ganze Wohnung (Count Motion wird von anderen Räumen mit hochgezählt)

          */
          createState('Bewegung.Wohnung.zeigen', false, {
          type: 'boolean',
          name: 'Bewegung in der Wohnung in VIS anzeigen',
          desc: 'Steuervariable für VIS Widget Sichtbarkeit'
          });

          ! createState('Bewegung.Wohnung.zaehlen', 0, {
          type: 'number',
          name: 'Zahl der Bewegungen in der Wohnung',
          desc: 'Counter für Auslösungen aller Bewegungsmelder in der Wohnung'
          });
          ! var idWohnung_CountMotion = 'Bewegung.Wohnung.zaehlen',
          idWohnung_ShowMotion = 'Bewegung.Wohnung.zeigen';
          ! // alle Bewegungsmelder der Wohnung
          $('channel[state.id=.MOTION]').on(function (obj) {
          if (obj.state.val) { // Wenn Bewegung erkannt
          setState(idWohnung_CountMotion, ++getState(idWohnung_CountMotion).val); // eins hochzählen
          setState(idWohnung_ShowMotion, true); // Steuerung VIS-Widget Sichtbarkeit auf wahr
          setStateDelayed(idWohnung_ShowMotion, false, 10000); // nach 10.000 ms wieder ausblenden
          } // Ende Bewegung erkannt
          });
          ! // ab 03.1.16 wieder jede Minute
          schedule('
          /1 * * * ', function () {
          var counter_wohnung = getState(idWohnung_CountMotion).val;
          if (counter_wohnung > 0) {
          setState(idWohnung_CountMotion, --counter_wohnung);
          }
          });
          ! /
          #############################################################################

          Kinderzimmer (1x PIR)

          */
          createState('Bewegung.Kinderzimmer.zeigen', false, {
          read: true,
          write: true,
          type: 'boolean',
          name: 'Bewegung im Kinderzimmer in VIS anzeigen',
          desc: 'Steuervariable für VIS Widget Sichtbarkeit'
          });

          ! createState('Bewegung.Kinderzimmer.zaehlen', 0, {
          read: true,
          write: true,
          type: 'number',
          name: 'Zahl der Bewegungen im Kinderzimmer',
          desc: 'Counter für Auslösungen des Bewegungsmelders im Kinderzimmer'
          });
          ! var idKinderzimmer_Bewegungsmelder = 'hm-rpc.0.GEQ0007961.1.MOTION'/IR Büro.MOTION/,
          idKinderzimmer_CountMotion = 'Bewegung.Kinderzimmer.zaehlen',
          idKinderzimmer_ShowMotion = 'Bewegung.Kinderzimmer.zeigen';
          ! on({
          id: idKinderzimmer_Bewegungsmelder,
          val: true
          }, function (obj) {
          if (obj.state.val) {
          var counter_kinderzimmer = getState(idKinderzimmer_CountMotion).val; // bisherige Zahl aus Variable einlesen
          setState(idKinderzimmer_CountMotion, ++counter_kinderzimmer); // eins hochzählen
          setState(idKinderzimmer_ShowMotion, true); // Steuerung VIS-Widget Sichtbarkeit auf wahr
          setStateDelayed(idKinderzimmer_ShowMotion, false, 10000); // nach 10.000 ms wieder ausblenden
          }
          });
          ! schedule('*/2 * * * ', function () {
          var counter_kinderzimmer = getState(idKinderzimmer_CountMotion).val;
          if (counter_kinderzimmer > 0) {
          setState(idKinderzimmer_CountMotion, --counter_kinderzimmer);
          }
          });
          ! /
          #############################################################################

          Wohnzimmer (1x PIR)

          */
          createState('Bewegung.Wohnzimmer.zeigen', false, {
          read: true,
          write: true,
          type: 'boolean',
          name: 'Bewegung im Wohnzimmer in VIS anzeigen',
          desc: 'Steuervariable für VIS Widget Sichtbarkeit'
          });

          ! createState('Bewegung.Wohnzimmer.zaehlen', 0, {
          read: true,
          write: true,
          type: 'number',
          name: 'Zahl der Bewegungen im Wohnzimmer',
          desc: 'Counter für Auslösungen des Bewegungsmelders im Wohnzimmer'
          });
          ! var idWohnzimmer_Bewegungsmelder = "hm-rpc.0.IEQ0374891.1.MOTION"/IR Wohnzimmer.MOTION/,
          idWohnzimmer_CountMotion = 'Bewegung.Wohnzimmer.zaehlen',
          idWohnzimmer_ShowMotion = 'Bewegung.Wohnzimmer.zeigen';
          ! on({
          id: idWohnzimmer_Bewegungsmelder,
          val: true
          }, function (obj) {
          var counter_wohnzimmer = getState(idWohnzimmer_CountMotion).val; // bisherige Zahl aus Variable einlesen
          setState(idWohnzimmer_CountMotion, ++counter_wohnzimmer); // eins hochzählen
          setState(idWohnzimmer_ShowMotion, true); // Steuerung VIS-Widget Sichtbarkeit auf wahr
          setStateDelayed(idWohnzimmer_ShowMotion, false, 10000); // nach 10.000 ms wieder ausblenden
          });
          ! // ab 19.12. mal alle 2min
          schedule('*/2 * * * ', function () {
          var counter_wohnzimmer = getState(idWohnzimmer_CountMotion).val;
          if (counter_wohnzimmer > 0) {
          setState(idWohnzimmer_CountMotion, --counter_wohnzimmer);
          }
          });
          ! /
          #############################################################################

          WC (1x PIR)

          */
          createState('Bewegung.WC.zeigen', false, {
          read: true,
          write: true,
          type: 'boolean',
          name: 'Bewegung im WC in VIS anzeigen',
          desc: 'Steuervariable für VIS Widget Sichtbarkeit'
          });

          ! createState('Bewegung.WC.zaehlen', 0, {
          read: true,
          write: true,
          type: 'number',
          name: 'Zahl der Bewegungen im WC',
          desc: 'Counter für Auslösungen des Bewegungsmelders im WC'
          });
          ! var idWC_Bewegungsmelder = "hm-rpc.0.LEQ0643126.1.MOTION"/IR WC.MOTION/,
          idWC_CountMotion = 'Bewegung.WC.zaehlen',
          idWC_ShowMotion = 'Bewegung.WC.zeigen';
          ! on({
          id: idWC_Bewegungsmelder,
          val: true
          }, function (obj) {
          var counter_wc = getState(idWC_CountMotion).val; // bisherige Zahl aus Variable einlesen
          setState(idWC_CountMotion, ++counter_wc); // eins hochzählen
          setState(idWC_ShowMotion, true); // Steuerung VIS-Widget Sichtbarkeit auf wahr
          setStateDelayed(idWC_ShowMotion, false, 10000); // nach 10.000 ms wieder ausblenden
          });
          ! // ab 19.12. mal alle 2min
          schedule('*/2 * * * ', function () {
          var counter_wc = getState(idWC_CountMotion).val;
          if (counter_wc > 0) {
          setState(idWC_CountMotion, --counter_wc);
          }
          });
          ! /
          #############################################################################

          Reset

          */

          ! // Mitternacht Zähler zurücksetzen / ggf. mit Nachtruhe zurücksetzen
          schedule('0 0 * * *', function () {
          //setState(idWohnung_CountMotion, 0);
          //setState(idKinderzimmer_CountMotion, 0);
          //setState(idWohnzimmer_CountMotion, 0);
          });

          Die Küche habe ich noch gar nicht mit drin (da sind zwei Bewegungsmelder). Der "Abfluss" für die Wohnung passiert minütlich.
          
          Für die Auswertung sollte man natürlich die "zählen"-Datenpunkte mit History loggen. Ein Durchschnittswert der letzten Stunde/des letzten Tags von 0 kann dann auf Abwesenheit hindeuten.
          
          Wie gesagt, die Auswertung habe ich noch nicht gemacht.
          
          Gruß
          
          Pix

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Antwort Letzte Antwort
          0
          • etvE Offline
            etvE Offline
            etv
            schrieb am zuletzt editiert von
            #5

            @pix:

            Hallo,

            ich mache das seit gut einem Jahr. Bisher werte ich die Daten nicht aus, es läuft einfach so mit.

            Pro Raum werden zwei States angelegt:
            <list type="lower-alpha">4. Bewegung zeigen und

            1. Bewegung zaehlen. Die Wohnung gilt zusätzlich als ein Raum, der alle BWM einbezieht.

            Bedeutung:
            <list type="lower-alpha">4. Bewegung zeigen ist für VIS. Die Variable wird bei Bewegung auf true gesetzt, nach 10s wieder auf false. Somit kann ich in VIS über die Sichtbarkeit eines Widgets eine bemerkte Bewegung anzeigen lassen. Ein weiterer Taster in VIS dient zum vorzeitigen Setzen er Variable auf false (also zum Ausblenden).

            1. Bewegung zaehlen ist ein Counter, der Pro Auslösung eins hochzählt und um Mitternacht auf 0 gesetzt wird. Für den Abluss der Badewanne wird zum Beispiel im Kinderzimmer per schedule alle 2 Minuten eins heruntergezählt. `

            Servus pix,

            danke für das tolle Script + Erklärung! DIe Idee mit der Anzeige auf VIS ist auch eine gute Idee.

            Eine Frage hab ich noch dazu: der Schedule-Teil wird dann ja eigentlich alle zwei Minuten aufgerufen auch wenn die Variable 0 ist, oder? Wenn nein, fein - wenn ja, kann man das dann mit einem clearSchedule abfangen und wieder stoppen solange die Variable auf 0 steht?

            Liebe Grüße

            tom

            …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              Fitti
              schrieb am zuletzt editiert von
              #6

              Hmmm, aber ist den Pixs Lösung das Gleiche wie die Thread-Frage?

              Denn bei pix wird ein Bewegungszähler verwendet.

              Tom hingegen will doch eine längere Verzögerung bei mehreren Bewegungen.

              Ich würde es so für mich mit einem Skript lösen:

              1.) Ich definiere eine Info-Variable 'var_counter=0;'
              2.) Starte eine subscripten 'on', die auf den/die BWM (BeWegungsMelder) triggert.
              3.) Addiere var_counter=var_counter+10;
              	3a.) while (solange) var_counter => 2 ist...
              		3ab.) starte function mit SetTimeout auf 5000ms. Diese Funktion subtrahiert 2 : var_counter=var_counter-2
              	3b.) else (ansonsten) breche die subscripten ab (unsubscribe).
              

              So ist alles schön zusammen und keine Asynchronität, wenn doch mal ein Skript ausversehen aus ist. Dann klappt das nämlich alles nicht mehr.

              Übrigens: Machen die Homematic BWM das nicht von alleine, wenn man den richtigen Modus einstellt, oder?

              So long,

              Fitti

              "Es wird die Zeit kommen, da ihr euch entscheiden müsst zwischen dem, was richtig ist, und dem, was bequem ist."
              Plural von Status ist auch Status!

              1 Antwort Letzte Antwort
              0
              • etvE Offline
                etvE Offline
                etv
                schrieb am zuletzt editiert von
                #7

                @Fitti:

                Hmmm, aber ist den Pixs Lösung das Gleiche wie die Thread-Frage?

                Denn bei pix wird ein Bewegungszähler verwendet.

                Tom hingegen will doch eine längere Verzögerung bei mehreren Bewegungen.

                Ich würde es so für mich mit einem Skript lösen:

                1.) Ich definiere eine Info-Variable 'var_counter=0;'
                2.) Starte eine subscripten 'on', die auf den/die BWM (BeWegungsMelder) triggert.
                3.) Addiere var_counter=var_counter+10;
                	3a.) while (solange) var_counter => 2 ist...
                		3ab.) starte function mit SetTimeout auf 5000ms. Diese Funktion subtrahiert 2 : var_counter=var_counter-2
                	3b.) else (ansonsten) breche die subscripten ab (unsubscribe).
                

                So ist alles schön zusammen und keine Asynchronität, wenn doch mal ein Skript ausversehen aus ist. Dann klappt das nämlich alles nicht mehr.

                Übrigens: Machen die Homematic BWM das nicht von alleine, wenn man den richtigen Modus einstellt, oder?

                So long,

                Fitti `
                Servus Fitti,

                deine Idee schaut noch einfacher aus.

                Ja die Melder im dynamischen Mode machen sowas ähnliches…ich bin gerade bei der Installation des ganzen Systems im Carport und kann daher noch nicht genau sagen, wie das nun tut.

                Auf jeden Fall hängen die Bewegungsmelder nicht direkt an den Aktoren, sondern es wird alles über die CCU gesteuert.

                Grund warum die Verzögerung egal ist:

                Beim Rausgehen aus dem Haus ins Carport geht das Licht mit dem Öffnen der Tür an, bzw eben mit Verzögerung aber bis man durch die Tür ist ist auch schon das Licht an und beim Heimkommen mit dem Auto wird das Licht schon von weiter weg via Fernbedienung gestartet.

                D.h. ich möchte mit den beiden Bewegungsmeldern quasi nur steuern, dass man draußen dann nie im Dunkeln steht und das Licht aber auch nicht zu lange brennt.

                Weiters hab ich die Melder so montiert, dass die rumschleichenden Katzen eigentlich nicht dedektiert werden sollten, wenn aber doch (weil die Autos nicht da sind und dann etwas "mehr Boden" dedektiert werden kann) und es folgt keine weitere Bewegung, dann ist das Licht auch gleich wieder aus.

                So der Plan ;-)

                Liebe Grüße

                Tom

                …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                1 Antwort Letzte Antwort
                0
                • rantanplanR Online
                  rantanplanR Online
                  rantanplan
                  schrieb am zuletzt editiert von
                  #8

                  Hallo

                  Ich habe mal hier

                  http://forum.iobroker.net/viewtopic.php … 654#p45130

                  ein Beispiel gepostet.

                  Grüße

                  Rantanplan

                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                  1 Antwort Letzte Antwort
                  0
                  • etvE Offline
                    etvE Offline
                    etv
                    schrieb am zuletzt editiert von
                    #9

                    ….aja, super - danke dir!!

                    Ich bin eh noch am Werkeln wie ich das nun einsetzen werde/soll/möchte.

                    Hab nun auch zwei Foscam FI9900P im Einsatz die ich da auch irgendwie mitsteuern möchte und muss mir alles noch auf Sinnhaftigkeit durch denken ;)

                    Liebe Grüße

                    tom

                    …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Online
                      rantanplanR Online
                      rantanplan
                      schrieb am zuletzt editiert von
                      #10

                      @etv:

                      …muss mir alles noch auf Sinnhaftigkeit durch denken ;) `
                      Das "Badewannenprinzip" macht nicht überall Sinn.

                      Bei mir ist es so etwas wie eine Nachkontrolle.

                      Wenn alles normal läuft, gilt das Prinzip, der Letzte macht das Licht aus.

                      Ich habe aber Bereiche, die von mehreren betreten werden und niemand so wirklich weis ob er der Letzte ist.

                      Da ist es schon mal vorgekommen, dass alles über Nacht oder schlimmer über's Wochenende an blieb.

                      Gegen meine eigene Schusseligkeit, stetzte ich das BWP auch in meinem Werkzeug-/Bastelkeller ein. :roll:

                      Sinnvolle Möglichkeiten gibt es genug.

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        pix
                        schrieb am zuletzt editiert von
                        #11

                        @etv:

                        @pix:

                        Hallo,

                        ich mache das seit gut einem Jahr. Bisher werte ich die Daten nicht aus, es läuft einfach so mit.

                        Pro Raum werden zwei States angelegt:
                        <list type="lower-alpha">4. Bewegung zeigen und

                        1. Bewegung zaehlen. Die Wohnung gilt zusätzlich als ein Raum, der alle BWM einbezieht.

                        Bedeutung:
                        <list type="lower-alpha">4. Bewegung zeigen ist für VIS. Die Variable wird bei Bewegung auf true gesetzt, nach 10s wieder auf false. Somit kann ich in VIS über die Sichtbarkeit eines Widgets eine bemerkte Bewegung anzeigen lassen. Ein weiterer Taster in VIS dient zum vorzeitigen Setzen er Variable auf false (also zum Ausblenden).

                        1. Bewegung zaehlen ist ein Counter, der Pro Auslösung eins hochzählt und um Mitternacht auf 0 gesetzt wird. Für den Abluss der Badewanne wird zum Beispiel im Kinderzimmer per schedule alle 2 Minuten eins heruntergezählt. `

                        Servus pix,

                        danke für das tolle Script + Erklärung! DIe Idee mit der Anzeige auf VIS ist auch eine gute Idee.

                        Eine Frage hab ich noch dazu: der Schedule-Teil wird dann ja eigentlich alle zwei Minuten aufgerufen auch wenn die Variable 0 ist, oder? Wenn nein, fein - wenn ja, kann man das dann mit einem clearSchedule abfangen und wieder stoppen solange die Variable auf 0 steht?

                        Liebe Grüße

                        tom `
                        Hallo Tom,

                        der Schedule Teil wird planmäßig ausgeführt, deshalb ist es ein Schedule. Wenn die Variable schon 0 ist, wird nur nichts mehr abgezogen. Ich weiss nicht, ob ein schedule oder ein Timeout mehr Ressourcen verbraucht (in diesem Fall geht es um fast gar keine Ressoucen). Aber ein Schedule ist doch leichter zu handhaben, oder nicht? Es ist nur eine Vermutung, aber wenn du wirklich deine Ressourcen minimieren willst, dann kannst natürlich auch einen anderen Schedule verwenden, der schon vom System gebaut wurde. Zum Beispiel bei jeder Abfrage des TV-Programms oder bei jeder Aktualisierung der Temperatursensoren oder oder oder.

                        @Fitti:

                        So ist alles schön zusammen und keine Asynchronität, wenn doch mal ein Skript ausversehen aus ist. Dann klappt das nämlich alles nicht mehr. ` Man kann natürlich wieder ein anderes Skript zur Kontrolle des eigentlichen Skriptes verwenden. Ich glaube, das Skript läuft schon, wenn es mal an ist.
                        @Fitti:

                        Übrigens: Machen die Homematic BWM das nicht von alleine, wenn man den richtigen Modus einstellt, oder? ` Das sehe ich auch so. Für mich ist das Badenwannen Skript dort interessant, wo nur mehrere Bewegungsmelder zusammen eindeutig eine Anwesenheit feststellen/Abwesenheit ausschließen können.

                        Gruß

                        Pix

                        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                        1 Antwort Letzte Antwort
                        0
                        • etvE Offline
                          etvE Offline
                          etv
                          schrieb am zuletzt editiert von
                          #12

                          Servus Pix,

                          danke für die Tipps. Ja es ist wie du schreibst erst sinnvoll bei mehreren Meldern - das ist bei uns im Carport der Fall…jo...Mal weiter durchdenken das Ganze. Jetzt ist es eh viiiiiieeeeelen zu kalt um die Lampen zu montieren :D

                          Liebe Grüße

                          tom

                          …ist schon sehr lange begeisterter ioBroker Nutzer! 1x zu Hause und 1x auf der Alm. ioBroker ist das 'Hirn' des Smarthome und steuert HomeMatic und Shellys, loggt was so passiert, zeigt es auf Tabletts schön an und ermöglicht mir via Cloud Adapter den Fernzugriff...

                          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

                          766

                          Online

                          32.4k

                          Benutzer

                          81.6k

                          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