NEWS
Script zum Ausschalten, wie sag ich es bloß Alexa
-
Hallo in die Runde,
da mein Dot aus UK nun auch da ist kann ich jetzt hier mit mischen :lol:
Ja und gleich das erste WAF Problem.
Ich habe eine Dreambox und die möchte ich ja nun gern über die nette Dame steuern.
Klappt ja auch über Script super.
Ein Script Einschalten, das andere ausschalten. Und da ist auch das Problem.
Alexa, schalte Sky aus bzw. schalte Sky ein. Nun ist es ja so das aus und ein als Schlüsselworte dienen.
Kann sie also nicht mit Sky verwenden. Da fragt Alexa nach, weil sie ja 2 Sky Geräte findet.
Das Schlüsselwort "schalte" kann ich auch nicht weg lassen. Dann müsste ich ja sagen, "Alexa, Sky aus ein" um das
Script Sky aus auszuführen. Stehe jetzt ein bisschen auf dem Schlauch.
Wie könnte ich das Problem lösen?
Noch eine andere Frage. Ich kann ja Alexa eine Zahl mit geben, ala Sky Volume 50%.
Kann ich diese 50% irgendwie abgreifen und an ein Script übergeben?
Gruß Andreas
-
Hallo in die Runde,
da mein Dot aus UK nun auch da ist kann ich jetzt hier mit mischen [emoji38]
Ja und gleich das erste WAF Problem.
Ich habe eine Dreambox und die möchte ich ja nun gern über die nette Dame steuern.
Klappt ja auch über Script super.
Ein Script Einschalten, das andere ausschalten. Und da ist auch das Problem.
Alexa, schalte Sky aus bzw. schalte Sky ein. Nun ist es ja so das aus und ein als Schlüsselworte dienen.
Kann sie also nicht mit Sky verwenden. Da fragt Alexa nach, weil sie ja 2 Sky Geräte findet.
Das Schlüsselwort "schalte" kann ich auch nicht weg lassen. Dann müsste ich ja sagen, "Alexa, Sky aus ein" um das
Script Sky aus auszuführen. Stehe jetzt ein bisschen auf dem Schlauch.
Wie könnte ich das Problem lösen?
Noch eine andere Frage. Ich kann ja Alexa eine Zahl mit geben, ala Sky Volume 50%.
Kann ich diese 50% irgendwie abgreifen und an ein Script übergeben?
Gruß Andreas `
Ich habe ein neues Objekt erzeugt vom Typ Gerät mit einem Datenpunkt vom Typ Logikwert. Diesen Datenpunkt habe ich manuell zum Cloud Adapter hinzugefügt und den Namen Sky vergeben. Wenn du nun "Alexa, schalte Sky ein" sagst, wird dieser DP auf true gesetzt, bei "Alexa, schalte Sky aus" entsprechend auf false. In einem Skript reagiere ich nun auf die Aktualisierung dieses DP und schalte dementsprechend das Gerät ein oder aus.Gesendet von meinem SM-G920F mit Tapatalk
-
Guten Morgen Zeebo,
das hört sich schon einmal gut an, in diese Richtung werde ich es heute Abend einmal probieren.
Nur eine Sache gefällt mir noch nicht so richtig daran, was ist wenn zwischendurch einmal mit der
Fernbedienung aus geschalten wird. Da stimmt ja der Zustand nicht mehr.
In dem Fall muss ich ja den Alexa Befehl 2 mal senden.
Ich habe gestern noch Versucht mit Blockly request den Status der Box abzufragen.
Die Box sendet bei http://dreambox/web/powerstate eine Seite zurück in der true oder false steht.
Das könnt ich ja Auswerten. Aber ich habe nichts in Blockly in die Aussparung bei Ergebnisse herein bekommen.
Da passt kein Block hinein, ich denke einmal das ich da das Ergebnis des Requestes auswerten könnte.
Gibt es irgendwo eine bebilderte Anleitung über Blockly?
Gruß Andreas
-
Wenn du im on- bzw. subscribe-Trigger auf 'change: "any"' statt 'change: "ne"' (not equal) abfragst, kannst du das jeweilige Script immer triggern, egal was der alte Zustand war, d.h. auch wenn sich der Trigger-Status nicht ändert aber von Alexa aktualisiert wird.
-
Ich habe das mit blockly-script und scene realisiert.
Das Script sieht so aus (für einen vuplus Receiver):
Das blaue (falls -> mache) braucht mit der folgenden Scene gar nicht gemacht werden, kann also weggelassen werden (dient nur als Hosenträger zum Gürtel).Die Scene sieht so aus:
Die Scene wiederum ist im cloud Adapter unter smart Geräte und hört auf "Fernsehgerät".Jetzt führt der Befehl "Alexa, schalte Fernsehgerät an" und "Alexa, schalte Fernsehgerät aus" jeweils zum selben Ergebnis, nämlich:
Script wird gestartet und zwei Sekunden später wieder beendet. Dadurch ändert sich der Zustand des Fernsehgeräts (in Wirklichkeit nur der vuplus Receiver): AN wird AUS oder AUS wird AN.
Warum schalte ich das Script wieder aus? Weil sonst der Script-Adapter sich aufhängt, wenn der vuplus nicht erreichbar ist. Deswegen hatte ich zuerst noch die blaue falls-Abfrage eingebaut. Aber Ausschalten des Scripts nach zwei Sekunden ist noch besser (glaube ich).
-
Kurze Zwischenfrage: Kennt deine Dreambox unterschiedliche Commands für Aus und Ein oder toggled "command=116" den Aus/Ein-Status?
-
Btw., schönes Beispiel von Bluefox: http://forum.iobroker.net/viewtopic.php … 764#p50778
Sollte bei dir urlOn und urlOff identisch sein, kannst du dir die if-Abfrage natürlich sparen und einfach den request schicken.
-
Kurze Zwischenfrage: Kennt deine Dreambox unterschiedliche Commands für Aus und Ein oder toggled "command=116" den Aus/Ein-Status? `
toggled zwischen Aus/Ein -
Btw., schönes Beispiel von Bluefox: http://forum.iobroker.net/viewtopic.php … 764#p50778
Sollte bei dir urlOn und urlOff identisch sein, kannst du dir die if-Abfrage natürlich sparen und einfach den request schicken. `
Danke für die Anregung. Hab das schon mal gelesen den Abschnitt. Muss ich mal testen. -
toggled zwischen Aus/Ein `
Wenn er nur toggled und du auch den aktuellen Status deiner Dreambox nicht abfragen kannst, bleibt dir eh nur die Möglichkeit, dass du immer togglen lässt, unabhängig wie der aktuelle Dreambox-Status ist und unabhängig, ob du Alexa den Befehl zum Ein- oder Ausschalten gibst:var request = require('request'); var url = 'http://192.168.178.9/remotecontrol?command=116'; createState('javascript.0.myStates.alexa.dreambox', { smartName: 'Fernsehgerät', role: 'switch', write: true, read: true, type: 'boolean' }, function () { on({ id: 'javascript.0.myStates.alexa.dreambox', change: 'any', ack: false }, function (obj) { request(url); log('Alexa: Toggle "Fernsehgerät"'); }); });
-
Hallo, danke für die Tips, das Script von Bluefox kannte ich schon.
Und ja, die Dream kennt definierte httprequests für aus und ein. Bei der VU sollte es das gleiche sein, ist ja auch Enigma2
Aus = http://192.168.0.106/web/powerstate?newstate=5 Ein = http://192.168.0.106/web/powerstate?newstate=4 Status =http://192.168.0.106/web/powerstate (gibt false oder true zurück) Toggeln = http://192.168.0.106/remotecontrol?command=116
Da ich ja eigentlich nur ein Script nutzen wollte und das auch in Szenen bin ich mit Toggle nicht so einverstanden.
Bei der Szene Sendeschluss soll er mir alles ausschalten, Heizung, Licht, elektronische Geräte und verzögert Alarmanlage scharf.
Wenn ich da Toggeln würde kann es passieren das die Dream wieder eingeschalten wird.
Deswegen wär mir am liebsten ich hätte eine Variable in die ich den Powerstate reinschreibe.
Die Variable kann ich ja dann in den Szenen explizit setzen.
Hier noch das Enigma2 Wiki
https://dream.reichholf.net/wiki/Enigma … cellaneous
Gruß Andreas
-
Hallo, danke für die Tips, das Script von Bluefox kannte ich schon.
Und ja, die Dream kennt definierte httprequests für aus und ein. Bei der VU sollte es das gleiche sein, ist ja auch Enigma2
Aus = http://192.168.0.106/web/powerstate?newstate=5 Ein = http://192.168.0.106/web/powerstate?newstate=4 Status =http://192.168.0.106/web/powerstate (gibt false oder true zurück) Toggeln = http://192.168.0.106/remotecontrol?command=116
Da ich ja eigentlich nur ein Script nutzen wollte und das auch in Szenen bin ich mit Toggle nicht so einverstanden.
Bei der Szene Sendeschluss soll er mir alles ausschalten, Heizung, Licht, elektronische Geräte und verzögert Alarmanlage scharf.
Wenn ich da Toggeln würde kann es passieren das die Dream wieder eingeschalten wird.
Deswegen wär mir am liebsten ich hätte eine Variable in die ich den Powerstate reinschreibe.
Die Variable kann ich ja dann in den Szenen explizit setzen.
Hier noch das Enigma2 Wiki
https://dream.reichholf.net/wiki/Enigma … cellaneous
Gruß Andreas `
Funktioniert auch an der vuplus. Danke für den Hinweis! -
Hallo allerseits!
Zunächst mal auch von meiner Seite ein fettes Danke an alle, die hier eine Klasse Arbeit leisten - allen voran natürlich Bluefox
Meine Programmierkenntnisse sind leider sehr begrenzt, aber dank dem Forum kann man ja zum Glück auch so allerhand auf die Beine stellen.
Da ich selber etwas gebraucht habe das Ein- und Ausschalten von meiner VU+ zu realisieren hier mal eine Anleitung für alle, die es noch nicht hinbekommen haben:
-
Zunächst muss man unter "Objekte" ein neues Objekt vom Typ Gerät und in diesem Gerät ein neues Objekt vom Typ Datenpunkt anlegen. Achtung: Nur einen Datenpunkt anlegen funktionierte bei mir nicht (daran bin ich zunächst verzweifelt). Mein Datenpunkt habe ich "Fernsehen" genannt
-
Den Datenpunkt habe ich dann wie üblich in Alexa geladen
-
Dann habe ich mit dem Skripteadapter folgendes Blockly-Skript erstellt
Wenn ich nun über Alexa den Datenpunkt aktualisiere, wird das Skript ausgeführt. Je nachdem ob ich den Datenpunkt auf "wahr" schalte (über den "An" Befehl) oder eben auf "fasch" (über den "Aus" Befehl) wird die VU+ an- oder ausgeschaltet. Klappt super und funktioniert grundsätzlich mit allen Geräten die eigene Befehle für "An" und "Aus" haben und nicht nur den Toggle Befehl. Schalte z.B. auch meine Musik über meinen Denon AV-Receiver im Wohnzimmer oder in der Küche an und aus
Eine extra Szene braucht man also gar nicht, geht alles über ein einziges Skript!
Kleiner Tipp am Rande: Da die VU+ HDMI CEC unterstützt stellt sie mir automatisch auch meinen AV-Receiver und meinen Samsung TV mit an. Den Samsung TV kann man ja leider über einen Netzwerkbefehl nicht aus dem Standby holen, über HDMI CEC funktioniert das aber astrein. Habe auch Befehle für die einzelnen Sender hinterlegt und somit wird die Fernbedienung nicht mehr benötigt
So, hoffe ich konnte damit auch mal jemandem helfen.
Grüße
-
-
Moin allerseits,
Dburner, ist Toll dein Blockly, genau so habe ich es mir vorgestellt.
Allerdings würde ich die Variable Fernsehen gerne durch den powerstate der Box vorher füllen lassen,
der gibt ja True oder False zurück.
Es geht alles gut bis zu dem Moment wo dann doch einmal jemand die Box mit der Fernbedienung
ein oder aus schaltet. Denn dann stimmt ja deine Variable nicht mehr. Dann musst du explizit noch
einmal mit der FB schalten das es wieder stimmt.
Gruß Andreas
-
Moin Andreas,
das ist so nicht richtig, es funktioniert auch, wenn du zwischendurch die Fernbedienung zur Hand nimmst! Je nachdem ob du Alexa "Schalte an" oder "Schalte aus" sagst, wird entsprechend meines Skripts ja "an" oder "aus" geschaltet. D.h. unabhängig davon ob die VU+ an oder aus ist. Gibt also folgende Szenarien:
-
VU+ ist aus –> Befehl "an" wird gesendet --> Vu+ geht an
-
VU+ ist aus --> Befehl "aus" wird gesendet --> nichts passiert, da bereits aus ist
-
VU+ ist an --> Befehl "aus" wird gesendet --> Vu+ geht aus
-
VU+ ist an --> Befehl "an" wird gesendet --> nichts passiert, da bereits an ist
Habe es schon am Laufen und es funktioniert. Ein Abfragen des powerstate ist nicht nötig. Das brauchst du nur, wenn dein Gerät nur über ein Kommando für "an" und "aus" verfügt (also eine Power-Toggle Taste).
Gruß Christian
-
-
:mrgreen: :mrgreen: :mrgreen:
hast recht Dburner. Dadurch das er die Variable beschreibt, auch wenn es der gleiche Wert ist der da rein kommt, ist doch
eine Änderung des Datenpunktes gegeben.
Also es geht bestens, Besten Dank 8-)
Gruß Andreas
-
Hallo
Bei mir funktioniert es nicht richtig , muss man in der Box noch etwas einstellen?
Das Script schaltet
Gesendet von iPad mit Tapatalk Pro
-
Moin Cucky,
hast du es erst einmal im Browser probiert?
Habe Newnigma2 auf meiner und da haben die bei einem Update die
Sicherheitsrichtlinien für Browser hoch geschraubt. Das musste ich erst
einmal einige Einstellungen wieder zurück setzen. Dann ging es wieder.
Also mal im Browser probieren was er sagt bzw. tut.
Gruß Andreas
-
Moin Cucky,
hast du das Vu+ Webinterface installiert? Glaube ohne geht es nicht…
Gruß
-
Guten morgen
Webinterface ist installiert , im Browser geht es auch
Nur Alexa schaltet auch das Objekt
Vielleicht habe ich einen Script Fehler ?
~~<link_text text="https://uploads.tapatalk-cdn.com/201703 ... 9fcea3.png">https://uploads.tapatalk-cdn.com/20170302/526793f80fd6e6019e8e5ff1a59fcea3.png</link_text>" />
Gesendet von iPad mit Tapatalk Pro~~