NEWS
Alexa - Kommandos anpassen
-
"Runter" macht Alexa zwar, aber nur 30% Richtung Zu.
Bei mir auch…runter bewirkt nur Stellung auf 75%
-
@Bluefox - Ich habe mir die API-Doku für Alexa Smart Home durchgelesen… mein Beileid!
Warum in aller Welt hat Amazon nicht gleich die Möglichkeit implementiert auch Daten abzufragen? Es müsste also noch ein ioBroker Skill erstellt werden, der dann die Fragen "Alexa, frage ioBroker ob das Licht in de Küche an ist." behandelt. Naja… vielleicht kommen die irgendwann auch den Trichter. Cool wäre auch, wenn man sagen könnte wo die Alexa sich gerade befindet, denn dann könnte man einfach sagen, dass sie das Licht an machen soll und sie würde es auch ohne Angabe des Raumes tun. Naja... Träumen darf man ja...
-
Es müsste also noch ein ioBroker Skill erstellt werden, der dann die Fragen "Alexa, frage ioBroker ob das Licht in de Küche an ist." behandelt. Naja… `
Bin dran.Schreibe gerade ein Custom Skill.
-
-
Mal was anderes: Ich würde gerne mehrere Name für ein Gerät vergeben. Von mir aus indem ich ein Gerät mehrfach hinzufüge, aber leider ist es nicht möglich. Mein Ziel ist es z.B. Rollläden auch als Jalousien bezeichnen zu können. Ist sowas geplant?
EDIT: Nach dem Absenden ist mir eine Idee gekommen, wie ich das realisieren kann. Ich muss einfach ein Gerät: z.B. "Rollläden Wohnzimmer" in eine Gruppe packen und die Gruppe z.B.: "Jalousien Wohnzimmer" nennen…. Ich muss es dann mal testen ob es geht. Das ist dann zwar keine "Gruppe" mehr, aber egal
-
…und was ist mit dem Szenenadapter?
Gruß
Rainer
-
…und was ist mit dem Szenenadapter? `
Auch eine Möglichkeit… aber dann hätten wir noch mehr Geräte in der Alexa und ich könnte dann theoretisch dort eine Gruppe machen, die Rollos, Rollladen und die Jalousien im Wohnzimmer steuern, obwohl alle 3 die gleiche Geräte sind. Da finde ich dir Gruppe mit 1 Gerät übersichtlicher. (meiner Meinung nach), aber danke für den Tipp -
aber dann hätten wir noch mehr Geräte in der Alexa `
Ja, nein, vielleicht.Das andere Extrem:
Wenn du "nur" Szenen in Alexa hättest kannst du über deren Namen immer wieder mehrere Geräte in anderen Kombinationen verwenden.
Du kannst auch Änderunegn in den Szenen zuweisen, ohne den Alexa-Namen zu ändern.
Kann ich aber nicht beurteilen, da ich nicht mit Alexa rede
Gruß
Rainer
-
Wenn du "nur" Szenen in Alexa hättest kannst du über deren Namen immer wieder mehrere Geräte in anderen Kombinationen verwenden.
Du kannst auch Änderunegn in den Szenen zuweisen, ohne den Alexa-Namen zu ändern. `
Das ist ein Argument! Man müsste sie nur einmalig füttern und könnte dann alles in ioBroker einstellen.
@Homoran:Kann ich aber nicht beurteilen, da ich nicht mit Alexa rede `
Solltest du mal probieren… die sagt manchmal sogar mal ein paar lustige Witze! :lol:Grüße,
ldittmar
-
Hallo Leute,
bin auch ziemlich neu auf dem Gebiet, und arbeite mich zzt. mit Alexa und ioBroker ein.
Hätte jetzt folgende Situation:
Ich möchte meinen TV (Samsung J-Serie) über Infrarot mit RM Pro ansteuern.
Das klappt auch soweit super, jedoch würde ich nun gerne einen Schritt weiter gehen und in den Skripten Variable Worte einsetzen, damit die Geräte in Alexa weniger werden und ich z.b. auch Sendernamen verwenden kann.
Aktuell werden (zumindest konnte ichs nicht anders finden) nur Werte in Zahlen von Alexa an den Cloud Adapter übergeben.
Besteht eine Chance auch Texte zu übergeben?
Danke schonmal für eure Rückmeldungen.
-
Es müsste also noch ein ioBroker Skill erstellt werden, der dann die Fragen "Alexa, frage ioBroker ob das Licht in de Küche an ist." behandelt. Naja… `
Bin dran.Schreibe gerade ein Custom Skill.
:o :o :o :o :o Du bist DER BESTE!!! :o :o :o :o
Hi Bluefox gibts hier schon was neues zum "Antwort-Skill"???
Vielen Dank für deine Mühe!
-
Hi Bluefox gibts hier schon was neues zum "Antwort-Skill"???
Vielen Dank für deine Mühe! `
Hi,bin zwar nicht Bluefox, aber ich kann sagen dass es in der Pipe ist .. wird bald kommen, aber zuerst müssen ein paar andere wichtige Sachen erledigt werden. Bluefox und die andere Entwickler arbeiten hart daran das System noch besser zu machen.
Grüße,
ldittmar
-
Hi Bluefox gibts hier schon was neues zum "Antwort-Skill"???
Vielen Dank für deine Mühe! `
Hi,bin zwar nicht Bluefox, aber ich kann sagen dass es in der Pipe ist .. wird bald kommen, aber zuerst müssen ein paar andere wichtige Sachen erledigt werden. Bluefox und die andere Entwickler arbeiten hart daran das System noch besser zu machen.
Grüße,
ldittmar `
Schön das zu hören!! Und sehen können wir es ja auch jeden Tag
Dank Euch liebt auch meine Freundin den kleinen Echo!!! Inzwischen werd ich von Ihr berichtigt wenn ich nen "falschen Befehl" geb.
Weiter so!!! Donation folgt!
-
Hi,
Ich habe heute gerade iobroker frisch installiert. Soweit alles gut, nur meine Rollladen machen was sie wollen. Wenn ich sage runter fahren Diese rauf.
Ich habe sie im cloud Adapter "Bei an 100%" stehen und 0 gibt es nicht zur Auswahl.
Gruß Lars
-
Hi,
Ich habe heute gerade iobroker frisch installiert. Soweit alles gut, nur meine Rollladen machen was sie wollen. Wenn ich sage runter fahren Diese rauf.
Ich habe sie im cloud Adapter "Bei an 100%" stehen und 0 gibt es nicht zur Auswahl.
Gruß Lars `
Magst Du mal einen Screenshot reinstellen, ich bin nicht sicher ob ich die Aufgabenstellung richtig verstehe 8-) -
Hallo,
Irgendwie ist in diesem thread nicht ersichtlich wie ich einen selbst erstellten Datenpunkt den Befehl auf/zu zuweisen kann.
Ich bekomme immer nur an/aus in der Befehlszeile.
Wird doch über die rolle vorgegeben oder?
Welche variable muss da rein? Oder bin ich auf dem Holzweg?
-
Probier mal einen Datenpunkt vom Typ Number
Gesendet von iPad mit Tapatalk
-
Hallo,
ist ja ein super thread hier.
Leider habe ich nun das Problem einen Datenpunkt für Alexa selbst zu konfigurieren.
Ich möchte nicht das alexa direkt auf irgendwelche Datenpunkte der CCU zugreift um damit besser Logiken realisieren zu können.
Ich brauche einen Datenpunkt der die Befehle Auf/Zu bzw. Rauf/Runter akzeptiert, mir aber true/false ausgibt.
Wenn ich diesen als value und gemischt konfiguriere schreibt er mir immer bei runter false und bei rauf 100. Wenn ich im Datenpunkt MAX auf 1 setze weiß alexa nicht mehr wie sie den Befehl setzen soll.
Ein Screenshot der Datenpunktkonfiguratin wäre hilfreich.
-
Hallo,
ist ja ein super thread hier.
Leider habe ich nun das Problem einen Datenpunkt für Alexa selbst zu konfigurieren.
Ich möchte nicht das alexa direkt auf irgendwelche Datenpunkte der CCU zugreift um damit besser Logiken realisieren zu können.
Ich brauche einen Datenpunkt der die Befehle Auf/Zu bzw. Rauf/Runter akzeptiert, mir aber true/false ausgibt.
Wenn ich diesen als value und gemischt konfiguriere schreibt er mir immer bei runter false und bei rauf 100. Wenn ich im Datenpunkt MAX auf 1 setze weiß alexa nicht mehr wie sie den Befehl setzen soll.
Ein Screenshot der Datenpunktkonfiguratin wäre hilfreich. `
Genau das suche ich auch immer noch…
-
Ich muss jetzt auch etwas zu diesem Thema beitragen.
Ich habe meinen Datenpunkt wie folgt (Screenshot) konfiguriert.
!
![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... 584c579b3e">http://forum.iobroker.net/download/file.php?mode=view&id=10454&sid=66a2a0e6df47c52850dfc5584c579b3e</link_text>" />~~Leider funktioniert das Ganze nicht ganz wie gewünscht:- Alexa reagiert zwar auf Rollladen hoch oder runter, aber nicht immer richtig.
Ich habe das Ganze dann etwas getestet und die Reaktion bzw. den Wert des Datenpunkts auf verschiedene Befehle beobachtet:
-> Bei HOCH wird der Wert immer auf 1 (bei max. von 100 wären es eben 100) gesetzt.
-> Wenn er bei 1 ist, bleibt er bei HOCH auf 1.
-> Bei RUNTER wird er auf 0.75 (bei max. von 100 wären es eben 75) gesetzt, aber nur, wenn er vorher auf 1 (bzw. 100) stand.
-> Wenn der Wert auf 0.75 (bzw. 75) steht und man den Befehl RUNTER gibt, wird dieser auf 1 (bzw. 100) gesetzt!
Keine Ahnung wo hier die Logik ist. In der Regel dürfte dieser Fehler auch selten auffallen, da ich meine Rollladen aber auch zeitgesteuert schalte, war dieser Umstand aber schon merklich.
Daher habe ich mir folgende Lösung überlegt:
Der Wert muss künstlich auf 1 gehalten werden. In diesem Zustand reagiert er bei RUNTER korrekt mit der Senkung des Werts und bei HOCH bleibt er bei 1. Mein Skript muss daher nur abfragen ob
-
Wert gleich 1 = HOCH
-
Wert kleiner 1 = RUNTER
Daher setze ich den Wert nach der Abfrage manuell auf 1.
Damit jetzt aber durch die on()-Anweisung nicht 2 Schaltungen stattfinden (eine durch Alexa, eine durch das manuelle Setzen) muss diese für kurze Zeit (ich habe 2 Sekunden gemacht) deaktiviert werden.
Hierfür habe ich einen weiteren Datenpunkt vom Typ false/true verwendet. Dies ist wahrscheinlich absolut umständlich und hätte gut über eine Variable im Skript gelöst werden können, aber irgendwie habe ich es damit nicht hinbekommen…
Über Hilfe bzw. Verbesserungen wäre ich daher sehr dankbar!
Das Skript:
! ````
var logOn = false; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
var http = require('http'); // Node Module http verwenden
! // Datenpunkte anlegen:
// -----------------------------------------------------------------------------
var idDatenpunkt = "alexa.arbeitszimmer.rollladen"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
name: 'Arbeitszimmer Rollladen',
desc: 'Beide Rollladen des Arbeitszimmers',
type: 'number',
def: 1,
min: 0,
max: 1,
role: 'level'
});
var idVariablenDP = "variablen.sperre_rollladen_arbeitszimmer"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
name: 'Sperre Rollladen Arbeitszimmer',
desc: 'Variable zur Sperrung der Rollladen des Arbeitszimmers',
type: 'boolean',
states: 'false;true',
def: false,
role: 'value'
});
! // Funktionen:
// -----------------------------------------------------------------------------
function requestSenden(options) {
var req = http.get(options, function(res) {
if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
! // Buffer the body entirely for processing as a whole.
var bodyChunks = [];
var chunkLine = 0;
res.on('data', function(chunk) {
chunkLine = chunkLine + 1;
if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);// Hier können die einzelnen Zeilen verarbeitet werden... bodyChunks.push(chunk); }).on('end', function() { if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks); if(logOn) log("ARRAY Länge: " + bodyChunks.length);
! var body = Buffer.concat(bodyChunks);
! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
! });
});
! req.on('error', function(e) { // Fehler abfangen
log('ERROR: ' + e.message,"warn");
});
}
! // Level Einstellen
// -----------------------------------------------------------------------------
function richtungsdef(dp) {
dpWert = dp.state.val;if (dpWert < 1) { // Rollladen RUNTER rqPath = '/control?key=14'; //log("RUNTER"); } else { // Rollladen HOCH rqPath = '/control?key=13'; //log("HOCH"); } var options = { // URL, die abgefragt, bzw. gesendet werden soll host: '192.168.0.131', path: rqPath, port: 31, auth: 'KONTO:PASSWORT', method: 'GET' }; setState("javascript.0." + idDatenpunkt, 1); requestSenden(options); setTimeout(sperreAUS, 2000);
}
// Sperre setzen / löschen
// -----------------------------------------------------------------------------
function sperreAN() {
setState("javascript.0." + idVariablenDP, true);
}
function sperreAUS() {
setState("javascript.0." + idVariablenDP, false);
}! // Abfrage des Datenpunkts
// -----------------------------------------------------------------------------
on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
if (getState("javascript.0." + idVariablenDP).val !== true) {
sperreAN();
richtungsdef(dp);
}
});