NEWS
"Wait" in blockly
-
Hallo, ich versuche gerade meine ersten Schritte in blockly. Ich würde gern den Trockner smart machen. Dabei würde ich gern beim unterschreiten eines bestimmten Stromverbrauchs im Abstand von einem festen Zeitraum den Stromverbrauch prüfen um sicherzustellen, dass er wirklich fertig ist.
Die Idee wäre eine Kombination aus Schleife und timeout. Leider funktioniert das nicht. Laut einem älteren Beitrag ging das aber scheinbar mal. Re: "Wait" in blockly?
Die Suche im Internet ergab aber auch, dass man das in JS so handhabt.
Das folgende Skript erzeugt nur 3 Benachrichtigungen/Logeinträge. Das timeout wird nicht beachtet.var timeout;
on({id: "0_userdata.0.Testvariable"/Testvariable/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.warn('trigger gestartet');
for (var count = 0; count < 3; count++) {
timeout = setTimeout(function () {
console.warn('Schleife 1 gestartet');
sendTo("telegram.0", "send", {
text: 'test'
});
}, 5000);
}
}); -
-
@init5
Versuch mal "wiederholen" durch ein Intervall zu ersetzen.
Du brauchst dann noch eine Hilfsvariable, die jedesmal hochzählt, also z.B. i=i+1 und ein "stop Intervall", wenn i=3 erreicht ist. -
@init5
das hier könnte Klappen....
-
@init5
Der Timeout wird beachtet, nur dass Du nach 5 Sekunden eben sofort 3 Nachrichten bekommst. Wiederhole 3x sorgt dafür, dass der Block darunter 3 mal direkt hinter einander ausgeführt wird und somit 3x direkt hinter einander der Timeout läuft und das gleichzeitig, somit laufen auch alle 3 fast zeitgleich ab und der Rest wird dann eben 3 mal ausgeführt. -
Hey Leute, vielen Dank für die Hilfe. Entschuldigt die späte Antwort. Hier war coronabedingt einiges los.
Eure Vorschläge haben natürlich funktioniert. Wenn man einmal sieht wie es richtig wäre, ist alles völlig logisch. Ich poste hier der Vollständigkeit halber noch den kunktionierenden Block.
var zaehler, Intervall; on({id: "0_userdata.0.Testvariable"/*Testvariable*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; zaehler = 0; console.warn('trigger gestartet'); Intervall = setInterval(function () { if (zaehler < 3) { zaehler = (typeof zaehler == 'number' ? zaehler : 0) + 1; console.warn(zaehler); sendTo("telegram.0", "send", { text: 'test', disable_notification: true }); } else { (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } }, 5000); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUzRSUzQ3ZhcmlhYmxlcyUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMiUyMiUyMGlkJTNEJTIyXyUyQ192aVQlNDAlN0JsJTJCa19lMGIlNUUuRzhOJTIyJTNFemFlaGxlciUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjB0eXBlJTNEJTIydW5kZWZpbmVkJTIyJTIwaWQlM0QlMjJJbnRlcnZhbGwlMjIlM0VJbnRlcnZhbGwlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjIuTnolNURCSlUlM0ZkY0dwZ3E5S1lWUiU1QiUyMiUyMHglM0QlMjItOTYyJTIyJTIweSUzRCUyMi0xMzclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuVGVzdHZhcmlhYmxlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMmlfcyUzRCUyMzB0R3glMjVSNClMJTdDQ2VrTVUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMl8lMkNfdmlUJTQwJTdCbCUyQmtfZTBiJTVFLkc4TiUyMiUyMHZhcmlhYmxldHlwZSUzRCUyMiUyMiUzRXphZWhsZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3Qk0lN0JJWCU2MDUyJTdDdyElMjUlNDBLV1lqSXAyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyYnVDbyU3RCU2MDJUVylVcCU1RTBMSjIlM0FOTCUyMiUyMGlubGluZSUzRCUyMnRydWUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRXdhcm4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyb2NDMFY0Tm9ieGolMkJjOC04YW9QaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0cmlnZ2VyJTIwZ2VzdGFydGV0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19zZXRpbnRlcnZhbCUyMiUyMGlkJTNEJTIyJTdDdzRTMGclM0ZLISFTOF8hMX5hJTQwamslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFSW50ZXJ2YWxsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlRFUlZBTCUyMiUzRTUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VzZWMlM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIydi5YR0FlRTBEJTVCQUwodFduKE4lNUJ0JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWEUlMjMlMkZKTERhRFZqJTVCcmVZJTNEJTI0JTQwcEYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUxUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyaWclNDBsc042clclNDApJTdCX3glN0NJJTJDY2lmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJfJTJDX3ZpVCU0MCU3QmwlMkJrX2UwYiU1RS5HOE4lMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0V6YWVobGVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlMkJCJTJGJTNCWEd0MDF5d1d4TSUzRCEhQSUzRE8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2NoYW5nZSUyMiUyMGlkJTNEJTIyUlYzUlklM0JZVGxKN1FKaCU1REZNVW5QJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJfJTJDX3ZpVCU0MCU3QmwlMkJrX2UwYiU1RS5HOE4lMjIlMjB2YXJpYWJsZXR5cGUlM0QlMjIlMjIlM0V6YWVobGVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxUQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycSpNWFYlMkJBRkd0OEI0ajElN0NWRXhOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMnVoLUtnOWdUbSU1RSU2MFN0V3lMJTJDbGQlM0ElMjIlMjBpbmxpbmUlM0QlMjJ0cnVlJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0V3YXJuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjh0MyU1RW4lM0JlJTJDWCUyNS5fckFuLVpqa2QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFdHJpZ2dlciUyMGdlc3RhcnRldCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTdEKipLeSUyQ1QoJTNBeiUyRlV1ZUd4YVF3ayUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyXyUyQ192aVQlNDAlN0JsJTJCa19lMGIlNUUuRzhOJTIyJTIwdmFyaWFibGV0eXBlJTNEJTIyJTIyJTNFemFlaGxlciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZWxlZ3JhbSUyMiUyMGlkJTNEJTIydi5ZQSU1RVpzRyUyRnpFTll1TEIlMkN1dTYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJJTlNUQU5DRSUyMiUzRS4wJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJMT0clMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNJTEVOVCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlBBUlNFTU9ERSUyMiUzRWRlZmF1bHQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk1FU1NBR0UlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTQwbmVROWJhJTI1ayUyRiU1RTcxNFdPU2YpVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcmludGVydmFsJTIyJTIwaWQlM0QlMjJobGdKZ0NqTC1Hbk8lN0JoYiUzRiUzQSUzRjVFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRUludGVydmFsbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=