NEWS
Prüfen ob min m von n Zuständen einen gewissen Wert haben
-
Hallo,
ich greife von mehreren Wetterstationen die Temperatur, Windrichtung und Regenmenge ab. Diese unterscheiden sich jeweils voneinander ein wenig. Nun möchte ich möglichst einfach abfragen, ob mehrere Stationen die selben Werte haben, bzw. in einem identischen Wertebereich liegen und dann entsprechend eine Gültigkeit definieren. Beispiel: eingebunden sind 5 Stationen. Wenn nun 3 von 5 Stationen eine Regenmenge >0 melden, dann möchte ich meine "Regenvariable" auf gültig setzen.
Gibt es hierfür in Blockly eine einfache Methode ? Bisher ist mir hierfür noch keine gute Idee gekommen.
Tom -
@iomax bau dir für alles einen Zähler der regelmäßig aktualisiert wird. Und der Zähler sagt dir dann ob deine Bedingungen erfüllt sind.
Beispiel:
1x die Minute wertest du alle Regenmengen aus, also die aller 5 Stationen.
Zuerst setzt du deinenregenzaehler
auf0
- Dann wertest du hintereinander die 5 Mengen aus. Ist die Menge >0 so addierst du 1 zu deinemregenzaehler
.Bist du damit durch weist du ob 5, 3 oder keine etc. Regen gemeldet hat. Du kannst dann ja <, > oder = nutzen.
-
@iomax sagte: Wenn nun 3 von 5 Stationen eine Regenmenge >0 melden, dann möchte ich meine "Regenvariable" auf gültig setzen.
Eine Möglichkeit:
-
@bananajoe danke, ja, so könnte man das machen, aber mir geht es ja auch um andere Werte und es soll eher in Richtung "Mehrheitsentscheidung" gehen. Also nicht nur "true" oder "false".
-
@iomax öhm, das hängt doch nur davon was du prüfst. Nach der Methode (die dir @paul53 ja schon - wie immer elegant - umgesetzt hat) kannst du ansonsten alles abfrühstücken wenn es um Mehrheit / Anteile geht. Du kannst sogar Gewichtungen einbauen, z.B. das Station1 doppelt oder 3fach zählt und Station 5 nur zur Hälfte.
Ansonsten: Wenn der Zahler 3 ist hast du halt 60% und damit eine Mehrheit.
-
@paul53 danke, das könnte so funktionieren wie ich es brauche
-
@bananajoe ich schaue mir das von paul53 nochmal genauer an. Wenn ich so ein zweites Mal drüber gucke, könnte es in der Tat passen