NEWS
Blockly
-
Dann sind wir in den gefilden der persönlichen Bedienung: Ich scrolle immer noch mit demMausrad und erwarte da kein Zooming (ich weiss, old style non-touch-screen-isch)
-
Dann sind wir in den gefilden der persönlichen Bedienung: Ich scrolle immer noch mit demMausrad und erwarte da kein Zooming (ich weiss, old style non-touch-screen-isch) `
Ich bin da flexibelMan kann es ja mal anders probieren.
-
Ich hole mal unsere Diskusion aus "Blockly-Scripten" hierher.
Habe mal etwas sinnfreies gebastelt und den Prüfe-Baustein eingebaut.
Das Script sieht so aus.
var VAR_Test; schedule("* * * * *", function () { VAR_Test = false; for (var count = 0; count < 5; count++) { if ((VAR_Test ? true : false) == false) { console.log('Ergebnis = wahr'); VAR_Test = false; } else { console.log('Ergebnis = unwahr'); VAR_Test = true; } } });
Da läuft nichts so wie ich es erwarte.
Auch "VAR_Test" wird nicht geändert.
Grüße
Edit: Habe natürlich mehrere Spielarten von wahr/unwar durchgespielt.
-
Was hast Du denn erwartet was passiert?
-
zuerst setzt du VAR-Test auf false (initial)
-
dann machst Du 5 mal:
-
der vergleich im "Test" baustein sollte genau den gleichen Wert zurückliefern wie "Var-test" … also "false".
-
Es müsste also die Ausgabe "Ergebnis = wahr" kommen und du setzt VAR-test wieder auf "false"
-
beim nächsten mal passier genau das gleiche.
Passt das zu den log-ausgaben?
Zu dem Zoom-Thema: Mit Maus wäre ich ja dabei "mal was neues zu probieren" ... aber die Oberfläche nimmt einen "Rechtsklick" per Keypad vom Mac scheinbar als Scrollbefehl vom Mausrad und zoomt immer einmal rein. Komisch
-
-
if ((VAR_Test ? true : false) == false) {
Ist falsch.
Da sollte doch einfach
if (VAR_Test == false)
-
Was hast Du denn erwartet was passiert?
-
zuerst setzt du VAR-Test auf false (initial)
-
dann machst Du 5 mal:
-
der vergleich im "Test" baustein sollte genau den gleichen Wert zurückliefern wie "Var-test" … also "false".
-
Es müsste also die Ausgabe "Ergebnis = wahr" kommen und du setzt VAR-test wieder auf "false"
-
beim nächsten mal passier genau das gleiche.
Passt das zu den log-ausgaben?
Zu dem Zoom-Thema: Mit Maus wäre ich ja dabei "mal was neues zu probieren" ... aber die Oberfläche nimmt einen "Rechtsklick" per Keypad vom Mac scheinbar als Scrollbefehl vom Mausrad und zoomt immer einmal rein. Komisch `
Ja, die abgebildeten true/false Kombinationen sind natürlich dumm :oops:
Deshalb habe ich den Beitrag auch nochmal editiert.
Ich habe die wildesten Kombinationen ausprobiert
In dem Falls-Block hatte zu Anfang bei "mache" und "sonst" auch
"setze VAR-Test auf NICHT VAR-Test"
Dachte "nicht" wäre eine normale NOT-Verknüpfung zu toggeln.
Ich habe auch versucht unterschiedliche Bausteine bei "falls wahr" und "falls unwahr" anzudocken.
Aber die, die man da andocken kann ergeben für mich keinen Sinn.
Irgendwie habe ich bei dem Prüfebaustein eine Blockade :roll:
Grüße
-
-
if ((VAR_Test ? true : false) == false) {
Ist falsch.
Da sollte doch einfach
if (VAR_Test == false)
sein. `
Hi Bluefox,
Ich wollte einfach mal den "prüfe-Baustein" ausprobieren und den Sinn von dem Baustein verstehen.
Ich habe immer noch keine Idee wo man den sinnvoll einsetzt. :oops:
Grüße
-
Ich habe immer noch keine Idee wo man den sinnvoll einsetzt. :oops: `
48_2016-08-23_13_18_50-iobroker.admin.png -
Schönes Beispiel!!!
Jetzt hat es auch bei mir "Klick" gemacht.
Danke!
Klasse Baustein. Jetzt wo ich weis wie es geht
-
Ich habe es verstanden! :mrgreen:
Hat mir doch keine Ruhe gelassen.
Mal auf die schnelle was geBlocklyt.
Klappt!
Und was ich erstaunlich finde, dass geht so schnell wie eine Direktverknupfung!
Grüße
-
Jupp, das meinte ich übrigens mit "Du sparst Dir damit einen IF…ELSE-Block"
-
Jupp, das meinte ich übrigens mit "Du sparst Dir damit einen IF…ELSE-Block" `
Ein Bild sagt mehr als tausend Worte
Grüße
-
@Bluefox: Kann es sein das die Skripte vom Typ "Blockly" beim Start der JS-Instanz nicht automatisch gestartet werden auch wenn Sie "enabled" sind?Hatte mich heute gewundert warum Dinge nbicht tun und festgestellt das Sie nach dem Neustart des iobroker gar nicht gestartet wurden.
Die Skripte vom Typ" javascript/JS" dagegen wurden alle automatisch gestartet …
-
@Bluefox. Ich habe da auch noch etwas
Beim Testen schalte ich häufig hin und her.
Die Warnung, dass das Script noch nicht gespeichert wurde, ist Gold wert und mir schon einige Stunden erspart.
Was ich aber auch häufig , im Eifer des Gefechts, vergessse ist das Script wieder zu stoppen.
Ich mache Änderungen und dann bemerke ich, dass das Script noch aktiv ist.
Keine Ahnung ob da etwas passieren kann.
Aber wäre es nicht besser, wärend das Script läuft, das Editieren zu sperren?
Ach, wo ich schon mal dabei bin
Ein Debug-Baustein mit Werteausgabe wäre auch eine Erleichterung.
Grüße
-
Jetzt bin ich bei meinem "Umzug" bei der Rolladensteuerung.
Da kommen häufig Zeitvergleiche vor.
Dazu habe Systemvariablen als String mit Inhalt "SS:mm" z.B. "06:00"
Diese Variablen werden mit der aktuellen Zeit verglichen werden.
Mit Blockly bekomme ich das aber nicht hin.
Hier ein paar Beispiele mit dem dazugehörigen Scripts.
Zu 1) new Date(getState("hm-rega.0.13863").val).getTime();
Zu 2) (new Date().getMilliseconds());
Zu 3) (new Date().getMilliseconds()) >= new Date(getState("hm-rega.0.13863").val).getTime();
Zu 4) (new Date().getMilliseconds()) >= (new Date().getMilliseconds());
Sieht komisch aus.
Oder liegt es wieder an mir? :roll:
Grüße
-
Hilft der Block "Aktuelle Zeit ist <grosser kleiner/gleich=""><zeitwert>"? Bei mir der erste im Bereich "Date+Time"</zeitwert></grosser>
-
Hilft der Block "Aktuelle Zeit ist <grosser kleiner/gleich=""><zeitwert>"? Bei mir der erste im Bereich "Date+Time"</zeitwert></grosser> `
Hallo Apollon77Hatte ich als erstes probiert:
"Aktuelle Zeit ist <grosser gleich="">ss:mm" -> SysVar <"15:00">
Und auch mit vorheriger Konvertierung von der SysVar nach Zeit ss:mmHat alles nicht geklappt.
Grüße</ss:mm></ss:mm></grosser>
-
moin,
bei mir funktioniert es mit der Zeit.
was ich überhaupt nicht hin bekomme ist, den Inhalt der Variable Begrüßung mit Text kombiniert als Sprachausgabe. Es wird nur der Variablenamen angesagt. Hat da jemand einen Tip?
mfg
Armin
-
Aaaah jetzt sehe ich dein Problem. Die Limits kommen aus Sysvars. Da der Vergleichswert aber nur angegeben werden kann und nicht flexibel sein kann hast Du ein Problem.
Da müsste Bluefox den Vergleichs-Zeitwert in dem Blockly dynamisch machen da man da nicht nur statisch was rein machen kann sondern dynamisch
-
moin,
was ich überhaupt nicht hin bekomme ist, den Inhalt der Variable Begrüßung mit Text kombiniert als Sprachausgabe. Es wird nur der Variablenamen angesagt. Hat da jemand einen Tip?
mfg
Armin `
So aus dem Bauch heraus. Nicht getestet!
Probiere mal "aktualisiere" anstatt "steuere".
Grüße