NEWS
(gelöst) Blockly 3 Werte vergleichen klappt nicht.
-
ich habe mir ein kleines Blockly geschriben mit dem ich 3 AnwesenheitsWerte prüfen möcht und dann Wert wenn alle gleich in eigenen DP "Alle Zuhause" schreiben.
Nur klappt es nicht so richtig.
Folgen DP stehen zur Verfügung.
Meine eigene DP sehen zur Zeit so aus.
Bei meinem Skript klappt ein Vergleich von 2 Werten und es wird auch richtig im DP "Eltern_Zuhause" geschrieben.
Aber 3 Werte vergleich funktioniert nicht.
Danke im Vorraus für eure Hilfe.
Eduard -
@edis77 Du musst mit einem UND arbeiten. Ein Vergleich liefert Dir
true
oderfalse
zurück. Wenn Du das jetzt so schachtelst, wirst der erste Vergleich aufgelöst (z.B. zutrue
, wenn die Werte identisch sind) und dann der letzte Wert mit diesem Ergebnis verglichen. Das wird nicht klappen.Das könnte sonst zu lustigen Seiteneffekten führen, wenn der letzte Vergleichswert auch ein Boolean ist (wie bei Dir). Aktuell wäre:
Eduard = false Sweta = false Emily = false
Du machst jetzt
(Eduard == Sweta) == Emily (false == false) == false (true) == false false
-
@edis77
-
@haus-automatisierung
meinst du so?
-
@edis77 Ist halt unnötig komplex. Wenn Du wissen willst, dass niemand Zuhause ist, brauchst Du die Zustände ja nicht gegeneinander vergleichen. Siehe Lösung von @Nordischerjung
Wenn alle
false
sein sollen, kannst Du ja jeweils einnicht
dazwischen packen:Dann hast Du alles in einem Block. Ohne irgendwelche Vergleiche.
-
@haus-automatisierung
ich habe jetzt wie bei @Nordischerjung nachgebaut.
Das Problem nur, dass ich möchte das wenn min. 1 Person Zuhause ist, dann soll DP auf true springen.
Das macht es zurzeit nicht. -
@nordischerjung
Version mit weniger Ressourcen: -
@edis77 sagte: wenn min. 1 Person Zuhause ist
Dann muss anstelle von UND die Verknüpfung per ODER erfolgen. Allerdings wäre dann der Name "Alle Zuhause" irreführend.
EDIT: Habe im Post vorher auf "mind. ein Elternteil" geändert.
-
@edis77 sagte in Blockly 3 Werte vergleichen klappt nicht, wo ist mein Fehler:
Das Problem nur, dass ich möchte das wenn min. 1 Person Zuhause ist, dann soll DP auf true springen.
Alle Zuhause:
- Eduard
und
Swetaund
Emily
Beide Eltern Zuhause:
- Eduard
und
Sweta
Ein Elternteil Zuhause:
- Eduard
oder
Sweta
- Eduard
-
@paul53, @Codierknecht, @haus-automatisierung
Vielen Dank für die Hilfe.
Da muss ich noch viel, viel lernen.Ich habe jetzt so nachgebaut und es funktioniert.
-
@edis77 sagte: es funktioniert.
"Alle Zuhause" passt nicht zu der ODER-Verknüpfung. Siehe hier
-
@paul53
wie du schon geschrieben hast die DP Namen sind irreführend.
Es müsste dann heißen. "min. 1 Person Zuhause" und "min. 1 Elternteil Zuhause"
Dann sollte es doch mit ODER passen? -
@edis77 sagte in Blockly 3 Werte vergleichen klappt nicht, wo ist mein Fehler:
wie du schon geschrieben hast die DP Namen sind irreführend.
Dann solltest Du die unbedingt umbenennen (im Objektbaum).
Sonst weißt Du in kürzester Zeit beim Blick auf das Script nicht mehr, was da überhaupt Sache ist. -
@edis77 sagte: "min. 1 Person Zuhause" und "min. 1 Elternteil Zuhause"
Dann mache es besser so:
-
@paul53
Ich habe jetzt neue DP gemacht und Blockly nach deinem Beispiel umgebaut. -
@edis77 sagte: Blockly nach deinem Beispiel umgebaut.
Falsche Variable selektiert:
-