[alexa-fhem | Custom Skills] Probleme mit euren Setups

Begonnen von prodigy7, 19 Februar 2017, 13:16:06

Vorheriges Thema - Nächstes Thema

KernSani

Hi Mave,
ich habe mich gestern mit einer ähnlichen Thematik rumgeschlagen. Was bei mir erstaunlich gut funktioniert, ist im Custom Skill sowas wie: ,,Alexa, sage James: Mach die Rolläden im Wohnzimmer zu". Für zusätzliche Strukturen (wie Obergeschoss) habe ich ohnehin structures, die ich auch über die Weboberfläche steuern kann.
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Mave

Moin KernSani,

hast Du im Wohnzimmer mehrere Rollläden und lassen die sich mit der genannten Anweisung an Alexa alle gleichzeitig steuern?

Für die Stockwerke werde ich auch mit structures arbeiten.

Grüße Mave

Mave

Ich bin leider bei dem Problem, dass meine SOMFY Jalousien falsch herum laufen, immer noch nicht weiter gekommen.

Würde mich nach wie vor über Unterstützung sehr freuen.

Vielen Dank.

Schnabelowski

Hallo,
komme leider nicht weiter und benötige eure Hilfe.
Versuche gerade Custom Skill bei Amazon developer einzurichten und gehe wie im Wiki vor, es will aber nicht klappen.

Bekomme im zweiten Schritt Error
Error: There was a problem with your request: There are missing slot values in slot type "FHEM_Room" for slot "Room" in intent "BrightnessIntent"

Igel Debian/Fhem Cul HMlan

Schnabelowski

Igel Debian/Fhem Cul HMlan

Steffen

Hallo!

Ich bekomme es einfach nicht hin über Customskill mein Thermostat zu schalten, erkennen tut er das Thermostat aber schalten geht nicht:

[1/24/2018, 10:19:46 PM] [FHEM] homebridgeMapping: TargetTemperature=control:control,minValue=15,maxValue=28,minStep=1 CurrentTemperature=Heizung_Officebox:1.ACTUAL_TEMPERATURE
[1/24/2018, 10:19:46 PM] [FHEM] Heizung_Officebox is thermostat
[1/24/2018, 10:19:46 PM] [FHEM] Heizung_Officebox is NOT a thermostat. set command for target temperature missing:
[1/24/2018, 10:19:46 PM] [FHEM] Heizung_Officebox has
[1/24/2018, 10:19:46 PM] [FHEM]   CurrentHeatingCoolingState [undefined]
[1/24/2018, 10:19:46 PM] [FHEM]   CurrentTemperature [Heizung_Officebox.1.ACTUAL_TEMPERATURE]
[1/24/2018, 10:19:46 PM] [FHEM] { default: 'HEAT',
  device: 'Heizung_Officebox',
  informId: 'Heizung_Officebox-undefined',
  characteristic_type: 'CurrentHeatingCoolingState',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[1/24/2018, 10:19:46 PM] [FHEM] { reading: '1.ACTUAL_TEMPERATURE',
  device: 'Heizung_Officebox',
  informId: 'Heizung_Officebox-1.ACTUAL_TEMPERATURE',
  characteristic_type: 'CurrentTemperature',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2018-01-24 22:19:46 caching: Heizung_Officebox-1.ACTUAL_TEMPERATURE: 13.0



Internals:
   DEF        000A97099CE8BA defaults
   IODev      d_ccu
   NAME       Heizung_Officebox
   NR         49
   STATE      12.9
   TYPE       HMCCUDEV
   ccuaddr    000A97099CE8BA
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HmIP-WTH-2 000A97099CE8BA
   ccutype    HmIP-WTH-2
   channels   8
   firmware   1.4.4
   statevals  devstate
   READINGS:
     2018-01-24 20:56:39   0.CONFIG_PENDING false
     2018-01-24 22:22:48   0.DUTY_CYCLE    0
     2018-01-24 22:22:48   0.LOW_BAT       0
     2018-01-24 22:22:48   0.OPERATING_VOLTAGE 2.9
     2018-01-24 22:22:48   0.RSSI_DEVICE   -45
     2018-01-24 20:56:39   0.RSSI_PEER     216
     2018-01-24 22:22:48   0.UNREACH       0
     2018-01-24 20:56:39   0.UPDATE_PENDING false
     2018-01-24 22:22:48   1.ACTIVE_PROFILE 1
     2018-01-24 22:22:48   1.ACTUAL_TEMPERATURE 12.9
     2018-01-24 22:22:48   1.BOOST_MODE    0
     2018-01-24 22:22:48   1.BOOST_TIME    0
     2018-01-24 22:22:48   1.FROST_PROTECTION 0
     2018-01-24 22:22:48   1.HEATING_COOLING 0
     2018-01-24 22:22:48   1.HUMIDITY      63
     2018-01-24 22:22:48   1.PARTY_MODE    0
     2018-01-24 20:56:39   1.PARTY_SET_POINT_TEMPERATURE 0.0
     2018-01-24 20:56:39   1.PARTY_TIME_END
     2018-01-24 20:56:39   1.PARTY_TIME_START
     2018-01-24 22:22:48   1.SET_POINT_MODE 1
     2018-01-24 22:22:48   1.SET_POINT_TEMPERATURE 16.0
     2018-01-24 22:22:48   1.SWITCH_POINT_OCCURED 0
     2018-01-24 22:22:48   1.WINDOW_STATE  closed
     2018-01-24 22:22:48   control         16.0
     2018-01-24 22:22:48   hmstate         12.9
     2018-01-24 22:22:48   state           12.9
   hmccu:
     dp:
       0.CONFIG_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.DUTY_CYCLE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.LOW_BAT:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.OPERATING_VOLTAGE:
         OSVAL      2.9
         OVAL       2.9
         SVAL       2.9
         VAL        2.9
       0.RSSI_DEVICE:
         OSVAL      -45
         OVAL       -45
         SVAL       -45
         VAL        -45
       0.RSSI_PEER:
         OSVAL      216
         OVAL       216
         SVAL       216
         VAL        216
       0.UNREACH:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.UPDATE_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.ACTIVE_PROFILE:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       1.ACTUAL_TEMPERATURE:
         OSVAL      12.9
         OVAL       12.9
         SVAL       12.9
         VAL        12.9
       1.BOOST_MODE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.BOOST_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.FROST_PROTECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.HEATING_COOLING:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.HUMIDITY:
         OSVAL      63
         OVAL       63
         SVAL       63
         VAL        63
       1.PARTY_MODE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.PARTY_SET_POINT_TEMPERATURE:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
       1.PARTY_TIME_END:
         OSVAL     
         OVAL       
         SVAL       
         VAL       
       1.PARTY_TIME_START:
         OSVAL     
         OVAL       
         SVAL       
         VAL       
       1.SET_POINT_MODE:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       1.SET_POINT_TEMPERATURE:
         OSVAL      16.0
         OVAL       16.0
         SVAL       16.0
         VAL        16.0
       1.SWITCH_POINT_OCCURED:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.WINDOW_STATE:
         OSVAL      closed
         OVAL       0
         SVAL       closed
         VAL        0
Attributes:
   IODev      d_ccu
   alexaName  Heizung Officebox
   alexaRoom  officebox
   controldatapoint 1.SET_POINT_TEMPERATURE
   eventMap   /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/
   genericDeviceType thermostat
   homebridgeMapping TargetTemperature=control:control,minValue=15,maxValue=28,minStep=1 CurrentTemperature=Heizung_Officebox:1.ACTUAL_TEMPERATURE
   model      HM-CC-TC
   room       Heizung,alexa
   statedatapoint 1.ACTUAL_TEMPERATURE
   stripnumber 1
   subType    thermostat
   substexcl  control
   substitute SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open
   userattr   model subType
   webCmd     control:Boost:Auto:Manual:Holiday:on:off
   widgetOverride control:slider,4.5,0.5,30.5,1


kann mir jemand vielleicht ein Tip geben in welche Richtung der Fehler zu suchen wäre???

Mfg Steffen

killah78

Hallo zusammen,
so jetzt möchte ich auch mal meinem Problem auf die Schliche kommen.

Also habe alles schon vor geraumer Zeit eingerichtet und nutze überwiegen bisher den normalen Smart Home Skill. Jetzt habe ich mir ein paar eigene Sprachbefehle über den Custom Skill eingebaut, welcher häufig einen Fehler bringt, aber nicht immer. Ich nutze derzeit alexa-fhem 3.6

Also einen Fhemintent "gute nacht" eingerichet, welcher im Fhem eine Szene schaltet und einen return-satz liefert. Soweit so gut.

Jetzt sage ich "sage James gute nacht". Alexa rödelt rum und sagt dann "... es ist ein Fehler aufgetreten...". Genauer Wortlaut weiss ich gerade nicht. In FHEM wird aber trotzdem die Szene geschaltet. Im Protkoll von alexa-fhem seht etwas von Invalid_response:


response :{"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"SSML","ssml":"<speak>Gute Nacht ihr lieben<amazon:effect name=\"whispered\">Schlaft gut</amazon:effect></speak>"},"shouldEndSession":true}}
**** Received Directive: {"version":"1.0","session":{"new":false,"sessionId":"amzn1.echo-api.session.***","application":{"applicationId":"amzn1.ask.skill.***"},"user":{"userId":"amzn1.ask.account.***","accessToken":"***"}},"context":{"AudioPlayer":{"playerActivity":"PLAYING"},"System":{"application":{"applicationId":"amzn1.ask.skill.***"},"user":{"userId":"amzn1.ask.account.***","accessToken":"***"},"device":{"deviceId":"amzn1.ask.device.***","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"***"}},"request":{"type":"SessionEndedRequest","requestId":"amzn1.echo-api.request.***","timestamp":"2018-01-26T07:30:10Z","locale":"de-DE","reason":"ERROR","error":{"type":"INVALID_RESPONSE","message":"An exception occurred while dispatching the request to the skill."}}}


In der Alexa App steht: Skill response was marked as failure. The target Lamda application returned a failure response.

Wenn ich den gleichen Befehl dann direkt wiederhole, funktioniert es und Alexa spricht die Antwort.

Hat da jemand einen Tip, was das sein könnte? Sieht irgendwie nach einem Timeout aus.

Ich habe auch noch eine andere Auffälligkeit. Wenn ich mich in meinen AWS Account einlogge, kann ich keine Lambda Funktion mehr sehen. Obwohl die Lamdba Endpunkte unter Alexa eingetragen sind. Gibt es dafür auch einen Trick?

Gruss
killah78

Mave

Zitat von: Mave am 13 Januar 2018, 08:13:59
Ich bin leider bei dem Problem, dass meine SOMFY Jalousien falsch herum laufen, immer noch nicht weiter gekommen.

Würde mich nach wie vor über Unterstützung sehr freuen.

Vielen Dank.

Bin immer noch an einer zündenden Idee interessiert, wie ich meine Somfy Jalousien richtig herum zum Laufen bekomme......

Steffen

Hallo!

Ich bekomme es einfach nicht hin einen Dummy auf den Wert Farbe schalten zu lassen, prozent,an und aus geht aber Farbe will einfach nicht?!?

antwort

"card": {
      "content": "Ich kann beleuchtung nicht auf grün schalten. auf grün gestellt",
      "title": "HueIntent"


Dummy "Beleuchtung"

homebridgeMapping    Beleuchtung=state,cmd=+
setList                        on off red green yellow blue white grün
genericDeviceType       light



#Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Heizung=verb=schalte,valuePrefix=auf,values=20;21;22;23;24;24;grad;zweiundzwanzig

Heizung=verb=stelle,valuePrefix=auf,values=20;21;22;23;24;24;grad;zweiundzwanzig

Hue=verb=stelle,valuePrefix=auf,values=grün
Hue=verb=färbe,values=rot:0;grün:120;blau:220
Hue=verb=stelle,valuePrefix=auf,values=grün

Beleuchtung=verb=stelle,valuePrefix=auf,values=grün
Beleuchtung=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
Beleuchtung=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr


Wo könnte ich da ansetzten???

Mfg Steffen

drhirn

#99
Zitat von: Schnabelowski am 17 Januar 2018, 19:19:28
hab geschaft...

Und wie?

Edit: In dem man FHEM zwischendurch mal neu startet und dann ein Ergebnis bei get <Alexadevice> customSlotTypes erhält, dessen Einträge dann ebenfalls als "Slot Type" eingetragen werden können.

Fuchshausen

Hallo habe seit gestern Alexa.

- Alexa smart home skill für fhem läuft.

Heute Abend wollte ich eine Cutsom Skill anlegen.
Leider hat sich  die Amazon Developer Console Benutzeroberfläche komplett geändert.
Kann mir schon einer helfen.
Oder ein Beispiel .jason Datei zur Verfügung stellen.

Gruß Thomas

TomLee


Tueftler1983

Hallo bekomme den Custom Skill nicht (Programmiert) finde leider nicht die beschriebenen fenster in die ich die Intents, etc eintragen muss.
eine anleitung wie und was in den Json editor eingetragen werden muss würde mir helfen

alexmetz

#103
Hallo zusammen,

hab seit einiger Zeit den Home Skill am laufen und versuche mich nun am Custom Skill. Habe ihn nach der Wiki-Anleitung damals bereits mit angelegt.
Jetzt wollte ich ein intent erstellen, mit dem ich über die Wählhilfe einen Anruf auf meiner Fritzbox starte.
Der Aufruf soll etwa so erfolgen:" Alexa, sage Daheim rufe Gustav an".
Ich habe mich ein bißchen an dem Weckzeit-Beispiel orientiert.
Mein vorläufiges Ziel ist zunächst mal den Namen in ein dummy-device übergeben zu bekommen, um von dort aus dann in fhem weiterzumachen.
Daran scheitere ich aber schon.

Ich habe also ein fhem device angelgt:
defmod Anruf dummy
attr Anruf alexaName Anruf
attr Anruf alexaRoom wohnzimmer
attr Anruf homebridgeMapping Anruf=state,cmd=+
attr Anruf room alexa


Dann habe ich im Alexa-Device ein alexamapping definiert:
Anruf=verb=rufe,values=AMAZON.DE_FIRST_NAME,valueSuffix=an

Bei getinteractionmodel kam dann:
{
         "intent" : "anIntent",
         "slots" : [
            {
               "name" : "article",
               "type" : "FHEM_article"
            },
            {
               "type" : "FHEM_Device",
               "name" : "Device"
            },
            {
               "type" : "FHEM_preposition",
               "name" : "preposition"
            },
            {
               "name" : "Room",
               "type" : "FHEM_Room"
            },
            {
               "type" : "AMAZON.DE_FIRST_NAME",
               "name" : "an_Value"
            }
         ]
      },


Die meisten slots sind eigentlich überflüssig. Ich brauch eigentlich nur den AMAZON.DE_FIRST_NAME.
Außerdem ist der Name des intents "anIntent" doof, aber den kann ich wohl nicht ändern...


Dann hab ich im Custom-Skill ein intent definiert:
{
                    "name": "anIntent",
                    "slots": [
                        {
                            "name": "Anruf",
                            "type": "AMAZON.DE_FIRST_NAME"
                        }
                    ],
                    "samples": [
                        "rufe {Anruf} an"
                    ]
                }


Wenn ich nun bei amazon unter Test "Öffne Daheim" und dann "Rufe Gustav an" eingebe, kommt:
ZitatIch habe Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten., Ich kann undefined nicht auf undefined schalten. und anruf undefined an gestellt

Im Anruf-Device passiert dann auch was: Es wird auf undefined gestellt.


Ginge das ganz nicht auch einfacher über fhemIntents?
{alexa_Telefon()}=Telefon
Aber da weiß ich nicht wie ich den Namen an die Sub übergebe...


Außerdem würde ich gerne noch Rückmeldung geben, z.B. "OK" oder "Ich habe NAME nicht in Deinem Telefonbuch gefunden"...

Danke und LG,

Alex.
FHEM auf RaspberryPi 4
Homematic

alexmetz

Da ich mit dem alexamapping nicht recht weitergekommen bin, habe ich die Version über fhemintents weiterverfolgt
Habe mich dabein hieran orientiert: https://forum.fhem.de/index.php/topic,67490.msg589378.html#msg589378
Ich hänge da aber ebenfalls:

fhemintens:
{alexa_Telefon($VORNAME)}=rufe {VORNAME:AMAZON.DE_FIRST_NAME} an

auf amazon.com:
{
                    "name": "FHEMperlCodeIntent",
                    "slots": [
                        {
                            "name": "FHEMperlCodeIntent_VORNAME",
                            "type": "AMAZON.DE_FIRST_NAME"
                        }
                    ],
                    "samples": [
                        "Rufe {FHEMperlCodeIntent_VORNAME} an"
                    ]
                }


99_myutils.pm (nur erst mal zum testen):
sub
alexa_Telefon ($) {

  my $Vorname = $_[0];

  return "Alles super :". $Vorname;
}


Wenn ich unter TEST nun "Öffne Daheim" und "Rufe Gustav an" eingebe, kommt:
ZitatNot enough arguments for main::alexa_Telefon at (eval 75088) line 1, at EOF

Mach ich die Sub nur so:
alexa_Telefon {

  my $Vorname = $_[0];

  return "Alles super :". $Vorname;
}
[/code]

gibt Alexa
ZitatAlles super :
aus. "Gustav" wird nicht übergeben.

Das müsste doch alles richtig sein so, oder? Ich versteh nicht, wo mein Fehler ist...
FHEM auf RaspberryPi 4
Homematic