NEWS
Anfänger - Wie mit Script beginnen
-
Du wirst lachen.....Tips und Tricks gelesen, Masterkurs bezahlt und zur Hälfte abgearbeitet.
Den kann ich übrigens empfehlen.Das Problem ist bei mir ein anderes.
Ich komme aus der SPS Welt.
Hier wird das Script in einer Schleife immer wieder gelesen bzw ausgeführt.
Das mag sich nicht nach einem großen Untershcied anhören, ist es aber.Dazu finde ich die Übersetzung von Blockly nicht ganz gelungen.
In der SPS Welt hat man eine einfachere Sprache. Und Oder Undnicht usw.
Die SPS Proframmierung in FUP (Funktionsplan) kommt der Blockly Geschicht recht nahe.
Ist aber in der SPS Welt m.M. nah besser gelöst.Z.B.

Der Auslöser "Falls Objekt" und dann nochmal "falls mache".
Für mich ist es teilweise schwer auf einem Blick zu sehen, dass es sich bei dem zweiten "falls mache" um eine UND Verknüpung handelt.und wenn jetzt noch ein "UND" oder ein "ODER" dabei kommt ....... brrrr. Dann suche ich mir einen Ast, wie man das am besten umsetzt.
Vllt denke ich auch viel zu kompliziert, Noch :-)Habe mir mal ein paar Videos mit NodeRed angeschaut, aber das erscheint mir noch komplizierter.
@doppellhelix sagte in Anfänger - Wie mit Script beginnen:
Ich komme aus der SPS Welt.
Da muss man sich dann umgewöhnen. Wie @BananaJoe schon schriebt, läuft im ioBroker (fast) alles ereignisorientiert ab. Das kann eine Änderung an einem State sein, oder z.B. auch ein Zeitereignis.
GUI-Programme für Windows funktionieren übrigens genauso ... da passiert nix, solange nicht ein Ereignis eintritt. Mausklick auf einen Button, Mausbewegung, Tastatureingabe usw.
Das ist letzendlich auch deutlich ressourcenschonender als ständig irgendwelche Schleifen abzuarbeiten. Wozu sollte ein Programm etwas tun, wenn gerade nix zu tun ist`?In der SPS Welt hat man eine einfachere Sprache
Ansichtssache. Wer in der großen Nicht-SPS-Welt eine (fast beliebige) Sprache beherrscht, findet sich da eigentlich sofort zurecht. SPS ist nicht die Regel, sondern eher die Ausnahme.
Proframmierung in FUP (Funktionsplan) kommt der Blockly Geschicht recht nahe.
Ist aber in der SPS Welt m.M. nah besser gelöstDu musst Dich leider von Dingen wie Funktions- oder Ablaufplänen verabschieden. Fange an, ereignisorientiert an die Sache heranzugehen. Was ist der Auslöser (Trigger) und welche zusätzlichen Bedingungen müssen beim Eintritt desselben erfüllt sein, um etwas zu tun.
und wenn jetzt noch ein "UND" oder ein "ODER" dabei kommt ....... brrrr
Das ist die eigentliche Kunst. Nennt sich "bool'sche Algebra". Hat viel mit der einst so gehassten "Mengenlehre" zu tun. Das Problem hat man aber grundsätzlich mit allen modernen Sprachen. Egal ob Basic, C, Pascal, JavaScript etc.p.p.
By the way (zu Deinem Screenshot): In einem Trigger muss man den Wert des "triggernden" DP nicht nochmal lesen. Der Trigger kennt "seinen Wert" bereits (wie auch alle anderen Eigenschaften des State). Für sowas verwendet man den Block "Wert" aus dem Bereich "Trigger".
Vielleicht schaust Du Dir "Blockly für Dummies" nochmal an ;-)