NEWS
Alexa Routinen aktivieren und deaktivieren
-
@jan1
OkidokiIch werde mir dann beides mal anschauen, wenn du deine Erklärung gegeben hast. An der Stelle schonmal vielen dank bis hier her...
-
@haselchen
Das ist eben alles sehr einfach damit, da man den Kalender auch bequem vom Handy aus bedienen kann und somit Einfluss auf Scripte im IOBroker, ohne den überhaupt anfassen zu müssen. Die meisten Leute tragen da alles mögliche ein, somit hast das nach Wunsch auch gleich als Steuermögichkeit im IOBroket und dazu noch sehr einfach. Also ein Traum für jeden Einsteiger, der ein Kalender bedienen kann, aber kein Plan vom IOBroker hat -
Musste nur eben lachen, weil du in anderen Threads die iCal Geschichte auch schon angesprochen hattest
Ich warte auch mal bis Du am PC bist und lausche Deinen Ausführungen..... -
@haselchen
Das hier ist die gewünschte direkte Fortführung des anderen Threads, somit selbes Thema -
@ahnungsbefreit
Vielleicht ist es an der Stelle schon zu früh für ein Veto, hab mal bisschen rein geblocklyt
Aber wenn ich das richtig verstanden habe: Also die Routine kann ich über den Datenpunkt eigentlich nur starten oder es wird angezeigt, dass die Routine halt nicht läuft. Wenn ich diesen Datenpunkt nehme und in den Blockly einbaue, kann ich doch nur sagen, dass die Routine zu einer bestimmten Bedingung ausgeführt wird, allerdings nicht, dass sich "nicht" aussgeführt werden soll, oder bin ich da auf dem Holzweg?
Auf den ersten Blick sehe ich über Blockly nur die Möglichkeit, dass ich all das was ich "eigentlich" in der Alexa-Routine steuere, über Blockly steuern kann. Unterm Strich - Ich lösche die Routine in Alexa und bau die Routine im ioBroker selber? -
@iced112
Dann wollen wir mal anfangen
Also als erstes mal mein Wecker Script, das Deinem von der Funktion recht ähnlich ist, allerdings eben als Blockly Script in IOBroker und nicht als Routine in Alexa. Warum in IOBroker und nicht direkt in Alexa, weil ich das einfacher finde und schneller umgebaut habe als ne Routine in Alexa, wo man alles erst mal in etlichen unter Gruppen zusammen zu suchen:
Da siehst auch schon in der Falls oben einige Bedingungen die zum größten Teil aus aus dem Kalender stammen, den ich mit iCal abfrage.
Der Trigger hier ist ein Cron und macht folgendes:
Das wird aber nur ausgeführt, wenn die Bedingungen in der FALLS erfüllt sind und schon habe ich ein recht smarten Wecker, der nur los legt, wenn ich Frühdienst habe es kein freier Tag, WE oder Urlaub ist, ohne dass ich manuell noch eingreifen muss.
Dazu brauchst natürlich ein iCal Kalender den man sehr einfach bei Google einrichten kann. Meiner sieht so aus:
Da siehst auch gleich die Stichwörter die im Script mit auftauchen (für Feiertage habe ich noch zusätzlich den Feiertag Adapter, weil für Google das nie so ganz gestimmt hat, was hier in fertigen Kalendern für die einzelnen Bundesländer eingetragen war).
Das ganze wird dann eben sehr einfach mit dem iCAL in den IOBroker geholt und sieht bei mir so aus:
Hier siehst auch gleich, dass ich zwei Kalender abfrage, Schichtplan und Urlaub. Ob Du alle Termine in einen einträgst oder mehrere Kalender dafür anlegst ist Dir und Deiner Ordnung überlassen.
Nun werden die Kalender im Adapter einfach noch nach gewünschten Stichworten durchsucht:
Die dann als DP zur weiteren Verfügung im IOBroker angelegt werden:
Das ist schon im groben der ganze Zauber wie man das machen kann und wenn Du manuell für VIS noch ein Schalter haben willst um den Wecker an und aus zu schalten, generierst Dir einfach ein DP den Du in VIS einbindest und mit in die FALLS als UND Bedienung packst.
Dürfte nun viel Stoff für den Anfang sein, aber eine super Möglichkeit und eigentlich recht einfach mit Blockly Scripten warm zu werden. Also nur Mut und einfach mal anfangen.Welche Links man im Googel Adapter braucht um sie in den Adapter einzufügen steht auch in der Adapter Doku, aber hier mal kurz wo die sind:
Hinter jedem Kalender gibts die Punkte (Menü), dort "Einstellungen und Freigabe" dann fast ganz unten der Link bei "Privatadresse im iCal-Format"Viel Spaß beim Basteln
-
@jan1
Puh!!! Ok, das Prinzip ist verstanden. Finde deine Variante in sofern super, da sich alles halt anhand des Kalender automatisch regelt. Das hat halt zur Folge, dass eben auch der Kalender konsequent geführt werden muss. Ein Google Kalender besteht zwar, aber für meinen Fall würde ich ja dann quasi anfangen, Termine zu pflegen die ich vorher nicht eingetragen habe (Urlaub oder andere Bedingungen, die dazu beitragen sollen, dass die Routine morgen früh nicht auslösen soll)
Was meinen täglichen Gewöhungsapparat betrifft, und ich denke das macht für jeden sein Smart-Home ja so individuell, wäre eine Widget in meiner VIS, bei dem ich die Routine einfach deaktivere, wenn sie morgen früh nicht ablaufen soll, das einfachste, da meist ein letzter Blick vor dem Schlafengehen auf ein Tablet im Wohnzimmer erfolgt, ob alles aus ist. So schaut zumindest mein "Konzept" ausAaaber, nochmal: deine Automation finde ich toll. Macht ja auch Sinn, wenn man Schichtdienst arbeitet und dafür ohnehin einen Kalender pflegt
-
@iced112
Der Kalender pflegt sich ja automatisch, da sich in meinem Fall der Schichtplan nicht ändert und man den einträgt und dann eben die wiederholen Funktion nutzt, so wird der auf Jahre im voraus schon eingetragen. Dasselbe gilt für die Wochenenden, einmal eintragen und ein Leben lang Ruhe. Die Feiertage macht der Feiertag Adapter, also auch ne einmalige Geschichte. Somit trage ich lediglich mein Urlaub ein, mehr nicht.
Ich hatte da auch schon die Möglichkeit mit eingebaut, dass ich die Uhrzeit über Alexa für den Wecker per Sprachbefehl eingebe. Hat aber nicht z 100% funktioniert. Somit bin ich bei der Funktion Wecker an oder aus geblieben und muss mir nie Gedanken machen, ob der nun a ist oder nicht. Der weiß ja wann er an sein soll. Wenn ich mal krank sein sollte, schalte ich den per Sprachbefehl einfach ausDein Wunsch mit VIS, hatte ich berücksichtigt und das löst über einen manuell erstellten DP den Du in VIS visualisieren und schalten kannst. Der DP dient dann wie bei mir der Kalender lediglich der FALLs Freigabe des Wecker.
Also die iCAL Geschichte ist nur ein Beispiel wie man es machen könnte und ist für die Routine kein muss. -
@jan1
Klingt für deinen Fall auch einleuchtend. Ich bin grade dabei, eine Routine selbst zu bauen und frage mich an deinem Beispiel:
Das Blockly "steure MH...." Das er da die Farbe ansteuert hab ich verstanden, aber setzt es auch den "PowerState" von false auf true?
-
@iced112
Ja, bei den Dingern reicht es den RGB Wert anzugeben, da das die Helligkeit ja beinhaltet um die gewünschte Farbe und Helligkeit zu erreichen. Da siehst auch, dass ich die Helligkeit langsam erhöhen, will ja nicht erschreckt sondern geweckt werden -
@jan1 Und eine Verzögerung... bezieht sich die dann auch alle folgenden Blocklys oder gilt die Verzögerung nur auf diesen Block
-
@iced112
Nur auf den Block an dem sie aktiv ist.
Nimm beim Trigger besser ein Cron und kein Zeitplan. Sollte zwar auch laufen, hab damit aber schon seltsame Probleme gehabt. -
@jan1
Den cron müsste ich ja dann für jede Objekt ID verwenden? Oder kann ich denn auch so einsetzen dass ich damit das ganze so schalte wie ich es jetzt im Zeitplan habe? -
Und mit DP meinst du sicher einen Datenpunkt? Mit dem ich stelle ich von True auf false, also Skript starten oder stoppen?
Wo erstelle ich den? -
@iced112
Den Trigger einfach als Cron nicht als Zeitplan.
Eigene DPs sollten unter 0.userdata erstellt werden. Einfach da rein und oben auf das +. Einfach mal machen, dann verstehst das am schnellsten. -
Du meinst so?
-
@iced112
Genau, ist auch übersichtlicher. -
@jan1
Ok,Dann für heute noch eine abschließende Frage:
Warum muss ich ein DP erstellen? Ich kann das Skript ja starten oder stoppen, das könnte ich doch auch in der VIS verwenden um den "Wecker zu aktivieren oder deaktivieren oder nicht?
-
@iced112
Geht auch, was ich auch mit bei ein paar Scripten so mache. Aber das wird hier nicht so gerne gesehen und ist zwar möglich aber so schlicht nicht vorgesehen.
In dem Fall fungiert das Script aber als Wecker und da bin ich auch bei Dir, den schaltet man auch ein oder aus.
Kannst also so machen, wird wahrscheinlich noch einer was dazu schreiben, aber im Prinzip geht das.Der korrekte und gewünschte Weg geht eben über ein DP .
-
Dann muss ich noch die Frage hinterher schießen und zwar wie ich zwischen dem DP und dem Skript eine Verbindung herstellen kann?
Den DP hab ich erstellt, als Schalter, aber ich verstehe irgendwie nicht wie ich damit den Wecker ein und ausschalten kann. Sorry für die Sau doofen Fragen ️