komplexe steuerbefehle

  • 12 Antworten
  • Letztes Antwortdatum
Pr3mut05

Pr3mut05

Erfahrenes Mitglied
49
HI zusammen

Ich nutze Tasker
AutoVoice von joaomgcd und AutoHue von Cuberob

Ich habe für jedes Kommando "Wohnzimmer Licht an" "Wohnzimmer Licht aus" "Schlafzimmer Licht an" einen eigenen Task
Und für jeden Task ein eigenes Profil mit dem AutoVoice Sprachkommando

Ist das wirklich notwendig oder kann ich ein spezielles Autovoice Profil anlegen mit
*BEFEHL Licht BEFEHL"

Ich hoffe ich habe mich verständlich ausgedrückte

Screenshot_2015-12-26-16-08-19.png Screenshot_2015-12-26-16-08-37.png
 
Also das mit dem Kommando/Profil denke ich zu Verstehen
Allerding klappt nichts wenn ich im Task die Variablen unter "if" angebe :/
 
Du machst im kommando das hier ?<raum> Licht ?<kommando> und in der if abfrage bekommst du dann die variablen raum und kommando zur Verfügung.
Jetzt kannst du deine if abfragen bauen. If raum == küche und if kommando == an - > schalte licht in der Küche an

So kannst du alle Profile in eins packen
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Pr3mut05
Ich denke genau das habe ich gemacht
Sprachkommando wird auch korrekt erkannt

Mich irritiert auch der kleine rote Balken im dritten Bild
Ist da ein Fehler in der variable?!
 

Anhänge

  • Screenshot_2015-12-26-23-29-30.png
    Screenshot_2015-12-26-23-29-30.png
    10 KB · Aufrufe: 197
  • Screenshot_2015-12-26-23-38-57.png
    Screenshot_2015-12-26-23-38-57.png
    43,2 KB · Aufrufe: 169
  • Screenshot_2015-12-26-23-29-43.png
    Screenshot_2015-12-26-23-29-43.png
    12,6 KB · Aufrufe: 178
  • Screenshot_2015-12-26-23-29-23.png
    Screenshot_2015-12-26-23-29-23.png
    41,9 KB · Aufrufe: 213
Der kleine rote Balken zeigt blos an ob die if Bedingung erfüllt ist oder nicht. Rot ist eben nicht erfüllt.
Starte tasker am besten mal neu. Bei mir funktioniert das manchmal auch nicht beim ersten mal. Sieht nämlich eigentlich richtig aus.
 
Zuletzt bearbeitet:
ich finde das mit Regex etwas zu starr. Der Satzbau ist bei jedem Menschen etwas anders aufgebaut. Schon der Wunsch etwas einzuschalten, kann man mit zig Worten ausdrücken "an", "ein", "anschalten", "einschalten", " anmachen" und und und ... dann fällt dieses Wort auch nicht immer in der Reihenfolge, wie man es in einem starren Regex konfiguriert hat. Ich würde den kompletten AutoVoice-Befehl bei den Blanks splitten und dann Wort für Wort in einer Schleife auswerten. Zeit und Prozentangaben sind das Einzige, dass meistens in einer festen Reihenfolge ausgesprochen wird -> "Wohnzimmer 10 Prozent" oder "das Wohnzimmer für 30 Sekunden einschalten" . Hier kann man dann auf Prozent bzw Sekunden triggern und das Wort davor ist die Mengenangabe :) ... bei mir funktioniert das schon so gut, dass es auch offene Münder beim Vorführen gibt :)
 
  • Danke
Reaktionen: Pr3mut05
Das wäre natürlich die schönste Lösung
Aber bei deinen Modell ( AutoVoice reagiert nicht??? )
Blicke ich ehrlich gesagt gar nicht mehr durch :p
 
da wird eigentlich jedes Wort in einer "For-Each"-Schleife mit Wörtern verglichen, die man zum Schalten und walten benötigt. zB " Stube", "Wohnzimmer", "Schreibtisch" sind Orte von schaltbaren Gegenständen und zu diesen Orten brauchst du noch was gemacht werden soll -> "an", " aus" ... das kann man dann noch mit Zeiten ergänzen oder mit einer Intensität . ich hab das bei mir so gemacht, das wenn was fehlt, der Befehl komplett ignoriert wird.

Beispiel:
jarvis schalte bitte das wohnzimmer in 10 minuten aus
%SHort => wohnzimmer => gruppe von geräten
%SHaufgabe => aus => off
%SHzeiteinheit => minuten
%SHzeitdauer => 10
%SHjarvis => ist vorhanden => bitte per Text-to-Speech antworten
%SHbitte => höflich antworten

in FHEM heißt dann der Befehl "define autovoice123 at +00:10:00 set group=wohnzimmer off" und Tasker antwortet dann noch höflich :)
 
  • Danke
Reaktionen: Pr3mut05
Ich habe mich entschlossen ebenfalls einen FHEM Server einzusetzen, hat ja mehrere Vorteile
Und dann dein "Rezept" mal genauer analysieren und gegg. an meine Bedürfnisse anpassen
 
für FHEM gibt es zwar keine "schöne" Android-App (andFHEM ist aber sehr funktional), aber im Grunde ist die automatische Steuerung und die Möglichkeit es in die Uhr zu sprechen ausreichend. ... gestern hab ich mein Trailer-Show-Skript in FHEM eingebunden. Das Skript lädt bei YouTube drei aktuelle Kinotrailer runter, kontrolliert ob sie schon mal auf der heimischen Leinwand liefen und gibt sie dann auf dem Kodi bzw wenn Kodi nicht verfügbar ist auf dem Chromecast wieder. Alles was ich machen muss, ist auf der Harmony die Aktion "Trailer/BD" auszuwählen. Das Skript schaltet dann über FHEM den AV-Receiver selbständig auf den Chromecast bzw Kodi, öffnet die Schublade vom BD-Player und schaltet nach den Trailer wieder zurück auf den BD-Player und schließt die Schublade ... und alles begleitet von eine automatischen Steuerung des Lichtes. Es ändert zB je nach abgeschlossenen Download die Farbe.

Tasker und FHEM nutze ich dann nur noch zur Anwesenheitserkennung. FHEM kann das zwar selber, aber das Pingen des Handys erfolgt nur periodisch. Tasker sagt dem FHEM aber sofort bescheid, wenn das Handy sich ins heimische Netz einloggt. So erfolgt die Steuerung des "Welcome"-Lichtes etwas stimmiger. :)
 
  • Danke
Reaktionen: Pr3mut05
OK
Es war für mich wirklich ein schweres Thema
Aber ich denke ich habe dein Script weitgehend Verstanden und es läuft auch bei mit. Kommandos Licht an/aus und die Zeitangabe.

Die prozentuale Helligkeit und die "höfliche Antworten" ist aber in deinen veröffentlichten Script nicht enthalten oder habe ich das Übersehen?


oggy schrieb:
Tasker und FHEM nutze ich dann nur noch zur Anwesenheitserkennung. FHEM kann das zwar selber, aber das Pingen des Handys erfolgt nur periodisch. Tasker sagt dem FHEM aber sofort bescheid, wenn das Handy sich ins heimische Netz einloggt. So erfolgt die Steuerung des "Welcome"-Lichtes etwas stimmiger. :)

Auch ein guter Lösungsansatz
Obwohl ich versuche alles was geht an FHEM auszulagern


oggy schrieb:
gestern hab ich mein Trailer-Show-Skript in FHEM eingebunden. Das Skript lädt bei YouTube drei aktuelle Kinotrailer runter, kontrolliert ob sie schon mal auf der heimischen Leinwand liefen und gibt sie dann auf dem Kodi bzw wenn Kodi nicht verfügbar ist auf dem Chromecast wieder. Alles was ich machen muss, ist auf der Harmony die Aktion "Trailer/BD" auszuwählen. Das Skript schaltet dann über FHEM den AV-Receiver selbständig auf den Chromecast bzw Kodi, öffnet die Schublade vom BD-Player und schaltet nach den Trailer wieder zurück auf den BD-Player und schließt die Schublade ... und alles begleitet von eine automatischen Steuerung des Lichtes. Es ändert zB je nach abgeschlossenen Download die Farbe.

Da würde ich mich auch über eine Veröffentlichung freuen
 
Pr3mut05 schrieb:
Die prozentuale Helligkeit und die "höfliche Antworten" ist aber in deinen veröffentlichten Script nicht enthalten oder habe ich das Übersehen?
nein, das hatte ich später eingebaut. :) ... die prozentuale Helligkeit ist so aufgebaut wie die Zeitauswahl. Das Wort unmittelbar vor "Prozent" ist der Zahlenwert für die Prozentangabe, so wie es bei "Minuten"/"Stunden"/"Sekunden" gemacht wurde... Die höfliche Antwort ist eine stupide Text-To-Speech-Ausgabe, wenn eine bestimmte Variable gesetzt wurde.



zum Trailer-Show-Skript:
ich bin leider zu wenig bzw eigentlich gar kein Programmierer, um alles selber schreiben zu können. Ich selber schuster mir das immer so zu recht, dass ich die Ausgabe von dem einen Programm mit einem anderen Programm füttere. Das Perl-Skript ist dementsprechend ganz stark an meine Umgebung angepasst. Wenn ich mal so drüber schaue, was da alles so verwurstelt wurde:
- "ytdl" --> lädt YouTube-Videos runter (umgeht, diese bekloppte Autoplay-Funktion)
- "castnow" --> Abspielen von Videos auf dem Chromecast
- "json"-Schnittstelle des Kodi (um den Kodi zu steuern) --> Kodi läuft bei mir auf einem Raspberry-Pi
- "telnet"-Schnittstelle von FHEM
- Datenbank-Anbindung, um schon gesehene YouTube-Videos zu identifizieren
- GD-Perlmodul, um Bilder zu erstellen

Das Skript hatte ich ursprünglich autark laufen. Die Licht- und Mediensteuerung übernahmen "harmonyhubcontrol" und "hue.pl". Jetzt wird das Skript halt von FHEM gestartet bzw empfängt von diesem über die Telnet-Schnittstelle die Schaltbefehle. Ich glaub, ich muss doch mal ein Video aufnehmen, wie das Skript arbeitet und blogge mal, wie es arbeitet :)
 
  • Danke
Reaktionen: Pr3mut05

Ähnliche Themen

A
Antworten
14
Aufrufe
1.194
Spardas
Spardas
Zurück
Oben Unten