Custom Skill -> Probleme bei der Einrichtung

Begonnen von hermann1514, 23 Mai 2018, 08:45:57

Vorheriges Thema - Nächstes Thema

hermann1514

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

stefanru

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"
                            }
                        },
                        {<

gent

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
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

amenomade

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 ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

TomLee

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.

TomLee

@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

gent

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
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Amenophis86

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 ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

gent

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
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

Traxx

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"
                            }
                        }
                    ]
                }
            ]
        }
    }
}


Whilk-and-Misky

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"
                            }
                        }
                    ]
                }
            ]
        }
    }
}