FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: hermann1514 am 23 Mai 2018, 08:45:57

Titel: Custom Skill -> Probleme bei der Einrichtung
Beitrag von: hermann1514 am 23 Mai 2018, 08:45:57
Hallo,
ich versuche seit einiger Zeit ein Custom Skill zu konfigurieren.
Amazon hat ja die Websites komplett umgestellt und ich habe Probleme die JSON Konifg von FEHM kopiert.
Wenn ich nun diese Konfig im JSON Editor einfüge erhalte ich folgenden Fehler:

Intent name must not be empty. Error code: MissingIntentName

Kann dazu jemand was sagen?

Gibt es evtl. eine aktuellere Anleitung?

Habe schon das Forum mal durchsucht - aber nichts passendes gefunden.

Danke.
Gruß
Hermann
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: stefanru am 23 Mai 2018, 10:09:28
Ja das Format das du hier in FHEM bekommst ist alt.
Du musst z.B. anstelle von
"intent" : "gradIntent"
"name": "gradIntent" schreiben.

Am besten schaust du dir einen standard intent mal an und passt das Format das du im FHEM bekommst an das neue an.

Als Beispiel hier mal mein Json:
[code]
{
    "interactionModel": {
        "languageModel": {
            "invocationName": "haus",
            "intents": [
                {
                    "name": "OnIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "On_Value",
                            "type": "On_Value"
                        }
                    ],
                    "samples": [
                        "schalte {article} {Device} {preposition} {Room} {On_Value}",
                        "schalte {article} {Device} {On_Value}",
                        "schalte {Device} {preposition} {Room} {On_Value}",
                        "schalte {Device} {On_Value}",
                        "schalt {article} {Device} {preposition} {Room} {On_Value}",
                        "schalt {article} {Device} {On_Value}",
                        "schalt {Device} {preposition} {Room} {On_Value}",
                        "schalt {Device} {On_Value}"
                    ]
                },
                {
                    "name": "SaturationIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle sättigung {Device} auf {Saturation_Value}",
                        "stelle sättigung {Device} {preposition} {Room} auf {Saturation_Value}",
                        "stelle sättigung {article} {Device} auf {Saturation_Value}",
                        "stelle sättigung {article} {Device} {preposition} {Room} auf {Saturation_Value}",
                        "stell sättigung {Device} auf {Saturation_Value}",
                        "stell sättigung {Device} {preposition} {Room} auf {Saturation_Value}",
                        "stell sättigung {article} {Device} auf {Saturation_Value}",
                        "stell sättigung {article} {Device} {preposition} {Room} auf {Saturation_Value}"
                    ]
                },
                {
                    "name": "SaturationIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_ValueB",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "sättige {Device} {Saturation_ValueB}",
                        "sättige {Device} {preposition} {Room} {Saturation_ValueB}",
                        "sättige {article} {Device} {Saturation_ValueB}",
                        "sättige {article} {Device} {preposition} {Room} {Saturation_ValueB}"
                    ]
                },
                {
                    "name": "TargetPositionIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "TargetPosition_Value",
                            "type": "TargetPosition_Value"
                        },
                        {
                            "name": "TargetPosition_article",
                            "type": "TargetPosition_article"
                        }
                    ],
                    "samples": [
                        "mach {Device} {TargetPosition_Value}",
                        "mach {Device} {preposition} {Room} {TargetPosition_Value}",
                        "mach {TargetPosition_article} {Device} {TargetPosition_Value}",
                        "mach {TargetPosition_article} {Device} {preposition} {Room} {TargetPosition_Value}",
                        "mache {Device} {TargetPosition_Value}",
                        "mache {Device} {preposition} {Room} {TargetPosition_Value}",
                        "mache {TargetPosition_article} {Device} {TargetPosition_Value}",
                        "mache {TargetPosition_article} {Device} {preposition} {Room} {TargetPosition_Value}"
                    ]
                },
                {
                    "name": "prozentIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "prozent_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {prozent_Value} prozent",
                        "stelle {Device} {preposition} {Room} auf {prozent_Value} prozent",
                        "stelle {article} {Device} auf {prozent_Value} prozent",
                        "stelle {article} {Device} {preposition} {Room} auf {prozent_Value} prozent",
                        "stell {Device} auf {prozent_Value} prozent",
                        "stell {Device} {preposition} {Room} auf {prozent_Value} prozent",
                        "stell {article} {Device} auf {prozent_Value} prozent",
                        "stell {article} {Device} {preposition} {Room} auf {prozent_Value} prozent"
                    ]
                },
                {
                    "name": "HueIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_Value",
                            "type": "Hue_Value"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {Hue_Value}",
                        "stelle {Device} {preposition} {Room} auf {Hue_Value}",
                        "stelle {article} {Device} auf {Hue_Value}",
                        "stelle {article} {Device} {preposition} {Room} auf {Hue_Value}",
                        "stell {Device} auf {Hue_Value}",
                        "stell {Device} {preposition} {Room} auf {Hue_Value}",
                        "stell {article} {Device} auf {Hue_Value}",
                        "stell {article} {Device} {preposition} {Room} auf {Hue_Value}"
                    ]
                },
                {
                    "name": "HueIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_ValueB",
                            "type": "Hue_ValueB"
                        }
                    ],
                    "samples": [
                        "färbe {Device} {Hue_ValueB}",
                        "färbe {Device} {preposition} {Room} {Hue_ValueB}",
                        "färbe {article} {Device} {Hue_ValueB}",
                        "färbe {article} {Device} {preposition} {Room} {Hue_ValueB}",
                        "färb {Device} {Hue_ValueB}",
                        "färb {Device} {preposition} {Room} {Hue_ValueB}",
                        "färb {article} {Device} {Hue_ValueB}",
                        "färb {article} {Device} {preposition} {Room} {Hue_ValueB}"
                    ]
                },
                {
                    "name": "BrightnessIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Brightness_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle helligkeit {Device} auf {Brightness_Value} prozent",
                        "stelle helligkeit {Device} {preposition} {Room} auf {Brightness_Value} prozent",
                        "stelle helligkeit {article} {Device} auf {Brightness_Value} prozent",
                        "stelle helligkeit {article} {Device} {preposition} {Room} auf {Brightness_Value} prozent",
                        "stell helligkeit {Device} auf {Brightness_Value} prozent",
                        "stell helligkeit {Device} {preposition} {Room} auf {Brightness_Value} prozent",
                        "stell helligkeit {article} {Device} auf {Brightness_Value} prozent",
                        "stell helligkeit {article} {Device} {preposition} {Room} auf {Brightness_Value} prozent"
                    ]
                },
                {
                    "name": "gradIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "grad_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {grad_Value} grad",
                        "stelle {Device} {preposition} {Room} auf {grad_Value} grad",
                        "stelle {article} {Device} auf {grad_Value} grad",
                        "stelle {article} {Device} {preposition} {Room} auf {grad_Value} grad",
                        "stell {Device} auf {grad_Value} grad",
                        "stell {Device} {preposition} {Room} auf {grad_Value} grad",
                        "stell {article} {Device} auf {grad_Value} grad",
                        "stell {article} {Device} {preposition} {Room} auf {grad_Value} grad"
                    ]
                },
                {
                    "name": "StatusIntent",
                    "slots": [
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "status",
                        "{Device} status",
                        "status von {Device}",
                        "wie ist der status von {Device}",
                        "wie ist der status {preposition} {Room}",
                        "wie ist der status vom {Room}",
                        "wie ist der status von {Room}",
                        "nach dem status von {Device}",
                        "nach dem status vom {Device}",
                        "nach dem status von {Room}",
                        "nach dem status vom {Room}"
                    ]
                },
                {
                    "name": "RoomAnswerIntent",
                    "slots": [
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "{preposition} {Room}"
                    ]
                },
                {
                    "name": "RoomListIntent",
                    "slots": [],
                    "samples": [
                        "raumliste",
                        "nach der raumliste",
                        "nach den räumen",
                        "liste räume auf"
                    ]
                },
                {
                    "name": "DeviceListIntent",
                    "slots": [
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "geräteliste",
                        "geräteliste {Room}",
                        "geräteliste für {article} {Room}",
                        "welche geräte gibt es {preposition} {Room}",
                        "welche geräte gibt es {preposition} Raum {Room}"
                    ]
                },
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.MoreIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NextIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NoIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.PauseIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.PreviousIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.RepeatIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.ResumeIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StartOverIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.YesIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateSettingsIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.PageUpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.PageDownIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.ScrollRightIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.ScrollDownIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.ScrollLeftIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.ScrollUpIntent",
                    "samples": []
                }
            ],
            "types": [
                {
                    "name": "FHEM_article",
                    "values": [
                        {
                            "name": {
                                "value": "den"
                            }
                        },
                        {
                            "name": {
                                "value": "das "
                            }
                        },
                        {
                            "name": {
                                "value": "die"
                            }
                        },
                        {
                            "name": {
                                "value": "der"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_preposition",
                    "values": [
                        {
                            "name": {
                                "value": "in dem"
                            }
                        },
                        {
                            "name": {
                                "value": "in der"
                            }
                        },
                        {
                            "name": {
                                "value": "im"
                            }
                        },
                        {
                            "name": {
                                "value": "in"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_Value",
                    "values": [
                        {
                            "name": {
                                "value": "rot"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "blau"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_ValueB",
                    "values": [
                        {
                            "name": {
                                "value": "rot"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "blau"
                            }
                        }
                    ]
                },
                {
                    "name": "On_Value",
                    "values": [
                        {
                            "name": {
                                "value": "um"
                            }
                        },
                        {
                            "name": {
                                "value": "aus"
                            }
                        },
                        {<
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: gent am 24 Mai 2018, 20:20:49
Hi,

habe dasselbe Problem, wie wahrscheinlich alle, die jetzt neu mit dem custom skill anfangen. Es ist halt einfach nirgendwo beschrieben, was genau wir hier eigentlich tun müssen. Sobald amazon irgendwas am UI ändert, kommt man nicht mehr klar. Die Wiki Einträge sind einfach nicht zu gebrauchen. Gibt es eigentlich niemanden, der sich mal um die Aktualisierung dort kümmern kann? Die Suche im Forum ist auch keine Hilfe, weil dort auch nur veraltete Einträge zu finden sind.

Lieber stefanru, könntest Du bitte dein json noch einmal in code-tags packen, damit man die vollständig sehen kann? Und könntest Du mir vielleicht noch sagen, was an dem json jetzt spezifisch für Deine Installation ist, damit man nachvollziehen kann, was "standard" ist und was auf die eigenen Bedürfnisse angepasst werden muss?

Das wäre sehr hilfreich, um mehr zu verstehen.

Viele Grüße
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: amenomade am 24 Mai 2018, 20:39:48
Liefert get MyAlexa interactionModel nicht den interactionModel als json?

ZitatDie Wiki Einträge sind einfach nicht zu gebrauchen. Gibt es eigentlich niemanden, der sich mal um die Aktualisierung dort kümmern kann?
Das kann jeder. Man muss sich nur eintragen.
Das Problem ist folgendes: jemand, der eine funktionierende Konfiguration hat, hat nicht unbedingt Lust, eine neue Konfiguration mit aktueller UI wieder zu machen, und damit riskieren, dass seine jetzige Konfiguration kaputt machen. Ich habe selbst schon überlegt, ob ich sowas zu unternehmen, aber bisher verweigert ;)
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: TomLee am 24 Mai 2018, 22:04:21
Zitat von: amenomade am 24 Mai 2018, 20:39:48
Liefert get MyAlexa interactionModel nicht den interactionModel als json?

schon, doch der kann nicht direkt im JSON-Editor verwendet werden, sondern wie 2 Posts zuvor von Stefanru erwähnt editiert werden.

ZitatDu musst z.B. anstelle von
"intent" : "gradIntent"
"name": "gradIntent" schreiben.

und am Anfang des JSON um

"interactionModel": {
"languageModel": {
"invocationName": "haus",


und am Ende um 2 geschweifte Klammern

}
}


erweitert werden.
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: TomLee am 24 Mai 2018, 22:46:58
@gent

nachdem man das Interactionsmodel nach obiger Anleitung über den JSON-Editor importiert hat, muss man wie beim alten UI die SampleUtterances und Slot Types händisch eintragen. Wenn man sich mit dem neuen UI mal 15 Minuten beschäftigt wird auch schnell klar wie einfach das ist.

Gruß

Thomas
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: gent am 13 Juni 2018, 20:10:52
Ja genau,

jeder muss immer dasselbe machen, seine Zeit damit verschwenden sich durch etliche Forenbeiträge zu wühlen und veraltete Wiki Informationen lesen. Wie geil wäre fhem, wenn man hier im Forum mal "best-practices Beispiele" lesen könnte zu einem Thema. Nee, da werden 250+ Seiten zu einem Thema geschrieben, jeder gibt seinen Senf dazu, es ist nix geordnet bzw. aktualisiert. Was ist denn so schwer daran, einmal den Wiki-Beitrag zumindest so zu editieren, dass 1. klar ist, dass man das interactionModel aus dem alexa device nicht im JSON Editor direkt verwenden kann und 2. ein funktionierendes Beispiel so wie von stefanru (inkl. code-tags) im wiki erscheint?

Ich kapier' es einfach nicht, warum man es bei fhem nicht schafft, das Wissen Einzelner an die Allgemeinheit weiterzugeben.

Ich werde mich jetzt mal bemühen dass ich Schreibzugriff aufs Wiki erhalte. Mal sehen was dabei rauskommt.

Viele Grüße vom gent
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: Amenophis86 am 26 Juli 2018, 22:48:34
Zitat von: gent am 13 Juni 2018, 20:10:52
Ich kapier' es einfach nicht, warum man es bei fhem nicht schafft, das Wissen Einzelner an die Allgemeinheit weiterzugeben.

Ich werde mich jetzt mal bemühen dass ich Schreibzugriff aufs Wiki erhalte. Mal sehen was dabei rauskommt.

Nix, wirst sehen Schreibzugriff bekommst du recht schnell und dann darfste dich austoben und alles verbessern, aktualisieren und auf dem aktuellen Stand halten. Die Community wird dir dankbar sein, denn es ist ein COMMUNITY-Projekt und kein Ich-Zahle-Und-Bekomme-Etwas-Produkt. Aber gut, solche Beiträge wird es leider immer wieder geben. Und wer ist eigentlich dieser "man" der immer alles machen soll?

Da schaue ich doch gerade mal ins Wiki und sehe, dass seit deinem Post (13.06) scheinbar noch nichts passiert ist bei dem Alexa-Fhem Eintrag. Da frage ich mich woran liegt es? Keine Zeit? Keine Lust? Privates Leben außerhalb von FHEM? Funktioniert es jetzt bei dir und andere sollen es selbst lösen können? Keine Wiki-Berechtigung bekommen? Fragen über Fragen ;)
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: gent am 31 Juli 2018, 22:14:57
Nee,

schwere Krankheit und noch anstehende OP! Da habe ich leider keine Zeit gehabt, mich um fhem zu kümmern. Zugriff auf's wiki habe ich schnell bekommen, daran liegt es also nicht. Mein Ziel war ein anderes, das könnt ihr mir glauben.

Viele Grüße
Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: Traxx am 26 August 2018, 23:45:34
Ich hoffe, ich habe keinen Fehler gemacht und mit Euren Informationen nun mal alles zusammengetragen
Diesen Code sollte man zuerst in JSON Editor einfügen und kann Ihn danach in den Unterpunkten bearbeiten.



{
    "interactionModel": {
        "languageModel": {
            "invocationName": "haus",
            "intents": [
                {
                    "name": "gradIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "grad_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "gradIntent stelle {Device} auf {grad_Value} grad",
                        "gradIntent stelle {Device} {preposition} {Room} auf {grad_Value} grad",
                        "gradIntent stelle {article} {Device} auf {grad_Value} grad",
                        "gradIntent stelle {article} {Device} {preposition} {Room} auf {grad_Value} grad"
                    ]
                },
                {
                    "name": "TargetPositionIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "TargetPosition_Value",
                            "type": "TargetPosition_Value"
                        },
                        {
                            "name": "TargetPosition_article",
                            "type": "TargetPosition_article"
                        }
                    ],
                    "samples": [
                        "TargetPositionIntent mach {Device} {TargetPosition_Value}",
                        "TargetPositionIntent mach {Device} {preposition} {Room} {TargetPosition_Value}",
                        "TargetPositionIntent mach {TargetPosition_article} {Device} {TargetPosition_Value}",
                        "TargetPositionIntent mach {TargetPosition_article} {Device} {preposition} {Room} {TargetPosition_Value}"
                    ]
                },
                {
                    "name": "prozentIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "prozent_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "prozentIntent stelle {Device} auf {prozent_Value} prozent",
                        "prozentIntent stelle {Device} {preposition} {Room} auf {prozent_Value} prozent",
                        "prozentIntent stelle {article} {Device} auf {prozent_Value} prozent",
                        "prozentIntent stelle {article} {Device} {preposition} {Room} auf {prozent_Value} prozent"
                    ]
                },
                {
                    "name": "HueIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_Value",
                            "type": "Hue_Value"
                        }
                    ],
                    "samples": [
                        "HueIntent stelle {Device} auf {Hue_Value}",
                        "HueIntent stelle {Device} {preposition} {Room} auf {Hue_Value}",
                        "HueIntent stelle {article} {Device} auf {Hue_Value}",
                        "HueIntent stelle {article} {Device} {preposition} {Room} auf {Hue_Value}"
                    ]
                },
                {
                    "name": "HueIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_ValueB",
                            "type": "Hue_ValueB"
                        }
                    ],
                    "samples": [
                        "HueIntentB färbe {Device} {Hue_ValueB}",
                        "HueIntentB färbe {Device} {preposition} {Room} {Hue_ValueB}",
                        "HueIntentB färbe {article} {Device} {Hue_ValueB}",
                        "HueIntentB färbe {article} {Device} {preposition} {Room} {Hue_ValueB}"
                    ]
                },
                {
                    "name": "SaturationIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "SaturationIntent stelle sättigung {Device} auf {Saturation_Value}",
                        "SaturationIntent stelle sättigung {Device} {preposition} {Room} auf {Saturation_Value}",
                        "SaturationIntent stelle sättigung {article} {Device} auf {Saturation_Value}",
                        "SaturationIntent stelle sättigung {article} {Device} {preposition} {Room} auf {Saturation_Value}"
                    ]
                },
                {
                    "name": "SaturationIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_ValueB",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "SaturationIntentB sättige {Device} {Saturation_ValueB}",
                        "SaturationIntentB sättige {Device} {preposition} {Room} {Saturation_ValueB}",
                        "SaturationIntentB sättige {article} {Device} {Saturation_ValueB}",
                        "SaturationIntentB sättige {article} {Device} {preposition} {Room} {Saturation_ValueB}"
                    ]
                },
                {
                    "name": "OnIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "On_Value",
                            "type": "On_Value"
                        }
                    ],
                    "samples": [
                        "OnIntent schalte {Device} {On_Value}",
                        "OnIntent schalte {Device} {preposition} {Room} {On_Value}",
                        "OnIntent schalte {article} {Device} {On_Value}",
                        "OnIntent schalte {article} {Device} {preposition} {Room} {On_Value}"
                    ]
                },
                {
                    "name": "BrightnessIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Brightness_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "BrightnessIntent stelle helligkeit {Device} auf {Brightness_Value} prozent",
                        "BrightnessIntent stelle helligkeit {Device} {preposition} {Room} auf {Brightness_Value} prozent",
                        "BrightnessIntent stelle helligkeit {article} {Device} auf {Brightness_Value} prozent",
                        "BrightnessIntent stelle helligkeit {article} {Device} {preposition} {Room} auf {Brightness_Value} prozent"
                    ]
                },
                {
                    "name": "FHEMgutenMorgenIntent",
                    "slots": [],
                    "samples": [
                        "FHEMgutenMorgenIntent guten morgen"
                    ]
                },
                {
                    "name": "FHEMguteNachtIntent",
                    "slots": [],
                    "samples": [
                        "FHEMguteNachtIntent gute nacht"
                    ]
                },
                {
                    "name": "StatusIntent",
                    "slots": [
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "StatusIntent status",
                        "StatusIntent {Device} status",
                        "StatusIntent status von {Device}",
                        "StatusIntent wie ist der status von {Device}",
                        "StatusIntent wie ist der status {preposition} {Room}"
                    ]
                },
                {
                    "name": "RoomAnswerIntent",
                    "slots": [
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "RoomAnswerIntent {preposition} {Room}"
                    ]
                },
                {
                    "name": "RoomListIntent",
                    "slots": [],
                    "samples": [
                        "RoomListIntent raumliste"
                    ]
                },
                {
                    "name": "DeviceListIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "DeviceListIntent geräteliste",
                        "DeviceListIntent geräteliste {Room}",
                        "DeviceListIntent geräteliste für {article} {Room}"
                    ]
                },
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                }
            ],
            "types": [
                {
                    "name": "FHEM_article",
                    "values": [
                        {
                            "name": {
                                "value": "den"
                            }
                        },
                        {
                            "name": {
                                "value": "das"
                            }
                        },
                        {
                            "name": {
                                "value": "die"
                            }
                        },
                        {
                            "name": {
                                "value": "der"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_Device",
                    "values": [
                        {
                            "name": {
                                "value": "licht"
                            }
                        },
                        {
                            "name": {
                                "value": "lampen"
                            }
                        },
                        {
                            "name": {
                                "value": "rolladen"
                            }
                        },
                        {
                            "name": {
                                "value": "rolläden"
                            }
                        },
                        {
                            "name": {
                                "value": "jalousie"
                            }
                        },
                        {
                            "name": {
                                "value": "jalousien"
                            }
                        },
                        {
                            "name": {
                                "value": "rollo"
                            }
                        },
                        {
                            "name": {
                                "value": "rollos"
                            }
                        },
                        {
                            "name": {
                                "value": "lampe"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_preposition",
                    "values": [
                        {
                            "name": {
                                "value": "in der"
                            }
                        },
                        {
                            "name": {
                                "value": "im"
                            }
                        },
                        {
                            "name": {
                                "value": "in"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_Room",
                    "values": [
                        {
                            "name": {
                                "value": "zwave"
                            }
                        },
                        {
                            "name": {
                                "value": "alexa"
                            }
                        }
                    ]
                },
                {
                    "name": "TargetPosition_Value",
                    "values": [
                        {
                            "name": {
                                "value": "zu"
                            }
                        },
                        {
                            "name": {
                                "value": "auf"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_Value",
                    "values": [
                        {
                            "name": {
                                "value": "rot"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "blau"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_ValueB",
                    "values": [
                        {
                            "name": {
                                "value": "rot"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "blau"
                            }
                        }
                    ]
                },
                {
                    "name": "On_Value",
                    "values": [
                        {
                            "name": {
                                "value": "um"
                            }
                        },
                        {
                            "name": {
                                "value": "aus"
                            }
                        },
                        {
                            "name": {
                                "value": "ein"
                            }
                        },
                        {
                            "name": {
                                "value": "an"
                            }
                        }
                    ]
                },
                {
                    "name": "TargetPosition_article",
                    "values": [
                        {
                            "name": {
                                "value": "die"
                            }
                        },
                        {
                            "name": {
                                "value": "den"
                            }
                        }
                    ]
                }
            ]
        }
    }
}

Titel: Antw:Custom Skill -> Probleme bei der Einrichtung
Beitrag von: Whilk-and-Misky am 10 August 2019, 17:48:38
Gude,

auch ich habe mich nun mit dem Thema Custom Skill beschäftigt und bin, wie einige hier aus dem Forum, nach einem halben Tag herumprobieren und eurer Hilfe weitergekommen. Der Codeausschnitt von Traxx hat mich hierbei auf den richten Weg geschupst, wobei ich diesen nicht richrig "sauber" bei Amazon importieren konnte.

Daher habe ich nun mal die (Grund-)Daten aus dem fhem amazon Device (interactionModel und customSlotTypes) von Hand eingetippt und möchte diese hier als Basis zur Verfügung stellen;
wie bei Traxx können im Anschluss die Unterpunkte bearbeitet werden:


{
    "interactionModel": {
        "languageModel": {
            "invocationName": "wohnung",
            "intents": [
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "TargetPositionIntent",
                    "slots": [
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "TargetPosition_Value",
                            "type": "TargetPosition_Value"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "TargetPosition_article",
                            "type": "TargetPosition_article"
                        }
                    ],
                    "samples": [
                        "mach {Device} {TargetPosition_Value}",
                        "mach {Device} {preposition} {Room} {TargetPosition_Value}",
                        "mach {TargetPosition_article} {Device} {TargetPosition_Value}",
                        "mach {TargetPosition_article} {Device} {preposition} {Room} {TargetPosition_Value}"
                    ]
                },
                {
                    "name": "prozentIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "prozent_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {prozent_Value} prozent",
                        "stelle {Device} {preposition} {Room} auf {prozent_Value} prozent",
                        "stelle {article} {Device} auf {prozent_Value} prozent",
                        "stelle {article} {Device} {preposition} {Room} auf {prozent_Value} prozent"
                    ]
                },
                {
                    "name": "BrightnessIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Brightness_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle helligkeit {Device} auf {Brightness_Value} prozent",
                        "stelle helligkeit {Device} {preposition} {Room} auf {Brightness_Value} prozent",
                        "stelle helligkeit {article} {Device} auf {Brightness_Value} prozent",
                        "stelle helligkeit {article} {Device} {preposition} {Room} auf {Brightness_Value} prozent"
                    ]
                },
                {
                    "name": "OnIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "On_Value",
                            "type": "On_Value"
                        }
                    ],
                    "samples": [
                        "schalte {Device} {On_Value}",
                        "schalte {Device} {preposition} {Room} {On_Value}",
                        "schalte {article} {Device} {On_Value}",
                        "schalte {article} {Device} {preposition} {Room} {On_Value}"
                    ]
                },
                {
                    "name": "gradIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "grad_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {grad_Value} grad",
                        "stelle {Device} {preposition} {Room} auf {grad_Value} grad",
                        "stelle {article} {Device} auf {grad_Value} grad",
                        "stelle {article} {Device} {preposition} {Room} auf {grad_Value} grad"
                    ]
                },
                {
                    "name": "SaturationIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_Value",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "stelle sättigung {Device} auf {Saturation_Value}",
                        "stelle sättigung {Device} {preposition} {Room} auf {Saturation_Value}",
                        "stelle sättigung {article} {Device} auf {Saturation_Value}",
                        "stelle sättigung {article} {Device} {preposition} {Room} auf {Saturation_Value}"
                    ]
                },
                {
                    "name": "SaturationIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Saturation_ValueB",
                            "type": "AMAZON.NUMBER"
                        }
                    ],
                    "samples": [
                        "sättige {Device} {Saturation_ValueB}",
                        "sättige {Device} {preposition} {Room} {Saturation_ValueB}",
                        "sättige {article} {Device} {Saturation_ValueB}",
                        "sättige {article} {Device} {preposition} {Room} {Saturation_ValueB}"
                    ]
                },
                {
                    "name": "HueIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_Value",
                            "type": "Hue_Value"
                        }
                    ],
                    "samples": [
                        "stelle {Device} auf {Hue_Value}",
                        "stelle {Device} {preposition} {Room} auf {Hue_Value}",
                        "stelle {article} {Device} auf {Hue_Value}",
                        "stelle {article} {Device} {preposition} {Room} auf {Hue_Value}"
                    ]
                },
                {
                    "name": "HueIntentB",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        },
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Hue_ValueB",
                            "type": "Hue_ValueB"
                        }
                    ],
                    "samples": [
                        "färbe {Device} {Hue_ValueB}",
                        "färbe {Device} {preposition} {Room} {Hue_ValueB}",
                        "färbe {article} {Device} {Hue_ValueB}",
                        "färbe {article} {Device} {preposition} {Room} {Hue_ValueB}"
                    ]
                },
                {
                    "name": "StatusIntent",
                    "slots": [
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        },
                        {
                            "name": "Device",
                            "type": "FHEM_Device"
                        }
                    ],
                    "samples": [
                        "status",
                        "{Device} status",
                        "status von {Device}",
                        "wie ist der status von {Device}",
                        "wie ist der status {preposition} {Room}"
                    ]
                },
                {
                    "name": "RoomAnswerIntent",
                    "slots": [
                        {
                            "name": "preposition",
                            "type": "FHEM_preposition"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "{preposition} {Room}"
                    ]
                },
                {
                    "name": "RoomListIntent",
                    "slots": [],
                    "samples": []
                },
                {
                    "name": "DeviceListIntent",
                    "slots": [
                        {
                            "name": "article",
                            "type": "FHEM_article"
                        },
                        {
                            "name": "Room",
                            "type": "FHEM_Room"
                        }
                    ],
                    "samples": [
                        "geräteliste",
                        "geräteliste {Room}",
                        "geräteliste für {article} {Room}"
                    ]
                }
            ],
            "types": [
                {
                    "name": "FHEM_article",
                    "values": [
                        {
                            "name": {
                                "value": "der"
                            }
                        },
                        {
                            "name": {
                                "value": "die"
                            }
                        },
                        {
                            "name": {
                                "value": "das"
                            }
                        },
                        {
                            "name": {
                                "value": "den"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_preposition",
                    "values": [
                        {
                            "name": {
                                "value": "in"
                            }
                        },
                        {
                            "name": {
                                "value": "im"
                            }
                        },
                        {
                            "name": {
                                "value": "in der"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_Value",
                    "values": [
                        {
                            "name": {
                                "value": "blau"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "rot"
                            }
                        }
                    ]
                },
                {
                    "name": "Hue_ValueB",
                    "values": [
                        {
                            "name": {
                                "value": "blau"
                            }
                        },
                        {
                            "name": {
                                "value": "grün"
                            }
                        },
                        {
                            "name": {
                                "value": "rot"
                            }
                        }
                    ]
                },
                {
                    "name": "On_Value",
                    "values": [
                        {
                            "name": {
                                "value": "an"
                            }
                        },
                        {
                            "name": {
                                "value": "ein"
                            }
                        },
                        {
                            "name": {
                                "value": "aus"
                            }
                        },
                        {
                            "name": {
                                "value": "um"
                            }
                        }
                    ]
                },
                {
                    "name": "TargetPosition_Value",
                    "values": [
                        {
                            "name": {
                                "value": "auf"
                            }
                        },
                        {
                            "name": {
                                "value": "zu"
                            }
                        }
                    ]
                },
                {
                    "name": "TargetPosition_article",
                    "values": [
                        {
                            "name": {
                                "value": "den"
                            }
                        },
                        {
                            "name": {
                                "value": "die"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_Device",
                    "values": [
                        {
                            "name": {
                                "value": "licht"
                            }
                        },
                        {
                            "name": {
                                "value": "lampen"
                            }
                        },
                        {
                            "name": {
                                "value": "rolladen"
                            }
                        },
                        {
                            "name": {
                                "value": "rollläden"
                            }
                        },
                        {
                            "name": {
                                "value": "jalousie"
                            }
                        },
                        {
                            "name": {
                                "value": "jalousien"
                            }
                        },
                        {
                            "name": {
                                "value": "rollo"
                            }
                        },
                        {
                            "name": {
                                "value": "rollos"
                            }
                        },
                        {
                            "name": {
                                "value": "lampe"
                            }
                        }
                    ]
                },
                {
                    "name": "FHEM_Room",
                    "values": [
                        {
                            "name": {
                                "value": "arbeitszimmer"
                            }
                        },
                        {
                            "name": {
                                "value": "wohnzimmer"
                            }
                        }
                    ]
                }
            ]
        }
    }
}