NEWS
Timeout Stoppen bzw retriggern
-
Hi Leutz
Ich bin momentam an der Beleuchtung beim Garagentorbetrieb. Ihr kennt sicher alle das Video vom Garagentor mit verschiedenen LED-Sequenzen.
Jetzt hab ich mir gedacht, wenn die LED-Leiste schon mal da ist, kann ich sie auch als Außenbeleuchtung nutzen. Also habe ich einen Datenpunkt erstellt, der true und false zurück gibt. Hiermit kann ich die LED an und ausschalten. Zudem habe ich die LED über den Astrotrigger eingeschaltet und mit einer festen Uhrzeit wieder ausgeschaltet.
Die LED-Leiste geht beim einschalten komplett an und nach einer festeingestellten Zeit (5 sek.) habe ich nur noch weiße Spots. Funktioniert gut und mir gefällt es.
Jetzt zu meinem Problem:
Die LED's sollen bei Handeinschaltung (wie oben beschrieben) nach einer festen Zeit (30 min.) wieder ausgehen. Das habe ich mit einem Timeout realisiert und funktioniert auch.
Wenn ich jetzt aber die Sequenz während die Spots noch leuchten erneut anschalten möchte ( Beginn mit der kompletten weißen LED-Leiste) funktioniert dies ja nicht, da der Datenpunkt für die Laufzeit des Timeout noch true ist. Also habe ich keinen wechsel des Signals. Wenn ich den Datenpunkt vorzeitig auf false setze, funktioniert meine Ausschaltung während der Laufzeit nicht.
Hat einer von euch eine Idee? Mit aus- und wieder einschalten funktioniert es ja, ich möchte aber so eine Art retrigger. Allerdings reicht es da nicht aus den Timeout zu bearbeiten. Die LED-Sequenz soll ja schließlich von vorne starten.LG aus dem Sauerland
Jörg
-
Magst mal dein Skript her zeigen, vorzugsweise mit Code
-
Falls du mit setTimeout gearbeitet hast, kannst du die Funktion mit clearTimeout wieder zurücksetzen.
-
Hi Leutz
Ich habe es in Blockly programmiert. Weiß aber gerade nicht, wie ich Blockly hochladen soll. Hier einmal mein Skript als Code:
var LED_Garage_Hand; on({id: "0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand"/*LED Garage Hand*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand").val == true) { setState("wled.0.bcff4d5f8121.ps"/*ID of currently set preset*/, 2); setStateDelayed("wled.0.bcff4d5f8121.ps"/*ID of currently set preset*/, 1, 5000, false); LED_Garage_Hand = setTimeout(async function () { setState("wled.0.bcff4d5f8121.on"/*On / Off*/, (!true)); setState("0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand"/*LED Garage Hand*/, (!true)); }, 1800000); } else if (getState("0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand").val == !true) { (function () {if (LED_Garage_Hand) {clearTimeout(LED_Garage_Hand); LED_Garage_Hand = null;}})(); setState("wled.0.bcff4d5f8121.on"/*On / Off*/, (!true)); } }); getState("0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand").val; //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJMRUQlMjBHYXJhZ2UlMjBIYW5kJTIyJTNFTEVEJTIwR2FyYWdlJTIwSGFuZCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMlUybSUyNVNXJTNGJTI1ZCU2MDdfMnpISy1zMnUlMjIlMjB4JTNEJTIyLTY2MiUyMiUyMHklM0QlMjItNDEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkRhdGVucHVua3RlLkxFRF9HYXJhZ2UuTEVEX0dhcmFnZV9IYW5kJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNDAlM0QlN0QlMkZ1aiUzREFzdmUlN0QlN0JsSi5DSyp1JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlaWYlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJGJTJGd1I4SC1GY0R3JTVCZCUyNG5LWDZLaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiU3QkglM0YlNUIlNUUlMjREJTIzdlVSRmNLUENTdnglNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuRGF0ZW5wdW5rdGUuTEVEX0dhcmFnZS5MRURfR2FyYWdlX0hhbmQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIydmtjaCU1QnFOJTdCODVZUXJUeFBfNXZJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMlVsciUzQiU1RH4lNUJxWHlGbjJNYnklN0RrLU0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0V3bGVkLjAuYmNmZjRkNWY4MTIxLnBzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUzRGpUenJSMihjYipvJTIzJTdDJTdCTE9yTFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMkQ0JTVESUslM0ZSJTNEUC1GJTI1JTdEOTNvdF9VJTdDJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0V3bGVkLjAuYmNmZjRkNWY4MTIxLnBzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0U1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlRxNSUyQjdwJTNELU8wdSU2MFlqJTNBViU1RSolNjAlNUUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMiUzQk9vcS1vdEEzTSUzRE0lMkNuUiUyQ1hnJTJGNyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0VMRUQlMjBHYXJhZ2UlMjBIYW5kJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTMwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbWluJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTQwWUxtYX50YlZYKDBDJTJDdkhaJTVFUUwlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0V3bGVkLjAuYmNmZjRkNWY4MTIxLm9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbmVnYXRlJTIyJTIwaWQlM0QlMjJoWEVISTBIRlJtJTJCT0tVcTlxUyUyNWwlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCT09MJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTI0VzYqeElDVUJlLSU2MEYlM0ZVcF8lNDBlbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlMjNYUWJ3YnlIOUMtaWYlNDAlN0JFLUclMkY4JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkRhdGVucHVua3RlLkxFRF9HYXJhZ2UuTEVEX0dhcmFnZV9IYW5kJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbmVnYXRlJTIyJTIwaWQlM0QlMjJOJTIzdCFCNjhjcVFZWHUlNURqQm9ZJTJDMiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJoJTdCJTI1eSU1RSU3QnAlMkYtU1dwJTVCbiU1RWVxb2ExJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMnFuc3RSTFNLOXMlMkN5YiUzQnE1biUyNCU3RE8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJqd3pKMiUyNHRWVi5MWV96dWl1cUt3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkRhdGVucHVua3RlLkxFRF9HYXJhZ2UuTEVEX0dhcmFnZV9IYW5kJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX25lZ2F0ZSUyMiUyMGlkJTNEJTIyQ2tzJTNEVk5JRDBhN0NOWmhSazclNjBKJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMn4lMjMpJTI1ViU3QkpmJTNCZUhTQ2EhSFElNjAlM0Y0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMlhvaSUyNTVqUVlHZWNvTzRpKWQtekYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFTEVEJTIwR2FyYWdlJTIwSGFuZCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMnV5bip6c0VZaXBVc21uJTdDJTVEISUzQXAlNjAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0V3bGVkLjAuYmNmZjRkNWY4MTIxLm9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbmVnYXRlJTIyJTIwaWQlM0QlMjJFNXhEJTI1ViU1RCU3RGZZSjFhJTJDXyUzRjhiUjklMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCT09MJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTdCJTNGSXdVJTIzVG5tJTVCbi0lN0MlM0Q5dypmJTVEdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTdDTCUyQkpmUSklNjBiZFRvSWV0eWIlMkJSJTI1JTIyJTIweCUzRCUyMi01MDAlMjIlMjB5JTNEJTIyLTIwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkRhdGVucHVua3RlLkxFRF9HYXJhZ2UuTEVEX0dhcmFnZV9IYW5kJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
LG aus dem Sauerland
Jörg
-
Die 60 min. verzögerung stehen nur drin, da ich dann weiter probieren kann. Die Verzögerungszeit schiebe ich einfach weiter nach hinten und Sunset funktioniert auch nachher noch. Normaler weise steht dort eine Null.
LG aus dem Sauerland
Jörg
-
@meinzisas ok. Mir fehlt allerdings die Bedinging. Die Varible steht ja auf true. Wenn ich jetzt noch einmal auf true schalte, habe ich ja keinen wechsel. Geht da evtl. etwas mit "aktualisiere"?
LG aus dem Sauerland
Jörg
-
Im Blockly oben ist ein Symbol (ein B latt mit einem Pfeil der vom Blatt runter zeigt) kannst du das Blockly Skript exportieren. Das währe wesentlich hilfreicher, um erstmal genau zu verstehen was du vor hast, und wie du es bisher gebaut hast.
-
Wie startest Du die Sequenz? In diesem Script ist ja nur die Handfunktion. Ich würde mal versuchen, die beiden in einem Script zu vereinen. Dann könntest Du mit dem Trigger für die Sequenz auch die Timeoutfunktion wieder zurücksetzen. Oder Du setzt Deinen Datenpunkt für Hand Ein mit dem Trigger der Sequenz wieder zurück.
-
Hallo
Den Export kenne ich. Allerdings ist es kein Blockly sondern der Skripttext. Ih hatte gedacht es ist das gleiche wie mein Post oben. Also hier noch einmal als Export. Ich habe mir im Telegram ein paar Buttons gebaut. Hiermit kann ich den Datenpunkt auf true oder false setzen. Das meine ich mit Handfunktion. Hiermit kann ich per Knopfdruck die LED's ein- oder ausschalten.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="LED Garage Hand">LED Garage Hand</variable> </variables> <block type="on" id="U2m%SW?%d`7_2zHK-s2u" x="-662" y="-412"> <field name="OID">0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="@=}/uj=Asve}{lJ.CK*u"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="F/wR8H-FcDw[d$nKX6Kh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="{H?[^$D#vURFcKPCSvx`"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand</field> </block> </value> <value name="B"> <block type="logic_boolean" id="vkch[qN{85YQrTxP_5vI"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Ulr;]~[qXyFn2Mby}k-M"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.bcff4d5f8121.ps</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="=jTzrR2(cb*o#|{LOrLP"> <field name="NUM">2</field> </block> </value> <next> <block type="control" id="D4]IK?R=P-F%}93ot_U|"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">wled.0.bcff4d5f8121.ps</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="Tq5+7p=-O0u`Yj:V^*`^"> <field name="NUM">1</field> </block> </value> <next> <block type="timeouts_settimeout" id=";Ooq-otA3M=M,nR,Xg/7"> <field name="NAME">LED Garage Hand</field> <field name="DELAY">30</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="@YLma~tbVX(0C,vHZ^QL"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.bcff4d5f8121.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_negate" id="hXEHI0HFRm+OKUq9qS%l"> <value name="BOOL"> <block type="logic_boolean" id="$W6*xICUBe-`F?Up_@el"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <next> <block type="control" id="#XQbwbyH9C-if@{E-G/8"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_negate" id="N#t!B68cqQYXu]jBoY,2"> <value name="BOOL"> <block type="logic_boolean" id="h{%y^{p/-SWp[n^eqoa1"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="qnstRLSK9s,yb;q5n$}O"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="jwzJ2$tVV.LY_zuiuqKw"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.LED_Garage.LED_Garage_Hand</field> </block> </value> <value name="B"> <block type="logic_negate" id="Cks=VNID0a7CNZhRk7`J"> <value name="BOOL"> <block type="logic_boolean" id="~#)%V{Jf;eHSCa!HQ`?4"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_cleartimeout" id="Xoi%5jQYGecoO4i)d-zF"> <field name="NAME">LED Garage Hand</field> <next> <block type="control" id="uyn*zsEYipUsmn|]!:p`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">wled.0.bcff4d5f8121.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_negate" id="E5xD%V]}fYJ1a,_?8bR9"> <value name="BOOL"> <block type="logic_boolean" id="{?IwU#Tnm[n-|=9w*f]v"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>
Ziel ist es, mit der Änderung auf true die LED-Leiste mit preset 2 (alle LED's an) und nach 5 Sekunden mit preset 1 (LED's als Spot) zu schalten. Nach 30 Minuten sollen sie wieder aus gehen. Sollte während dieser Zeit ein false kommen, sollen sie sofort ausgehen. Funktioniert auch soweit. Allerdings fehlt mir die Idee zum "retriggern". Ich könnte die LED's mit false ausschalten und mit true von vorne starten. Sollte aber auch anders gehen. Als zusätzlichen Nebeneffekt schalten die LED's nach 30 Minuten aus, wenn sie über den sunset eingeschaltet werden. Das sollte so auch nict sein. Deshalb ist die Idee mit dem Zusammenführen beider Skipte gar nicht so schlecht. Die Idee zwei Skripte zu erstellen um diesesauber zu trennen.
LG aus dem Sauerland
Jörg
-