@paul: ich poste mal den aktuellen Stand, macht inzwischen denke ich wieder Sinn:
Eigentlich ist es nur ein "normaler Timeout-Block" der es ermöglicht einen funktionsaufruf zu verzoegern und dabei einen "dynamische" Bezeichnung hat, sodass das auch mit einem SelectorById-Trigger individuell in Blockly funktioniert.
Es funktioniert nun auch mit dem "Multi-Timeout"... 

die drei functions - wie bekomme ich die erste davon ganz weg...?
// Beschreibe diese Funktion …
async function timeout_handles_obj() {
    var timeout_handles = {};
    /*
    // timeout_handles auslesen aus dp, falls er nicht existiert, dann erstellen:
    a = scriptName.split('.');
    script_name = a.slice(-1)[0]; // Skriptname erfasst
    dp = "0_userdata.0.System.Timeouts.in_Skript_" + script_name; // wo die Timeouts gebackupt werden
    if ( !existsState(dp) ) {
        createState(dp, timeout_handles, {
           "name": "Timeout-Handles des Skripts",
           "desc": "Manuell erzeugt",
           "role": "state",
           "type": "object",
           "read": true,
           "write": true
        }, function () {});
    }
    else {
        timeout_handles = getState(dp).val; // Timeout reinladen aus dp
    }
    console.log(getState(dp).val);
    */
    return timeout_handles;
}
// Beschreibe diese Funktion …
async function timeout_loeschen(trigger) {
    a = trigger.split('.');
    b = a.slice(a.length - 2, a.length - 0);
    trigger_id = b.join('_'); // trigger_id = "trigger" gekürzt
    if( trigger_id in timeout_handles )
        {
    clearTimeout(timeout_handles[trigger_id]);
    delete timeout_handles[trigger_id];
        }
}
// Beschreibe diese Funktion …
async function timeout_setzen(trigger, sek, funktion) {
    var obj = {};
    //Name für den Timeout des Triggers erfassen:
    a = trigger.split('.');
    b = a.slice(a.length - 2, a.length - 0);
    trigger_id = b.join('_'); // trigger_id = "trigger" gekürzt
    verzoegerung_ms =  sek * 1000; // umrechnen
    obj[funktion] = funktion; // function in object zuordnen
    //Timeout setzen
    timeout_handles[trigger_id] = setTimeout(eval(obj[funktion]), verzoegerung_ms, trigger);
/*
    // Skriptname erfassung und Timeouts backupen in DP:
    a = scriptName.split('.');
    script_name = a.slice(-1)[0];
    dp= "0_userdata.0.System.Timeouts.in_Skript_" + script_name;
    setState(dp, timeout_handles, true); // handles in dp backupen;
*/
}