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. Einfache Programmierung - womit?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    260

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

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

Einfache Programmierung - womit?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
17 Beiträge 6 Kommentatoren 1.0k Aufrufe 5 Watching
  • Ä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.
  • W Offline
    W Offline
    wrod
    schrieb am zuletzt editiert von wrod
    #1

    Hallo,
    ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
    Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

    Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

    De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
    Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
    Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
    Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
    61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

    Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

    Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

    • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

    • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

    Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

    Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

    Dank im Voraus,
    W

    AsgothianA J mickymM A paul53P 7 Antworten Letzte Antwort
    0
    • W wrod

      Hallo,
      ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
      Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

      Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

      De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
      Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
      Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
      Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
      61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

      Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

      Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

      • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

      • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

      Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

      Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

      Dank im Voraus,
      W

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von Asgothian
      #2

      @wrod sagte in Einfache Programmierung - womit?:

      Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

      Ressourcenschonend ist bei den vorhandenen Methoden vollständig abhängig von der Umsetzung.

      Ich würde wenn Du keine Programmiererfahrung besitzt auf Blockly oder NodeRed setzen. Ich fürchte die Anwendung ist zu komplex für "rules".
      Mit Programmiererfahrung: JS oder Typescript.

      Wie würde ich es umsetzen ?

      • Eine Liste anlegen in die ich die Zeitstempel der Schaltvorgänge hinein speichere.
      • bei jedem erkannten Schaltvorgang alle Schaltvorgänge die älter sind als meine Abschaltzeit aus der Liste entfernen.
      • Ausschalten wenn danach noch mehr als n Einträge in der Liste sind.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      W 1 Antwort Letzte Antwort
      0
      • W wrod

        Hallo,
        ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
        Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

        Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

        De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
        Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
        Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
        Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
        61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

        Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

        Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

        • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

        • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

        Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

        Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

        Dank im Voraus,
        W

        J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #3

        @wrod
        Na mit nem Script und wenn keine Programmierkennrisse vorhanden sind eben mit nem Blockly Script.
        Dafür brauchst dann den JS-Adapter.

        Wenn das Dein erstes Blockly werden soll, wirst wohl sehr schnell an Deine grenzen stoßen, ist aber eigentlich recht einfach wenn man mal den Bogen raus hat. Bei Blockly Scripten ist paul53 der Spezi und klickt da alles sehr schnell und übersichtlich zusammen ;)

        Falls Ich Deine Frage überhaupt richtig verstanden habe.

        1 Antwort Letzte Antwort
        0
        • W wrod

          Hallo,
          ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
          Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

          Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

          De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
          Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
          Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
          Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
          61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

          Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

          Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

          • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

          • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

          Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

          Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

          Dank im Voraus,
          W

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @wrod Nun so einfach ist es nicht - mit der einfachen Programmierung, insbesondere wenn es nicht nur um, wenn dann geht, sondern selbst gezählt werden muss etc.

          Im Prinzip hast Du aber zur Logiksteuerung im iobroker viele und tolle Möglichkeiten.

          Die meisten verwenden Blockly
          Ich hingegen bevorzuge NodeRed, da man in meinen Augen die Logik gut visualisieren kann und viele Aufgaben mit fertigen Nodes bereits durchführbar sind (zum Zählen von Ereignissen gibt es zum Beispiel eine Aggregator Node etc.)
          Viele arbeiten sich in Javascript ein. Javascript ist eine Sprache die sowohl Blockly als auch NodeRed zugrunde liegt.

          Anhand der Poster vorweg - siehst Du das jeder so seine Präferenzen hat. :)

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • W wrod

            Hallo,
            ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
            Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

            Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

            De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
            Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
            Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
            Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
            61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

            Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

            Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

            • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

            • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

            Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

            Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

            Dank im Voraus,
            W

            A Offline
            A Offline
            AndyGR42
            schrieb am zuletzt editiert von AndyGR42
            #5

            @wrod Wenn Du deiner Pumpe etwas Gutes tun möchtest spendierst Du ihr ein Ausdehnungsgefäß. Das reduziert die Starts erheblich (auch bei geringer Entnahme) und erhöht die Lebensdauer.

            P.S.: So oft wie deine Pumpe anspringt scheint es aber irgendwo ein Leck zu geben. Eventuell muss auch das Rückschlagventil mal gereinigt werden.

            1 Antwort Letzte Antwort
            0
            • W wrod

              Hallo,
              ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
              Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

              Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

              De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
              Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
              Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
              Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
              61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

              Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

              Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

              • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

              • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

              Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

              Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

              Dank im Voraus,
              W

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #6

              @wrod

              Ich habe aber trotzdem noch eine blöde Frage. Wenn Du schon einen Shelly nutzt um die Pumpe mit Strom zu versorgen bzw. abzudrehen, warum nutzt Du dann nicht den eingebauten Auto Off Timer im Shelly. Du schaltest also zu Beginn des Wässerns ein und dann schaltet der Selly einfach automatisch nach x Minuten aus. Dann brauchst garnichts programmieren.

              E9475B2C-4AFE-4988-B022-59735F7CF49E.jpeg

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              W 1 Antwort Letzte Antwort
              1
              • mickymM mickym

                @wrod

                Ich habe aber trotzdem noch eine blöde Frage. Wenn Du schon einen Shelly nutzt um die Pumpe mit Strom zu versorgen bzw. abzudrehen, warum nutzt Du dann nicht den eingebauten Auto Off Timer im Shelly. Du schaltest also zu Beginn des Wässerns ein und dann schaltet der Selly einfach automatisch nach x Minuten aus. Dann brauchst garnichts programmieren.

                E9475B2C-4AFE-4988-B022-59735F7CF49E.jpeg

                W Offline
                W Offline
                wrod
                schrieb am zuletzt editiert von
                #7

                @mickym Mist, erwischt!

                Nein im Ernst: ja, den habe ich schon mit eingebaut. Aber wie das so ist, kommt man dann doch auf Ideen, ob es nicht noch flexibler etc. geht.

                1 Antwort Letzte Antwort
                0
                • W wrod

                  Hallo,
                  ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
                  Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

                  Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

                  De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
                  Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
                  Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
                  Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
                  61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

                  Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

                  Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

                  • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

                  • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

                  Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

                  Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

                  Dank im Voraus,
                  W

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @wrod sagte: Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen,

                  Angelehnt an den Vorschlag von @Asgothian: Wenn die Zeitspanne zwischen 4 mal Ausschalten kleiner als 5 Minuten ist, wird abgeschaltet:

                  Bild_2021-07-12_114441.png

                  Wert und vorheriger Wert sind lokale Variablen des Triggers.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  W 1 Antwort Letzte Antwort
                  1
                  • paul53P paul53

                    @wrod sagte: Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen,

                    Angelehnt an den Vorschlag von @Asgothian: Wenn die Zeitspanne zwischen 4 mal Ausschalten kleiner als 5 Minuten ist, wird abgeschaltet:

                    Bild_2021-07-12_114441.png

                    Wert und vorheriger Wert sind lokale Variablen des Triggers.

                    W Offline
                    W Offline
                    wrod
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 OHA, danke! Ein fertiges Programm wollte ich gar nicht verlangen, sondern nur wissen, wie man das machen kann. Das ist ja ein toller Service. Da versuche ich demnächst mal einzubauen.

                    1 Antwort Letzte Antwort
                    0
                    • AsgothianA Asgothian

                      @wrod sagte in Einfache Programmierung - womit?:

                      Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

                      Ressourcenschonend ist bei den vorhandenen Methoden vollständig abhängig von der Umsetzung.

                      Ich würde wenn Du keine Programmiererfahrung besitzt auf Blockly oder NodeRed setzen. Ich fürchte die Anwendung ist zu komplex für "rules".
                      Mit Programmiererfahrung: JS oder Typescript.

                      Wie würde ich es umsetzen ?

                      • Eine Liste anlegen in die ich die Zeitstempel der Schaltvorgänge hinein speichere.
                      • bei jedem erkannten Schaltvorgang alle Schaltvorgänge die älter sind als meine Abschaltzeit aus der Liste entfernen.
                      • Ausschalten wenn danach noch mehr als n Einträge in der Liste sind.

                      A.

                      W Offline
                      W Offline
                      wrod
                      schrieb am zuletzt editiert von
                      #10

                      @asgothian Danke! das hilft schon mal gut weiter!

                      1 Antwort Letzte Antwort
                      0
                      • W wrod

                        Hallo,
                        ich bin neu bei iobroker. Das System selbst läuft inzwischen. Ich habe auch ein paar (optisch noch verbesserbare) Anzeigen mit iQontrol und FLOT hinbekommen.
                        Nun habe ich folgende Aufgabe und bitte um einen Hinweis, mit welchem Tool/Adapter das am einfachsten zu erledigen ist. Ich überlege derzeit NICHT, weitere und besonders größere Automatisierungen vorzunehmen (und: ja, ich weiß: der Appetit kommt beim Essen, und so). Momentan geht es aber nur um die Aufgabe:

                        Ich habe eine Regentonnenpumpe. Das ist eine Drucktauchpumpe. Sie schaltet ein, wenn man den angeschlossenen Wasserhahn öffnet und stoppt, wenn man abdreht. So weit, so gut.

                        De facto schaltet sie aber auch bei geschlossenem Hahn immer wieder kurz ein, um den Druck aufrechtzuerhalten. Das summiert sich denn doch ganz gut.
                        Daher haben wir einen Schalter vorgesetzt, der ihr den Stromkreis freischaltet, wenn es überhaupt dazu kommt, dass wir Wasser aus der Tonne brauchen.
                        Wenn man vergiss, den abzuschalten, läuft sie aber dann doch viele Stunden im unnützen "Wechselbetrieb".
                        Nun habe ich in den Schalter einen Shelly 1PM eingebaut. Da kan ich dieses Verhalten auch visualisieren. Das sieht etwa so aus:
                        61ccf57a-e8b9-4e19-a00f-44e4759b5d04-grafik.png

                        Links ist der abgeschaltete Zustand, rechts der zu vermeidende angeschaltete.

                        Ich möchte nun erreichen, dass über den Shelly die Pumpe abgeschaltet wird, wenn die POWER-Kurve das Muster rechts anzeigt. Oder anders:

                        • Wenn man beim Wässern per Hand ein- oder zweimal kurz abschaltet, soll das NICHT zur Unterbrechung führen, wohl aber

                        • wenn über einen definierbaren Zeitraum x (sagen wir: 10 Minuten) mehr als y Schaltvorgänge stattfinden: Ausschalten.

                        Man braucht somit wohl eine Variable, welche die Schaltvorgänge zählt und eine oder mehrere Variablen für die Zeitdauer zwischen ihnen.

                        Womit lässt sich das am einfachsten und ressoucenschonendsten umsetzen?

                        Dank im Voraus,
                        W

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @wrod In NodeRed würde ich es dann halt so implementieren:

                        a4617871-94b9-4938-8b25-37cc245f2f4b-image.png

                        [
                           {
                               "id": "cddb8004.e28f2",
                               "type": "tab",
                               "label": "Flow 1",
                               "disabled": false,
                               "info": ""
                           },
                           {
                               "id": "4af23165.da59f",
                               "type": "ioBroker in",
                               "z": "cddb8004.e28f2",
                               "name": "",
                               "topic": "Stromverbrauch",
                               "payloadType": "value",
                               "onlyack": "",
                               "func": "all",
                               "gap": "",
                               "fireOnStart": "false",
                               "x": 120,
                               "y": 180,
                               "wires": [
                                   [
                                       "795c75ed.ee017c"
                                   ]
                               ]
                           },
                           {
                               "id": "795c75ed.ee017c",
                               "type": "switch",
                               "z": "cddb8004.e28f2",
                               "name": "Digitalisieren <  100 oder >100",
                               "property": "payload",
                               "propertyType": "msg",
                               "rules": [
                                   {
                                       "t": "lt",
                                       "v": "100",
                                       "vt": "num"
                                   },
                                   {
                                       "t": "gt",
                                       "v": "100",
                                       "vt": "num"
                                   }
                               ],
                               "checkall": "true",
                               "repair": false,
                               "outputs": 2,
                               "x": 350,
                               "y": 180,
                               "wires": [
                                   [
                                       "99041bb7.81b3c8"
                                   ],
                                   [
                                       "3a8ed73.056db28"
                                   ]
                               ]
                           },
                           {
                               "id": "99041bb7.81b3c8",
                               "type": "change",
                               "z": "cddb8004.e28f2",
                               "name": "<100 entspricht 0",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "0",
                                       "tot": "num"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 620,
                               "y": 160,
                               "wires": [
                                   [
                                       "5bd527f3.cb4248"
                                   ]
                               ]
                           },
                           {
                               "id": "3a8ed73.056db28",
                               "type": "change",
                               "z": "cddb8004.e28f2",
                               "name": ">100 entspricht 1",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "1",
                                       "tot": "num"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 620,
                               "y": 200,
                               "wires": [
                                   [
                                       "5bd527f3.cb4248"
                                   ]
                               ]
                           },
                           {
                               "id": "5bd527f3.cb4248",
                               "type": "rbe",
                               "z": "cddb8004.e28f2",
                               "name": "Nur Umschaltvorgänge werten",
                               "func": "rbe",
                               "gap": "",
                               "start": "",
                               "inout": "out",
                               "septopics": true,
                               "property": "payload",
                               "x": 870,
                               "y": 180,
                               "wires": [
                                   [
                                       "19019c1c.c8ed24"
                                   ]
                               ]
                           },
                           {
                               "id": "3e9ac029.f28a2",
                               "type": "aggregator",
                               "z": "cddb8004.e28f2",
                               "name": "Anzahl innerhalb 5 Minuten",
                               "topic": "",
                               "intervalCount": "5",
                               "intervalUnits": "m",
                               "submitIncompleteInterval": true,
                               "submitPerTopic": false,
                               "aggregationType": "sum",
                               "x": 1360,
                               "y": 180,
                               "wires": [
                                   [
                                       "6c24b8c8.333768"
                                   ]
                               ]
                           },
                           {
                               "id": "19019c1c.c8ed24",
                               "type": "change",
                               "z": "cddb8004.e28f2",
                               "name": "Umschaltvorgang = 1",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "1",
                                       "tot": "num"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 1120,
                               "y": 180,
                               "wires": [
                                   [
                                       "3e9ac029.f28a2"
                                   ]
                               ]
                           },
                           {
                               "id": "6c24b8c8.333768",
                               "type": "switch",
                               "z": "cddb8004.e28f2",
                               "name": "wenn mehr als 4 innerhalb von 5 Minuten",
                               "property": "payload",
                               "propertyType": "msg",
                               "rules": [
                                   {
                                       "t": "gt",
                                       "v": "4",
                                       "vt": "num"
                                   }
                               ],
                               "checkall": "true",
                               "repair": false,
                               "outputs": 1,
                               "x": 1660,
                               "y": 180,
                               "wires": [
                                   [
                                       "379ca42.4409e5c"
                                   ]
                               ]
                           },
                           {
                               "id": "379ca42.4409e5c",
                               "type": "ioBroker out",
                               "z": "cddb8004.e28f2",
                               "name": "abschalten",
                               "topic": "",
                               "ack": "false",
                               "autoCreate": "false",
                               "stateName": "",
                               "role": "",
                               "payloadType": "",
                               "readonly": "",
                               "stateUnit": "",
                               "stateMin": "",
                               "stateMax": "",
                               "x": 1910,
                               "y": 180,
                               "wires": []
                           }
                        ]
                        

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @wrod In NodeRed würde ich es dann halt so implementieren:

                          a4617871-94b9-4938-8b25-37cc245f2f4b-image.png

                          [
                             {
                                 "id": "cddb8004.e28f2",
                                 "type": "tab",
                                 "label": "Flow 1",
                                 "disabled": false,
                                 "info": ""
                             },
                             {
                                 "id": "4af23165.da59f",
                                 "type": "ioBroker in",
                                 "z": "cddb8004.e28f2",
                                 "name": "",
                                 "topic": "Stromverbrauch",
                                 "payloadType": "value",
                                 "onlyack": "",
                                 "func": "all",
                                 "gap": "",
                                 "fireOnStart": "false",
                                 "x": 120,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "795c75ed.ee017c"
                                     ]
                                 ]
                             },
                             {
                                 "id": "795c75ed.ee017c",
                                 "type": "switch",
                                 "z": "cddb8004.e28f2",
                                 "name": "Digitalisieren <  100 oder >100",
                                 "property": "payload",
                                 "propertyType": "msg",
                                 "rules": [
                                     {
                                         "t": "lt",
                                         "v": "100",
                                         "vt": "num"
                                     },
                                     {
                                         "t": "gt",
                                         "v": "100",
                                         "vt": "num"
                                     }
                                 ],
                                 "checkall": "true",
                                 "repair": false,
                                 "outputs": 2,
                                 "x": 350,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "99041bb7.81b3c8"
                                     ],
                                     [
                                         "3a8ed73.056db28"
                                     ]
                                 ]
                             },
                             {
                                 "id": "99041bb7.81b3c8",
                                 "type": "change",
                                 "z": "cddb8004.e28f2",
                                 "name": "<100 entspricht 0",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "0",
                                         "tot": "num"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 620,
                                 "y": 160,
                                 "wires": [
                                     [
                                         "5bd527f3.cb4248"
                                     ]
                                 ]
                             },
                             {
                                 "id": "3a8ed73.056db28",
                                 "type": "change",
                                 "z": "cddb8004.e28f2",
                                 "name": ">100 entspricht 1",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "1",
                                         "tot": "num"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 620,
                                 "y": 200,
                                 "wires": [
                                     [
                                         "5bd527f3.cb4248"
                                     ]
                                 ]
                             },
                             {
                                 "id": "5bd527f3.cb4248",
                                 "type": "rbe",
                                 "z": "cddb8004.e28f2",
                                 "name": "Nur Umschaltvorgänge werten",
                                 "func": "rbe",
                                 "gap": "",
                                 "start": "",
                                 "inout": "out",
                                 "septopics": true,
                                 "property": "payload",
                                 "x": 870,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "19019c1c.c8ed24"
                                     ]
                                 ]
                             },
                             {
                                 "id": "3e9ac029.f28a2",
                                 "type": "aggregator",
                                 "z": "cddb8004.e28f2",
                                 "name": "Anzahl innerhalb 5 Minuten",
                                 "topic": "",
                                 "intervalCount": "5",
                                 "intervalUnits": "m",
                                 "submitIncompleteInterval": true,
                                 "submitPerTopic": false,
                                 "aggregationType": "sum",
                                 "x": 1360,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "6c24b8c8.333768"
                                     ]
                                 ]
                             },
                             {
                                 "id": "19019c1c.c8ed24",
                                 "type": "change",
                                 "z": "cddb8004.e28f2",
                                 "name": "Umschaltvorgang = 1",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "1",
                                         "tot": "num"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 1120,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "3e9ac029.f28a2"
                                     ]
                                 ]
                             },
                             {
                                 "id": "6c24b8c8.333768",
                                 "type": "switch",
                                 "z": "cddb8004.e28f2",
                                 "name": "wenn mehr als 4 innerhalb von 5 Minuten",
                                 "property": "payload",
                                 "propertyType": "msg",
                                 "rules": [
                                     {
                                         "t": "gt",
                                         "v": "4",
                                         "vt": "num"
                                     }
                                 ],
                                 "checkall": "true",
                                 "repair": false,
                                 "outputs": 1,
                                 "x": 1660,
                                 "y": 180,
                                 "wires": [
                                     [
                                         "379ca42.4409e5c"
                                     ]
                                 ]
                             },
                             {
                                 "id": "379ca42.4409e5c",
                                 "type": "ioBroker out",
                                 "z": "cddb8004.e28f2",
                                 "name": "abschalten",
                                 "topic": "",
                                 "ack": "false",
                                 "autoCreate": "false",
                                 "stateName": "",
                                 "role": "",
                                 "payloadType": "",
                                 "readonly": "",
                                 "stateUnit": "",
                                 "stateMin": "",
                                 "stateMax": "",
                                 "x": 1910,
                                 "y": 180,
                                 "wires": []
                             }
                          ]
                          

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @mickym sagte: In NodeRed

                          Anmerkung zu "Umschaltvorgang = 1": Die Abschaltung erfolgt unmittelbar nach Einschalten der Pumpe. Das ist für die Pumpe nicht so gut und der Shelly schaltet unter Last ab.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @mickym sagte: In NodeRed

                            Anmerkung zu "Umschaltvorgang = 1": Die Abschaltung erfolgt unmittelbar nach Einschalten der Pumpe. Das ist für die Pumpe nicht so gut und der Shelly schaltet unter Last ab.

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #13

                            @paul53 sagte in Einfache Programmierung - womit?:

                            @mickym sagte: In NodeRed

                            Anmerkung zu "Umschaltvorgang = 1": Die Abschaltung erfolgt unmittelbar nach Einschalten der Pumpe. Das ist für die Pumpe nicht so gut und der Shelly schaltet unter Last ab.

                            OK habe ich verstanden und gesehen, dass Du nur die abfallenden Ereignisse nimmst, indem Du mit dem vorangegangen Wert vergleichst. (Hier hast Du natürlich Dein Praxiswissen mit einfließen lassen - Super!) :)

                            Ich hab den Flow nun geändert, in dem die IN Node nur triggert wenn der Unterschied 200W beträgt, also die Amplitude auf jedenfall groß genug ist und dann ebenfalls mit dem vorangegangenen Wert vergleiche. Dann würde der Flow etwas einfacher aussehen:

                            13cf9c06-ca7a-4512-881b-f3a6419890ea-image.png

                            fdd358ea-df3e-44a7-9e5b-4bb6837224c4-image.png a1c91eb5-8825-4389-bf16-dfb280b5e1f8-image.png

                            [
                               {
                                   "id": "ef5b05aa.c1b068",
                                   "type": "ioBroker in",
                                   "z": "315f28dc.e47ab8",
                                   "name": "",
                                   "topic": "Stromverbrauch nur wenn 200 Watt Unterschied",
                                   "payloadType": "value",
                                   "onlyack": "",
                                   "func": "deadband",
                                   "gap": "200",
                                   "fireOnStart": "false",
                                   "x": 220,
                                   "y": 180,
                                   "wires": [
                                       [
                                           "ecd85865.cb5bf8"
                                       ]
                                   ]
                               },
                               {
                                   "id": "ecd85865.cb5bf8",
                                   "type": "switch",
                                   "z": "315f28dc.e47ab8",
                                   "name": "Filtern wenn kleiner vorheriger Wert",
                                   "property": "payload",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "lt",
                                           "v": "",
                                           "vt": "prev"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 560,
                                   "y": 180,
                                   "wires": [
                                       [
                                           "5ac44aa1.ecdfb4"
                                       ]
                                   ]
                               },
                               {
                                   "id": "5ac44aa1.ecdfb4",
                                   "type": "change",
                                   "z": "315f28dc.e47ab8",
                                   "name": "abfallend entspricht 1",
                                   "rules": [
                                       {
                                           "t": "set",
                                           "p": "payload",
                                           "pt": "msg",
                                           "to": "1",
                                           "tot": "num"
                                       }
                                   ],
                                   "action": "",
                                   "property": "",
                                   "from": "",
                                   "to": "",
                                   "reg": false,
                                   "x": 840,
                                   "y": 180,
                                   "wires": [
                                       [
                                           "c20da9c0.2dce58"
                                       ]
                                   ]
                               },
                               {
                                   "id": "c20da9c0.2dce58",
                                   "type": "aggregator",
                                   "z": "315f28dc.e47ab8",
                                   "name": "Anzahl innerhalb 5 Minuten",
                                   "topic": "",
                                   "intervalCount": "5",
                                   "intervalUnits": "m",
                                   "submitIncompleteInterval": true,
                                   "submitPerTopic": false,
                                   "aggregationType": "sum",
                                   "x": 1100,
                                   "y": 180,
                                   "wires": [
                                       [
                                           "1d843dd5.43e972"
                                       ]
                                   ]
                               },
                               {
                                   "id": "1d843dd5.43e972",
                                   "type": "switch",
                                   "z": "315f28dc.e47ab8",
                                   "name": "wenn mehr als 4 innerhalb von 5 Minuten",
                                   "property": "payload",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "gt",
                                           "v": "4",
                                           "vt": "num"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 1420,
                                   "y": 180,
                                   "wires": [
                                       [
                                           "98dc1b62.29fb78"
                                       ]
                                   ]
                               },
                               {
                                   "id": "98dc1b62.29fb78",
                                   "type": "ioBroker out",
                                   "z": "315f28dc.e47ab8",
                                   "name": "abschalten",
                                   "topic": "",
                                   "ack": "false",
                                   "autoCreate": "false",
                                   "stateName": "",
                                   "role": "",
                                   "payloadType": "",
                                   "readonly": "",
                                   "stateUnit": "",
                                   "stateMin": "",
                                   "stateMax": "",
                                   "x": 1690,
                                   "y": 180,
                                   "wires": []
                               }
                            ]
                            

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            A 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @paul53 sagte in Einfache Programmierung - womit?:

                              @mickym sagte: In NodeRed

                              Anmerkung zu "Umschaltvorgang = 1": Die Abschaltung erfolgt unmittelbar nach Einschalten der Pumpe. Das ist für die Pumpe nicht so gut und der Shelly schaltet unter Last ab.

                              OK habe ich verstanden und gesehen, dass Du nur die abfallenden Ereignisse nimmst, indem Du mit dem vorangegangen Wert vergleichst. (Hier hast Du natürlich Dein Praxiswissen mit einfließen lassen - Super!) :)

                              Ich hab den Flow nun geändert, in dem die IN Node nur triggert wenn der Unterschied 200W beträgt, also die Amplitude auf jedenfall groß genug ist und dann ebenfalls mit dem vorangegangenen Wert vergleiche. Dann würde der Flow etwas einfacher aussehen:

                              13cf9c06-ca7a-4512-881b-f3a6419890ea-image.png

                              fdd358ea-df3e-44a7-9e5b-4bb6837224c4-image.png a1c91eb5-8825-4389-bf16-dfb280b5e1f8-image.png

                              [
                                 {
                                     "id": "ef5b05aa.c1b068",
                                     "type": "ioBroker in",
                                     "z": "315f28dc.e47ab8",
                                     "name": "",
                                     "topic": "Stromverbrauch nur wenn 200 Watt Unterschied",
                                     "payloadType": "value",
                                     "onlyack": "",
                                     "func": "deadband",
                                     "gap": "200",
                                     "fireOnStart": "false",
                                     "x": 220,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "ecd85865.cb5bf8"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "ecd85865.cb5bf8",
                                     "type": "switch",
                                     "z": "315f28dc.e47ab8",
                                     "name": "Filtern wenn kleiner vorheriger Wert",
                                     "property": "payload",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "lt",
                                             "v": "",
                                             "vt": "prev"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 560,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "5ac44aa1.ecdfb4"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "5ac44aa1.ecdfb4",
                                     "type": "change",
                                     "z": "315f28dc.e47ab8",
                                     "name": "abfallend entspricht 1",
                                     "rules": [
                                         {
                                             "t": "set",
                                             "p": "payload",
                                             "pt": "msg",
                                             "to": "1",
                                             "tot": "num"
                                         }
                                     ],
                                     "action": "",
                                     "property": "",
                                     "from": "",
                                     "to": "",
                                     "reg": false,
                                     "x": 840,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "c20da9c0.2dce58"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "c20da9c0.2dce58",
                                     "type": "aggregator",
                                     "z": "315f28dc.e47ab8",
                                     "name": "Anzahl innerhalb 5 Minuten",
                                     "topic": "",
                                     "intervalCount": "5",
                                     "intervalUnits": "m",
                                     "submitIncompleteInterval": true,
                                     "submitPerTopic": false,
                                     "aggregationType": "sum",
                                     "x": 1100,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "1d843dd5.43e972"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "1d843dd5.43e972",
                                     "type": "switch",
                                     "z": "315f28dc.e47ab8",
                                     "name": "wenn mehr als 4 innerhalb von 5 Minuten",
                                     "property": "payload",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "gt",
                                             "v": "4",
                                             "vt": "num"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 1420,
                                     "y": 180,
                                     "wires": [
                                         [
                                             "98dc1b62.29fb78"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "98dc1b62.29fb78",
                                     "type": "ioBroker out",
                                     "z": "315f28dc.e47ab8",
                                     "name": "abschalten",
                                     "topic": "",
                                     "ack": "false",
                                     "autoCreate": "false",
                                     "stateName": "",
                                     "role": "",
                                     "payloadType": "",
                                     "readonly": "",
                                     "stateUnit": "",
                                     "stateMin": "",
                                     "stateMax": "",
                                     "x": 1690,
                                     "y": 180,
                                     "wires": []
                                 }
                              ]
                              

                              A Offline
                              A Offline
                              AndyGR42
                              schrieb am zuletzt editiert von
                              #14

                              Auch wenn ich mich wiederhole, eine Tauchdruckpumpe, welche einmal pro Minute anspringt weil sie den Druck verliert, die braucht kein Script sondern einen Klempner ;)

                              AsgothianA 1 Antwort Letzte Antwort
                              1
                              • A AndyGR42

                                Auch wenn ich mich wiederhole, eine Tauchdruckpumpe, welche einmal pro Minute anspringt weil sie den Druck verliert, die braucht kein Script sondern einen Klempner ;)

                                AsgothianA Offline
                                AsgothianA Offline
                                Asgothian
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                @andygr42 sagte in Einfache Programmierung - womit?:

                                Auch wenn ich mich wiederhole, eine Tauchdruckpumpe, welche einmal pro Minute anspringt weil sie den Druck verliert, die braucht kein Script sondern einen Klempner ;)

                                Klempner sind aber teurer als Skripte ;)

                                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                A 1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @andygr42 sagte in Einfache Programmierung - womit?:

                                  Auch wenn ich mich wiederhole, eine Tauchdruckpumpe, welche einmal pro Minute anspringt weil sie den Druck verliert, die braucht kein Script sondern einen Klempner ;)

                                  Klempner sind aber teurer als Skripte ;)

                                  A Offline
                                  A Offline
                                  AndyGR42
                                  schrieb am zuletzt editiert von
                                  #16

                                  @asgothian Pumpen auch.... ;)

                                  AsgothianA 1 Antwort Letzte Antwort
                                  0
                                  • A AndyGR42

                                    @asgothian Pumpen auch.... ;)

                                    AsgothianA Offline
                                    AsgothianA Offline
                                    Asgothian
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #17

                                    @andygr42 sagte in Einfache Programmierung - womit?:

                                    @asgothian Pumpen auch.... ;)

                                    Bliebe nur die Frage: sind Pumpen teurer als Klempner 🤣

                                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                    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

                                    612

                                    Online

                                    32.7k

                                    Benutzer

                                    82.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