NEWS
IDs vom Selektor
-
Hallo Forum
Ich habe mir eine Funktion Namens "frei" angelegt und die dazugehörigen Datenpunkte hinzugefügt. Jetzt möchte ich mittels blockly eine Debugausgabe haben die mir ausgibt frei oder nicht frei.
Mein blocky sieht so aus.
mit
state=[id=*(function=frei)]
werden doch alle Datenpunkte in der Funktion "frei" auf den Wert true oder false geprüft?
Verstehe nicht warum ich nicht das gewünschte Ergebnis erhalte.
-
@psyganja
functions=frei -
@paul53
Ups übersehen, geändert. Funktioniert trotzdem noch nicht.
So funktioniert es, aber das ist ja keine schöne Art.
-
@psyganja sagte: Funktioniert trotzdem noch nicht.
Versuche es mal so:
-
state[id=*(functions=frei)]
Die eckige Klammer ist in Deinem Blockly falsch gesetzt.
So ists richtiger:
state[id=*](functions=frei)
-
@djmarc75
Oh man so oft nicht gesehen den Fehler
vielen Dank. Jetzt funktioniert es.
Jetzt muss ich es nur noch erweitern. -
Vielleicht habt ihr ja einen Tipp. Jetzt bekomme ich mit dem blocky diese Ausgabe,
1.11.2022, 15:53:12.229 [warn ]: javascript.0 (367) script.js.common.Steuerung.robot_Reinigungstimer: frei 1.11.2022, 15:53:12.229 [warn ]: javascript.0 (367) script.js.common.Steuerung.robot_Reinigungstimer: nicht frei 1.11.2022, 15:53:12.229 [warn ]: javascript.0 (367) script.js.common.Steuerung.robot_Reinigungstimer: nicht frei
wie ihr seht sind es 3 Datenpunkte. Ich würde aber nur gern 1 mal die Ausgabe haben frei oder nicht frei
-
@psyganja sagte in IDs vom Selektor:
Jetzt muss ich es nur noch erweitern.
und dazu ist das Skript von @paul53 super geeignet... die Schleife wird abgebrochen sobald das erste "false" erkannt wird. >Damit sparst Du Dir unnötige LOGS.
-
@djmarc75 sagte: die Schleife wird abgebrochen sobald das erste "false" erkannt wird.
... sobald das erste "true" erkannt wird.
-
@djmarc75
noch gar nicht endeckt -
@psyganja sagte: Vielleicht habt ihr ja einen Tipp.
-
@paul53 sagte in IDs vom Selektor:
sobald das erste "true" erkannt wird.
ups... ja ... eben gesehen !
-
@paul53 said in IDs vom Selektor:
@djmarc75 sagte: die Schleife wird abgebrochen sobald das erste "false" erkannt wird.
... sobald das erste "true" erkannt wird.
Funktionieren tut es.
zum Verständnis:
Woher weiß die Schleife ob true oder false gesetzt ist? Das kann ich nicht erkennen.
Muß die variable id heißen? Weil sich der Befehl mit id*(functions=) zusammen setzt? -
@psyganja sagte: Woher weiß die Schleife ob true oder false gesetzt ist?
Die 3 Datenpunkte enthalten die Werte false oder true, was auch ein Vergleich als Ergebnis liefert.
-
@psyganja sagte: Muß die variable id heißen?
Nein. Bei mir heißt sie
id
, damit jeder weiß, dass sie eine Datenpunkt-ID enthält. -
@paul53 said in IDs vom Selektor:
@psyganja sagte: Muß die variable id heißen?
Nein. Bei mir heißt sie
id
, damit jeder weiß, dass sie eine Datenpunkt-ID enthält.Ok. Bin bei falls hängen geblieben. Also falls der Wert id = true ist dann mache setze frei und breche die Schleife ab.
Mir fehlte halt die Abfrage ob true oder false. Aber das ergibt sich aus der Ausgabe von falls.Habe ich mir das so richtig erklärt?
-
@psyganja sagte in IDs vom Selektor:
Habe ich mir das so richtig erklärt?
hat beides den selben Effekt. -
Super ihr beiden, habt mir sehr geholfen.
-
Kann man eigentlich in blockly einen schalter zu einer bestimmten Uhrzeit schalten? Ich meine nicht den Zeit Trigger , es sei den man kann diesen manipulieren.
Also im script, schalte Lampe um 7Uhr? -
entweder statisch per Zeitplan oder per externem CRON-DP. Da kannst Du quasi die Zeit von "extern" setzen, z.B. über VIS oder Ähnlichem.