Script für oder bedingungen

  • Hallo,

    ich habe ein 7" raspi monitor als zentrale auf der die vis angezeigt wird, soweit so gut.

    jedoch ist auf diesem bildschirm wenig platz, deshalb möchte ich über selbst eingefügte schalter einige zustände zusammenfassen:

    z.B. der wassefall, oder der brunnen, oder die lichterkette ist an, dann soll der zusatzschalter auf true geschaltet werden, dieser zeigt mir in der übersicht dann, das im garten etwas an ist. wenn aber alles aus ist soll der schalter auch unwahr sein.

    habe schon mit den blocklys experimentiert, doch mehr als einmal schaltet der selbst gebaute schalter in den objekten nicht.

    wenn ich herausgefunden habe wie man beim macbook bildschirmfotos macht hänge ich ein bild des testblocklys an.

    wenn jemand eine idee hat, bin ich über hilfe sehr dankbar...

    gruß jörg

    ps: hänge hier mal das script an:

    // wenn eine bed. erfüllt steuere oder schalter ein ein

    if (getState("sonoff.0.Lichterkette-Wasserfall.POWER1").val == true || getState("sonoff.0.Lichterkette-Wasserfall.POWER2").val == true || getState("broadlink2.0.RM:Broadlink-RM-pro.L.Brunnen").val == true) {

    setState("sonoff.0.Lichterkette-Wasserfall.Oder-Schalter"/*Oder-Schalter*/, true);

    }

    //hier steht nur buchstabengewirr...;)

    Raspberry 3b+ 7" Touch Monitor, Intel Nuc mit IOBroker

    Einmal editiert, zuletzt von Commander (14. April 2018 um 10:04)

  • Hallo Jörg,

    wenn ich das richtig verstanden habe, solltest du im Blockly als Bedingung den "Hauptschalter" wählen. Wenn diese Bedingung True ist, schalten die anderen "Nebenschalter" auch true.

    Sonst wenn " Hauptschalter" false, dann Nebenschalter auch false. So wird der "Hauptschalter im VIS auch immer schön aktualisiert.

    Du könntest auch noch die Nebenschalter triggern. Es könnte ja sein das du gerade nicht am Monitor bist, sonder per Alexa etc einen Nebenschalter einschalten möchtest und später per Hand am Monitor wieder aus.

    Hoffe das hilft dir ein wenig

    BG

    Tobi

  • das ist leider nicht die antwort, die ich gesucht habe, denn ich habe keinen hauptschalter, sondern einzelne schalter die dem "Hauptschalter" melden, wen nun mindestens einer der schalter an ist, soll der "Hauptschalter" auch an sein, nur wenn keiner der drei schalter an ist, soll der "Hauptschalter" auch aus sein. Der Hauptschalter soll nur in der vis benutzt werden um zu melden, das in dem bereich "Garten" noch etwas eingeschaltet ist.

    hoffe ich hab das nun verständlicher beschrieben. ich komme aus dem sps bereich und dort ist so etwas leicht zu programmieren, nur kenne ich mich leider mit javascript, oder blockly aus. so wie das oben geschrieben ist würde es in einer siemens sps laufen, nur im iobroker nicht. bestimmt habe ich nur eine kleinigkeit übersehen....

    aber danke das du es dir mal angeschaut hast.

    gruß jörg

    Raspberry 3b+ 7" Touch Monitor, Intel Nuc mit IOBroker

  • ok verstanden.

    wie wäre es wenn du einen Dummy State im Java erstellst und den Hauptschalter darauf reagiert?

    Also unter Objekte--Javascript einen neuen state anlegen (z.B. geraetesindan) als Logikwert.

    Dann den Schalter im VIS auf diesen Wert legen. Das heißt ist der wert true leuchtet der Schalter oder eben nicht.

    Jetzt kannst du im Blockly z.B die drei Geräte Triggern und jedes mal wenn ein Gerät auf True steht, soll der "Geraetesindan" state auch auf true.

    Wenn alle 3 Geräte auf False, dann den Dummy auch auf False.

    Und wenn du per Hand im VIS auf den "Dummy" klickst gehen alle Geräte auf False.

    Glaube so würde ich es machen.

    Wenn das so einigermaßen ist was du willst, kann ich dir auch ein Blockly schreiben.

    BG

  • also....,

    ich habe das blockly gerade getestet und es läuft genau so wie ich es mir vorgestellt habe.

    vielen dank nochmal an dich,Tobsen. auf die idee es so zu machen wäre ich niemals gekommen. bist mein held.

    gruß jörg

    Raspberry 3b+ 7" Touch Monitor, Intel Nuc mit IOBroker

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!