NEWS
programmieren mit Blockly lernen, benötige Hilfe
-
-
@woupi sagte: am Anfang vom Skript alle Datenpunkte, die benötigt werden, in Variablen setzen und anschließend im Skript dann nur noch mit den Variablen?
Nicht alle DP-Werte, sondern nur die Werte, die mehr als einmal im Skript verwendet werden, denn die Verarbeitung von Variablen ist effizienter als ein wiederholter Funktionsaufruf.
@woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:
keinen Möglichkeit gibt, mit dem Trigger Wert zu arbeiten
Wert
kann man in Mehrfachtriggern nur dann verwenden, wenn die Werte der Trigger-Datenpunkte gleich ausgewertet werden. I.d.R. werden sie jedoch verschieden ausgewertet. -
Vielen Dank @Homoran und @paul53.
Frage 2 und 3 ist damit geklärt.
Frage 1 leider so noch nicht, oder ich habe die Antwort nicht verstanden.Das einzige was ich, in dem verlinkten Artikel, gefunden habe ist, das man es wegen der schlechten Lesbarkeit eventuell nicht so machen sollte.
Aber ob das jetzt schlechter ist als jede Menge falls Abfragen, stand da so nicht.VG
Sascha -
@woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:
Frage 1 leider so noch nicht,
die Frage versteh ich nicht.
@woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:
Ist es besser mit "und" bzw "oder" zu arbeiten oder besser mit falls?
du arbeitest doch im falls mit (mehrfach verschachteltem) und.
Was davon willst du denn wie ersetzen?
-
@homoran
Oh, sorry, dass ich mich so unklar ausgedrückt habe.Ich habe ganz viele blockly gefunden, die zwar grundsätzlich etwas anderes machen, aber vom Prinzip her die gleichen Aufgaben erledigen ud bei denen sind halt immer Falls in einander Verschachtelt. Ich habe mal schnell den Anfang links daneben gepackt.
Es ist ja gar nicht so, dass ich das machen möchte, zumal ich nicht mal genau weiß wie ich das bei den meisten meiner Punkte anstellen müsste.
Sondern vielmehr, dass ich immer (besser meistens) nur solche Verschachtelungen finde und eben selten, so wie ich es gemacht haben mit den ganzen "und" bzw "oder".Ich hoffe das war verständlicher.
VG
Sascha -
@woupi sagte: Frage 1 leider so noch nicht
Das macht jeder so, wie er es am besten selbst nachvollziehen kann.
6 mal einen Vergleich "Wert von Frequenz > 18" vermeidet man. Man macht es einmal und setzt mit dem Ergebnis eine Variable. -
@paul53 sagte in programmieren mit Blockly lernen, benötige Hilfe:
@woupi sagte: Frage 1 leider so noch nicht
Das macht jeder so, wie er es am besten selbst nachvollziehen kann.
Ok, super, da kann ich mit leben.
6 mal einen Vergleich "Wert von Frequenz > 18" vermeidet man. Man macht es einmal und setzt mit dem Ergebnis eine Variable.
Ja super. Das ist so was. Eigentlich vollkommen klar, logisch und nachvollziehbar, aber ich komm nicht drauf.
Vielen Dank.
Jetzt habe ich erstmal für heute Abend viel Arbeit, die Punkte mit den Variablen umzusetzen.
VG
Sascha -
Ich habe gerade angefangen, dass mit den Variablen umzusetzen.
Ist der Anfang so richtig?
Vor allem ist mir jetzt nicht klar ob die Variablen "WP_An" wenn der Datenpunkt = 1 und die Variablen "WP_Aus" wenn der Datenpunkt = 0 jeweils auf true steht.
VG
Sascha -
@woupi sagte: Ist der Anfang so richtig?
Die Variablen müssen innerhalb des Triggers gesetzt werden, da sie sonst ab Skriptstart Konstanten enthalten.
-
@paul53
Ok, ja macht Sinn.Ich sehe schon, so einfach ist das dann auch wieder nicht.
Ich nutze z.B. den Datenpunkt "Temperatur" (ist die Wohnzimmertemperatur) in mehreren Triggern.
Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche? -
@woupi
Anhand des ersten BLocklys habe ich mal angefangen, so umzustellen, dass es übersichtlicher wird.Reihenfolge von oben nach unten wie im Original.
-
@paul53
Super, vielen Dank. -
@paul53
Ich nutze z.B. den Datenpunkt "Temperatur" (ist die Wohnzimmertemperatur) in mehreren Triggern.
Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche? -
@woupi sagte: Muss ich jetzt in jedem Trigger die Variable setzen, wo ich sie dann auch brauche?
Im gezeigten Skript ist die Temperatur der einzige Trigger. Dann verwendet man
Wert
(unter "Trigger") für die Wohnzimmertemperatur. Da der WP-Status nur an einer Stelle geprüft wird, verwendet man dafür keine Variable. -
Ach so, ja klar, du hast ja nur den einen kleinen Teil.
Das Gesamte Skript ist ziemlich groß und besteht aus mehreren Triggern.
In vielen davon werden aber die gleichen Datenpunkte abgefragt, wie z.B. Wohnzimmertemperatur, Außentemperatur, WP Status usw.Darauf bezog sich meine Frage. Sorry.
-
@woupi sagte: In vielen davon werden aber die gleichen Datenpunkte abgefragt, wie z.B. Wohnzimmertemperatur,
Wenn Einzel-Trigger verwendet werden, macht man es so:
Die Variable
WohnzTemp
wird bei Skriptstart und bei Wertänderung gesetzt und kann in allen Triggern des Skriptes ausgewertet werden. -
@paul53
Vielen Dank.
VG
Sascha -
@paul53 sagte in programmieren mit Blockly lernen, benötige Hilfe:
Die Variable
WohnzTemp
wird bei Skriptstart und bei Wertänderung gesetzt und kann in allen Triggern des Skriptes ausgewertet werden.Die Wert Veränderung wird hier ausgelöst
und nicht hier (der Teil ist nur zum einmaligen setzen),
oder? -
@woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:
oder
ja! ausserhalb des Triggers dient zum Setzen bei Skriptstart
-
Ich habe deinen Startvorschlag, dafür nochmal ganz lieben Danke, weiter geführt. Hier mal der Abschnitt.
Es wäre ganz toll wenn Ihr da nochmal drüber sehen könntet, ob man das jetzt so einigermaßen vernünftig wäre.
Vielen Dank
VG
Sascha