NEWS
Idee gesucht: Alexa Timer Restlaufzeit
-
Mit Summary jeden Befehl lesen und eine parsing Routine triggern. In dieser Routine ermitteln, ob es ein Timerbefehl war und die entsprechende Zeit auslesen. Dann in ioBroker einen eigenen, entsprechenden Timer programmieren, den man dann auch anzeigen kann.
Etwas aufwändig, aber relativ einfach machbar. Genauigkeit +- 5 Sek. Sollte für die meisten Anwendungen genügen.
-
@acramatic ich habe den vorschag von @Marty56 über nodered realisiert - es gibt eigentlich nur einen aufwand - man muss z.b einen "5 minuten" timer übersetzen - alexa übersetzt das mit "fünf minuten" und bei mir funktioniert es nur mit einem timer - ein zweiter timer stört mein system
ist aber gut zu haben - stellt man beim kochen einen timer von 10 minuten, sieht man auf einem matrix display im wohnzimmer den timer herunterlaufen
schaut so aus: etwas wirr aber löscht man den timer, soll er ja auch vom display verschwinden (und es war mein erster nodered versuch)
hatte schon überlegt, das ganze als blockly zu machen und für mehrere timer
@Marty56 weißt du ob es etwas gibt, mit dem man ausgeschriebene zahlen in einen integer wandelt - ich habe es über eine tabelle gelöst, -> kann als nur timer stellen, die ich in tabelle übersetzt habe
-
@liv-in-sky
Nein, weiß ich nicht.
Aber mit Javascript direkt wäre das ziemlich einfach, das zu programmieren. -
Vielen Dank für die Tipps,
ich kenne mich leider nicht mit nodered und javascript aus. Ich komme ganz gut mit Blockly klar. Ich habe das hier auf Github gefunden:
Sobald mit Alexa ein Timer gestartet wird, wäre es klasse, wenn in dem Moment ein Objekt mit der verbleibenden Zeit gesetzt wird. Ich habe das wie folgt in der main.js gelöst (nach der bereits vorhandenen debug-Ausgabe in Zeile 1766): adapter.log.debug(noti.type + ' ' + noti.id + ' triggered in ' + Math.floor(noti.remainingTime / 1000) + 's'); setOrUpdateObject(devId + '.Timer.lastTimerRemainingTime', {common: {type: 'integer', role: 'state', name: 'Remaining time of last timer'}}, Math.floor(noti.remainingTime / 1000), noti.set); Funktioniert für mich wunderbar. Vielleicht findet ihr die Idee gut und wir könnten sie professionell für alle umsetzen.
Ich möchte das gerne ausprobieren, dann hat man einen Datenpunkt mit der Restlaufzeit des Timers. Ich finde aber die richtige Stelle in der main.js zum einfügen nicht.
-
@acramatic
es steht da, dass es in Zeile 1766 eingefügt werden soll. -
hat jmd lust zu testen ? ist erstmal eine erste version - mal sehen ob ich morgen noch mehr machen kann (benötigt alexa2 v2 adapter neue version)
versuch mit blockly gemacht - es werden drei datenpunkte angelegt -diese mal beobachten, wenn ihr einen timer in alexa stellt
- javascript.0.ALEXATimer.Minuten
- javascript.0.ALEXATimer.Sekunden
- javascript.0.ALEXATimer.Finished
einschränkungen:
- funktioniert nur mit einem timer im alexasystem- ein zweiter timer stört das system (wird noch überarbeitet)
- es können nur folgende zeiten angegebene werden 1 bis 20 danach in fünfer-schritten bis 60 (25,30,35,...) in minuten
- die sekunden zählen in 5er schritten runter - aber erst wenn weniger als eine minute insgesamt ist !
befehl muss so ausgesprochen werden:
- "alexa timer x minuten" (ausnahme: alexa timer eine minute)
- "alexa lösche timer" (oder alexatimer läuft einfach ab und endet bei 0)
-
@liv-in-sky
Top! Probiere ich morgen gleich aus. -
Ich hab es mal getestet aber funktioniert nicht. Finished wird von true auf false geschaltet aber Minuten bleiben auf Null. Sekunden zählt er am Ende also die letzte Minute in fünfer Schritten runter das geht.
-
@andiko2 versuch mal den datenpunkt minuten direkt im objekt-tab des admin zu ändern - ohne alexa befehle
kannst du in diesen datenpunkt etwas schreiben ?
-
@andiko2 wenn du noch etwas warten kannst. es kommt bald eine andere version
-
ja ich warte gern. Wenn ich bei Minuten eine 5 eintrage, springt er sofort wieder auf 0.
-
Bei mir bleibt der Datenpunkt alexa2.1.History.summary leer?
-
@andiko2 den fehler hatte ich gestern auch - bitte etwas geduld - geht gleich weiter
-
das hatte ich auch einmal beim testen. Habe den Befehl an Alexa gesprochen der Timer lief auch an aber der Datenpunkt summary blieb leer.
-
@andiko2 @acramatic wenn der datenpunkt leer bleibt aber das scriptläuft an ist ja alles gut ?
ich habe alexa 2.4.4 version - was habt ihr
-
Ich habe auch Alexa 2.4.4
-
@liv-in-sky ich weiß nicht ob das Script angelaufen ist. Habe weil da nichts drinnen stand den Timer gelöscht und neu gestartet. Dann war da auch der Befehl wieder zu lesen.
-
ich mach jetzt mal die neue version fertig - dann testen wir alle wieder auf einem stand - bis gleich
-
ok danke und gutes gelingen.
-
ich habe auch Alexa 2.4.4, ich warte auch gespannt...