Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Elegante Methode um mehrere IF-Abfragen zu gestalten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Elegante Methode um mehrere IF-Abfragen zu gestalten

Scheduled Pinned Locked Moved Blockly
5 Posts 4 Posters 441 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    daPanic
    wrote on last edited by
    #1

    Hallöchen,

    ich baue mir gerade einen Email-Send-Master.
    Also ein Blockly was mir eine Email sendet unter bestimmten Bedingungen und das zentral gesteuert.
    Also wenn irgendwo eine Email geschickt werden soll dann setze ich einen DP auf einen bestimmten Wert, z.B. 10.
    Das Script weiss dann, okay Wert 10 bedeutet ich schicke eine Mail mit dem Inhalt "Gartenbewässerung gestartet" oder sowas.

    Das führt natürlich dazu dass irgendwann in einer riesigen IF-Abfrage ende.
    IF 10
    IF 11
    IF 12 usw.

    Gibt es eine Idee, wie ich das elegranter machen kann?
    Vielleicht sowas wie "CASE - SELECT"?
    Oder Rückgabe über ein Array .. keine Ahnung.

    VG

    paul53P AsgothianA OliverIOO 3 Replies Last reply
    0
    • D daPanic

      Hallöchen,

      ich baue mir gerade einen Email-Send-Master.
      Also ein Blockly was mir eine Email sendet unter bestimmten Bedingungen und das zentral gesteuert.
      Also wenn irgendwo eine Email geschickt werden soll dann setze ich einen DP auf einen bestimmten Wert, z.B. 10.
      Das Script weiss dann, okay Wert 10 bedeutet ich schicke eine Mail mit dem Inhalt "Gartenbewässerung gestartet" oder sowas.

      Das führt natürlich dazu dass irgendwann in einer riesigen IF-Abfrage ende.
      IF 10
      IF 11
      IF 12 usw.

      Gibt es eine Idee, wie ich das elegranter machen kann?
      Vielleicht sowas wie "CASE - SELECT"?
      Oder Rückgabe über ein Array .. keine Ahnung.

      VG

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @dapanic sagte: wie "CASE - SELECT"?

      Prinzip:

      Blockly_temp.JPG

      @dapanic sagte in Elegante Methode um mehrere IF-Abfragen zu gestalten:

      Mail mit dem Inhalt "Gartenbewässerung gestartet"

      Weshalb schreibst du nicht gleich die Nachricht in den Datenpunkt?

      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

      1 Reply Last reply
      1
      • D daPanic

        Hallöchen,

        ich baue mir gerade einen Email-Send-Master.
        Also ein Blockly was mir eine Email sendet unter bestimmten Bedingungen und das zentral gesteuert.
        Also wenn irgendwo eine Email geschickt werden soll dann setze ich einen DP auf einen bestimmten Wert, z.B. 10.
        Das Script weiss dann, okay Wert 10 bedeutet ich schicke eine Mail mit dem Inhalt "Gartenbewässerung gestartet" oder sowas.

        Das führt natürlich dazu dass irgendwann in einer riesigen IF-Abfrage ende.
        IF 10
        IF 11
        IF 12 usw.

        Gibt es eine Idee, wie ich das elegranter machen kann?
        Vielleicht sowas wie "CASE - SELECT"?
        Oder Rückgabe über ein Array .. keine Ahnung.

        VG

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        wrote on last edited by Asgothian
        #3

        @dapanic sagte in Elegante Methode um mehrere IF-Abfragen zu gestalten:

        Gibt es eine Idee, wie ich das elegranter machen kann?
        Vielleicht sowas wie "CASE - SELECT"?
        Oder Rückgabe über ein Array .. keine Ahnung.

        es gibt alles 3:

        • der case ist Baustein für case/select
        • Arrays (die in Blockly als Liste geführt werden
        • JSON Objekte mit Attributen, wo du so ein Konstrukt aufbauen kannst:
        {
          val10: { message: "der Garten ist alle", delay: 30, repeat: false, recipients: ["max", "Moritz", "jedermann"]},
          val20: { message: "der Garten ist voll", delay: 3000, repeat: true, repeatIntervall:10, recipients: []}
        }
        

        A.

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

        1 Reply Last reply
        0
        • D daPanic

          Hallöchen,

          ich baue mir gerade einen Email-Send-Master.
          Also ein Blockly was mir eine Email sendet unter bestimmten Bedingungen und das zentral gesteuert.
          Also wenn irgendwo eine Email geschickt werden soll dann setze ich einen DP auf einen bestimmten Wert, z.B. 10.
          Das Script weiss dann, okay Wert 10 bedeutet ich schicke eine Mail mit dem Inhalt "Gartenbewässerung gestartet" oder sowas.

          Das führt natürlich dazu dass irgendwann in einer riesigen IF-Abfrage ende.
          IF 10
          IF 11
          IF 12 usw.

          Gibt es eine Idee, wie ich das elegranter machen kann?
          Vielleicht sowas wie "CASE - SELECT"?
          Oder Rückgabe über ein Array .. keine Ahnung.

          VG

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by
          #4

          @dapanic

          Ich würde auch so wie der 3. Fall von @Asgothian machen.
          Eine Datenstrukturen aufbauen wo alle notwendigen Informationen enthalten sind und dann nur eine kleine programmlogik, welche anhand Input die entsprechenden Daten aus der Datenstrukturen auswählt und anhand der Parameter dann die Aktionen ausführt.
          Das ist sehr flexibel und für zukünftiger Erweiterungen offen.
          Auch durch minimierten Programmcode weniger Fehleranfälligkeit, was nachher die Suche schwierig macht.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          D 1 Reply Last reply
          0
          • OliverIOO OliverIO

            @dapanic

            Ich würde auch so wie der 3. Fall von @Asgothian machen.
            Eine Datenstrukturen aufbauen wo alle notwendigen Informationen enthalten sind und dann nur eine kleine programmlogik, welche anhand Input die entsprechenden Daten aus der Datenstrukturen auswählt und anhand der Parameter dann die Aktionen ausführt.
            Das ist sehr flexibel und für zukünftiger Erweiterungen offen.
            Auch durch minimierten Programmcode weniger Fehleranfälligkeit, was nachher die Suche schwierig macht.

            D Offline
            D Offline
            daPanic
            wrote on last edited by
            #5

            @oliverio Das würde ich mir dann mal anschauen.

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            719

            Online

            32.6k

            Users

            82.2k

            Topics

            1.3m

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

            • Don't have an account? Register

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