NEWS

[Gelöst] Frage zum Befehl "setState" in einem WeckerScript


  • Hallo zusammen,

    in einem WeckerScript von mir zerlege ich die 'Weckzeit, 06:30, string' mit dem Befehl:
    > WKZeit = getState(instanz + pfad0 + 'WeckZeit').val.split(':');

    jetzt möchte ich mit
    ` > setState(instanz + pfad0 + 'Weckzeit_Stunden', WKZeit[0]);

    setState(instanz + pfad0 + 'Weckzeit_Minuten', WKZeit[1]); `

    die Stunden, Minuten setzen - dies funktioniert leider nicht… Könnte mir bitte jemand auf die Sprünge helfen? 😉

    Danke, Gruß

    Marcus

  • Developer

    Sieht auf den ersten Blick gut aus. Steht irgendwas fehlermäßiges im Log?


  • nur diese beiden Hinweise….

    ` > 17:31:31.961 [warn] javascript.0 at script.js.Skripte.Wecker_02:48:1

    17:31:31.961 [warn] javascript.0 at script.js.Skripte.Wecker_02:49:1 `

    Kann leider nichts damit anfangen.


  • Schau mal direkt auf dem Reiter "Log", da es dort evtl. weitere Warnungen gibt, z.B. dann, wenn die beiden Datenpunkte nicht existieren.


  • @paul53:

    Schau mal direkt auf dem Reiter "Log", da es dort evtl. weitere Warnungen gibt, z.B. dann, wenn die beiden Datenpunkte nicht existieren. `

    Danke euch zusammen… 😉

    ER mault, wenn man am 'Scriptanfang' die Datenpunkte schon erstellt, obwohl die dann beim zweiten Start des Scripts schon vorhanden sind...

    Habe es so gelöst:

    ! ````
    WKZeit = getState(instanz + pfad0 + 'WeckZeit').val.split(':');
    if(logging) log('Wecker wurde auf '+WKZeit[0]+':'+WKZeit[1]+' Uhr gestellt');
    createState(instanz + pfad0 + 'Weckzeit_Stunden', {def: WKZeit[0] ,type: 'string',name: 'Weckzeit_Stunden'}); // Weckzeit in Stunden
    createState(instanz + pfad0 + 'Weckzeit_Minuten', {def: WKZeit[1] ,type: 'string',name: 'Weckzeit_Stunden'}); // Weckzeit in Minuten
    timer = schedule(WKZeit[1] + ' ' + WKZeit[0] + ' * * *', WeckerEin);
    on({id: instanz + pfad0 + 'WeckZeit'}, function(dp) { // Trigern bei Änderung
    WKZeit = dp.state.val.split(':');
    clearSchedule(timer); // altes Schedule löschen
    timer = schedule(WKZeit[1] + ' ' + WKZeit[0] + ' * * *', WeckerEin);
    setState(instanz + pfad0 + 'Weckzeit_Stunden', WKZeit[0]); // Weckzeit_Stunden aktualisieren
    setState(instanz + pfad0 + 'Weckzeit_Minuten', WKZeit[1]); // Weckzeit_Minuten aktualisieren
    if(logging) log('Wecker wurde auf '+WKZeit[0]+':'+WKZeit[1]+' Uhr neu gestellt');
    });

    
    8-) …ein Buch mit vielen :?: :?: :?:
    
    Gruß
    
    Marcus

Suggested Topics

1.5k
Online

38.3k
Users

43.8k
Topics

611.8k
Posts