alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

afrix

Hallo zusammen,

zunächst vielen Dank für die Menge an hilfreichen Einträgen in diesem Forum!
Ich habe schon einige Dummies vom Typ Switch erstellt, die ich per Alexa ein- und ausschalten kann. Macht Spaß! :)

Nun bin ich dabei, meinen Samsung TV per Alexa Smart Home Skill zu steuern.
Ausschalten klappt schon, ich würde gerne aber auch den Kanal per Sprache einstellen.
Dazu habe ich bereits eine Funktion in 99_myUtils.pm angelegt, der ich den gewünschten Kanal übergeben kann. Die Funktion wandelt die Zahl dann in einzelne Befehle für STV um:
sub changeTvChannel($) { ... }

Mein Problem ist bisher, das Alexa-Sprachkommando
"Alexa, schalte Fernseher auf 10 (Grad)"
über ein Dummy o.ä. an die Funktion weiterzugeben.

Alexa sagt mir immer: "Fernseher unterstützt das nicht."

Welche Elemente muss das Dummy haben, dass nicht nur ein- und ausschalten geht, sondern auch ein solcher Satz mit einer Zahl?

Brauche ich einen bestimmten genericDeviceType oder bestimmte Elemente in der setList, damit solche Sätze verarbeitet werden?
Und muss ich zwingend am Ende Grad bzw. Prozent sagen?

Das Notify, welches dann auf den Dummy reagiert, sollte ich selbst hinbekommen.
Hab schon durch die zahlreichen Seiten des Forums durchgeblättert, aber bin leider hier nicht zum Ziel gekommen.
Danke euch! :)

Gruß Andi

MadMax-FHEM

Hi Andi,

warum willst du "hinten" am Satz "eigenartig formulieren", wenn du durch Hinzufügen des Custom Skill Names am Anfang ganz normal auf ein Programm schalten könntest? ;)

Also statt: Alexa stelle TV auf 5Grad/Prozent

Sowas: Alexa sag TV schalte auf ARD (oder Programm/Kanal 3 etc.)

(sofern der Custom Skill Name TV [gut] funktioniert)

Wenn das mit Dummy indirekt gehen soll, muss der Dummy vermutlich ein Thermostat oder eine Lampe sein...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

zap

Ich habe es über normale Schalter gelöst (dummy oder readingproxy). Für jeden Kanal einen Schalter anlegen, dann

Alexa, schalte pro sieben ein

Bei ,,Schalt Sender xy aus"lasse ich auf den vorherigen Kanal schalten.

Man muss nur aufpassen, dass sich kein TV Kanal mit einem Radio Kanal Namen überschneidet. Die Tunein Sender bei Alexa haben Prio und dann wird Radio abgespielt.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

eckonator

Was ist denn die aktuellste Version? Hier beim Hauptbeitrag scheint es noch die 0.3.4 zu sein. Laut facebook Gruppe gibt es aber auch schon 0.3.5 und 0.3.6 - wo findet man diese Versionen zum Download?
FHEM 6.2 | PiHole | MagicMirror2 | Fritz!Box 7590 (Basis) + 3x Fritz!Box 4040 (IP-Client) | Amazon DOT | HomeBridge | Max!Cube (geflasht) + Max Komponenten | Harmony Hub | YeeLight Bulbs | G-Homa und Fritz!DECT Steckdosen

Esjay

Zitat von: eckonator am 22 November 2017, 15:53:54
Was ist denn die aktuellste Version? Hier beim Hauptbeitrag scheint es noch die 0.3.4 zu sein. Laut facebook Gruppe gibt es aber auch schon 0.3.5 und 0.3.6 - wo findet man diese Versionen zum Download?

https://forum.fhem.de/index.php?topic=77421.0

OliWee

Hi!
Nachdem ich schon eine Weile mit dem Smarthome Skill arbeite, wollte ich mich jetzt mal an den Custom Skill machen.
Anscheinend haben sich aber auf AWS die Seiten etwas geändert.
Bei der Konfiguration fragt er jetzt nach einem Default Endpoint,der nicht in der Beschreibung vorkommt (siehe Anhang). Was trage ich denn da ein?


amenomade

Das steht doch in der Anleitung bei "2.4.2.2 Custom Skill anlegen", Absatz 4. Nur heisst der Ferd jetzt "Default", der hatte früher keinen Name. Hier kommt dein "arn:aws:lambda..............."

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

OliWee

#3337
Nee,das kommt erst weiter unten. Das ist wirklich neu...

EDIT:
Jetzt hab ichs kapiert...
Da kommt wirklich die ARN-Adresse rein. Zusätzlich gibt es noch die Möglichkeit, regionale URLs einzutragen...

Danke für den Schubser...;-)

OliWee

#3338
EDIT:
Frage erledigt! https://forum.fhem.de/index.php/topic,67490.0.html
Sorry, nicht falsch verstehen aber das ist hier im Forum  mittlerweile ganz schön unübersichtlich geworden, deshalb hab ich es nicht gleich gefunden...
/EDIT

Jetzt hab ich gleich die nächste Frage:
Unterstützt FHEM slots in fhemIntents?

Beispiel:
der Intent: "Es gibt in {zeit} Essen" soll mir die Zeit liefern, damit ich das per Telegram dann an die Familie weitergeben kann.
Auf Amazon-Seite funktioniert das,  jedenfalls schickt AWS das korrekt weg, aber wie kann ich das in fhem verarbeiten?

Auszug aus dem Service Request:
"request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.b6deb14a-3f8c-4b7b-b566-fc19b6723c19",
    "intent": {
      "name": "FHEMesGibtEssenIntent",
      "slots": {
        "zeit": {
          "name": "zeit",
          "value": "PT10M"
        }
      }
    },
    "locale": "de-DE",
    "timestamp": "2017-11-24T16:48:44Z"
  },


Das Intent-Schema sieht so aus:
{
      "intent": "FHEMesGibtEssenIntent",
      "slots": [
        {
          "name": "zeit",
          "type": "AMAZON.DURATION"
        }
      ]
    },


Sample Utterances:
FHEMesGibtEssenIntent Es gibt in {zeit} Essen
FHEMesGibtEssenIntent In {zeit} gibt es essen
FHEMesGibtEssenIntent essen in {zeit}

AlexBV

#3339
Hallo zusammen,

ich habe den Standard Smart Home Skill, nicht den Custom Skill installiert, da mir die Funktionalitäten ausreichen. Angeblich soll der Smart Home Skill auch mit Prozenten und Grad (Heizung) umgehen können. Die Einstellung der Grade funktioniert, die Einstellung der Prozente für meine Dooya-Geräte (Rolladen, Markise) allerdings nicht. Laut Alexa kennt Dooya keine Prozent-Funktion. Das ergibt auch Sinn, da man für die Dooya Geräte die Position von 0 - 100, aber eben nicht Prozentwerte eingibt. Ich kann die Rolläden und die Markise ein- und ausschalten, also komplett hoch und runter fahren. Allerdings wäre eine Prozentangabe natürlich viel sinnvoller. Hat jemand eine Idee, wie man das lösen könnte?

Amenophis86

Zitat von: AlexBV am 27 November 2017, 08:51:24
ich habe den Standard Smart Home Skill, nicht den Custom Skill installiert, da mir die Funktionalitäten ausreichen. <--- Hat jemand eine Idee, wie man das lösen könnte?

Haste dir selbst beantwortet :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

tom2000

Hallo,

habe noch eine Altversion von ganz am Anfang installiert: Standart 0.1.1 ;)
Jetzt gab es aber einen Wechsel des Wlan bei mir und ich musste den Echo neueinstellen.

In der Alexa App hat sich soweit nichts verändert; Skill, Gruppen usw. alles da.
Allerdings klappt die Verbindung zu Fhem nicht mehr.
Es passiert einfach nichts, obwohl die Kommandos angenommen werden.

Hat evtl. jemand eine Idee wo ich ansetzen muss? Was hat sich durch das neue Wlan geändert?
Danke.

MadMax-FHEM

Sehr viel Information...

Also mit dieser alten Version wirst du nicht lang glücklich sein.

1. es geht lang nicht so viel

2. nach einem fhem Update geht gar nichts mehr (außer csrfToken wird deaktiviert / nicht ratsam)

Befehle werden angenommen heißt was?

Kommt etwas auf der alexa-fhem Console (oder im Log) wenn du ein Kommando sprichst?

Portfreigabe funktioniert?

fhem und alexa-fhem haben immer noch die IP wie zuvor?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

costa2

Hallo.

Beim Test der Lambda-Funktion bekomme ich folgende Fehlermeldung:

{
  "errorMessage": "Unexpected token :",
  "errorType": "SyntaxError",
  "stackTrace": [
    "tryModuleLoad (module.js:446:12)",
    "Function.Module._load (module.js:438:3)",
    "Module.require (module.js:497:17)",
    "require (internal/module.js:20:19)"
  ]
}


Im Log Output steht:

Syntax error in module 'index': SyntaxError
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)


node.js habe ich schon neu installiert.
Ich weiß nicht mehr weiter. :-\

Volker
RPI3, Nanocul 433 MHz, 433 MHz Steckdosen, DVB-T Stick für 868 MHz TX Sensoren, MOBILE ALERTS Sensoren und Gateway

AlexBV

Zitat von: Amenophis86 am 27 November 2017, 10:07:25
Haste dir selbst beantwortet :)

Das Problem ist nicht der Smart Home Skill, der mit Prozenten umgehen kann, sondern eher das Dooya-Device. Statt Prozenten erwartet es Positionen, die aber im Grunde genommen Prozenten entsprechen. Natürlich könnte ich das mit dem Custom Skill lösen, allerdings habe ich die Vermutung, dass es eine wesentlich einfachere Lösung gibt. Vielleicht mit einem Dummy Device, das Prozentangaben kennt und Notify´s auslöst.

Für sachdienliche Ideen wäre ich dankbar.