Alexa Custom Skill Modul

Hallo,

derzeit habe ich zum einen den IPS Skill laufen und kann damit schon die meisten Sachen steuern. Damit aber meine Kids besser mit Alexa umgehen können, möchte ich gerne noch die Custom Skill integrieren.

Das Beispiel „Frage Demo“ habe ich bei mir integriert und das funktioniert auch schon so weit.

Nun würde ich gerne anfangen und meine Sonos integrieren (nichts aufregendes, erst mal nur an/aus und eine Handvoll Radiosender/Playlisten.

Dazu habe ich mir vorgestellt einen Intent zu erstellen SelectSonos (Küche, Wohnzimmer, Schlafzimmer, Bad, Alicia, Nico) und einen Intent SetPlaylist (1Live, Top40, Kinderradio).

Leider stehe ich jedoch wie der Ochs vorm Berge. Meine Frage ist nun, wie ich vorgehe, kann ich einfach das bestehende Frage Demo „erweitern“ oder ist es sinniger ein komplett neues einzurichten?

Wenn ich erweitere, gehe ich dann einfach im Developer Bereich und erweitere z.B. bei den Intent Schema einfach um:

    {
      "intent": "SelectSonos",
      "slots": [
        {
          "name": "selectsonos",
          "type": "Select_Sonos"
        }
      ]
    },
    {
      "intent": "SetPlaylist",
      "slots": [
        {
          "name": "setplaylist",
          "type": "Set_Playlists"
        }
      ]
    },

Und dann unter Sample Uterances:


SelectSonos {selectsonos} ein
SetPlaylist starte {setplaylist}

Stelle ich mir das so richtig vor?

Danach dann im IPS die Intents SelectSonos und SetPlaylist erstellen, welche in den Scripts die Cases haben, die die entsprechenden Werte auswerten und Aktionen ausführen?

Danke für eure Hilfe.

Ja, genau.

Prima, Danke für deine Hilfe und vor allem für das Modul.

Ok, musste doch ein wenig angepasst werden:

Intent Schema:

"intents": [
    {
      "intent": "SelectSonos",
      "slots": [
        {
          "name": "selected_sonos",
          "type": "Information_Sonos"
        }
      ]
    },
    {
      "intent": "SetPlaylist",
      "slots": [
        {
          "name": "selected_playlist",
          "type": "Information_Playlist"
        }
      ]
    },

Sample Uterances:

SelectSonos Schalte Sonos im {selected_sonos} ein
SelectSonos Schalte Sonos im {selected_sonos} aus
SetPlaylist starte {selected_playlist} 
SetPlaylist spiele {selected_playlist} 

Custom Slot Types:

Information_Sonos:
Küche
Wohnzimmer
Schlafzimmer
Bad
Alicia
Nico

Information_Playlist:
Eins Live
Kinderradio
Top Vierzig
Schlaf

Jetzt kann ich es wenigstens ohne Fehler speichern.

Wenn ich es aufrufe (z.B. Alexa, sage Smarthome spiele Kinderradio) bekomme ich die Meldung, das in dem Skill kein passender Intent gefunden werden konnte.

P.s.: Ich habe das Sample von dir (patemi) nicht Demo sondern Smarthome genannt.

Schau doch mal in den Debug Modus deiner Patami Instanz
Da müssen dann die richtigen Wörter ankommen.

Dein Schema sollte eher so aussehen, dann kannst du alles in einem Script abhandeln

{
  "intents": [
    {
      "intent": "SelectSonos",
      "slots": [
        {
          "name": "Information_Sonos",
          "type": "Information_Sonos"
        },
        {
          "name": "Information_Playlist",
          "type": "Information_Playlist"
        },
        {
          "name": "typ",
          "type": "typ"
        },
        {
          "name": "action",
          "type": "action"
        }
      ]
    }, 

Ich habe noch Typ eingefügt für die du noch ein Custom Slot einfügen musst,
darin packst du dann das Wort „Kinderradio“ und Action darin z.b ein, an, aus, einschalten, ausschalten, starten, stoppen…

Die Sample Uterances muss dann so heißen:
SelectSonos spiele {typ}
SelectSonos Schalte Sonos im {Information_Sonos} {action}

mit deinem Script kommst du klar ??
Grüße Daniel

Meins sieht so aus … vielleicht hilft es ja :smiley:

<?
function ExecuteAction($name, $id, array $slots, $locale)

{
	$roomname = strtolower(@$slots['rooms']);
    $action = strtolower(@$slots['action']);
	if($roomname == "wohnzimmer") 
   {
   		if(($action == "ein") or ($action == "einschalten") or ($action == "starten"))
		{     
			$status = "aus";
			SNS_SetDefaultVolume(37398 /*[Hardware\Sonos\Sonos Wohnzimmer]*/, 30);
			SNS_SetRadio(37398 /*[Hardware\Sonos\Sonos Wohnzimmer]*/, "harmony.fm");
			SNS_Play(37398 /*[Hardware\Sonos\Sonos Wohnzimmer]*/);
			return AlexaCustomSkillPlainTextResponse::create('OK'); 
		}
		if(($action == "aus") or ($action == "ausschalten") or ($action == "stoppen")) 
   		{      
			$status = "aus";
			SNS_Stop(37398 /*[Hardware\Sonos\Sonos Wohnzimmer]*/);
			return AlexaCustomSkillPlainTextResponse::create('OK');  
   		}
   }
   	if(($roomname == "küche" ) or ($roomname == "esszimmer"))
   {     
   		if(($action == "ein" ) or ($action == "einschalten") or ($action == "starten"))
		{
			$status = "aus";
			SNS_SetDefaultVolume(51952 /*[Hardware\Sonos\Sonos Küche]*/, 30);
			SNS_SetRadio(51952 /*[Hardware\Sonos\Sonos Küche]*/, "harmony.fm");
			SNS_Play(51952 /*[Hardware\Sonos\Sonos Küche]*/);
			return AlexaCustomSkillPlainTextResponse::create('OK'); 
   		}
		if(($action == "aus" ) or ($action == "ausschalten") or ($action == "stoppen"))
		{
			$status = "aus";
			SNS_Stop(51952 /*[Hardware\Sonos\Sonos Küche]*/ );
			return AlexaCustomSkillPlainTextResponse::create('OK');  
		}
   }

in der console wird mein licht ein und ausgeschaltet

jedoch wenn ich alexa sage esszimmer licht ein, dann sagt sie nur ok aber nichts passiert.

hat jemand eine idee?

Welchen Invocation Name benutzt du den ??
Siehe hier 1.JPG

jedoch wenn ich alexa sage esszimmer licht ein

So musst du natürlich auch deine Sätze aussprechen.

"Alexa sage Demo Licht im Esszimmer ein "

ein paar mehr Informationen wären hilfreich

danke für die antwort

SERVICE REUQEST


{
  "session": {
    "sessionId": "SessionId.d8245fd2-5661-4bf0-9cce-XXXXXXXXXXX",
    "application": {
      "applicationId": "amzn1.ask.skill.7575e57c-7575XXXXXXXXXXXXXXX"
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account.AFCVGDXTHTGLASTTG6UXXXXXXXXXXXXX"
    },
    "new": true
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.80f1eb41-5abc-4faa-9932-22271a76992b",
    "locale": "de-DE",
    "timestamp": "2017-03-18T14:45:32Z",
    "intent": {
      "name": "ToggleLight",
      "slots": {
        "rooms": {
          "name": "rooms",
          "value": "esszimmer"
        },
        "action": {
          "name": "action",
          "value": "ein"
        },
        "device": {
          "name": "device"
        }
      }
    }
  },
  "version": "1.0"
}

SERVICE RESONSE

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Ich weiss nicht, auf was Du antwortest."
    },
    "shouldEndSession": true
  },
  "sessionAttributes": {}
}

SCRIPT

<?php
function ExecuteAction($name, $id, array $slots, $locale, $sessionControllerId){
    
    $roomname = strtolower(@$slots['rooms']);
    $action = strtolower(@$slots['action']);
    $device = strtolower(@$slots['device']);
    
    switch ($roomname) {
       
        case 'esszimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet');
        
           
        default:
            return AlexaCustomSkillPlainTextResponse::create(
                'Ich kenne diesen Raum nicht. Du kannst zum Beispiel nach Wohnzimmer, Arbeitszimmer, Gästezimmer, Kinderzimmer fragen.'
            )->ContinueSession($id, $slots);
    }
}

function toggleLight($roomname, $action)
{
   if($roomname == "esszimmer"){
        if($action == "aus"){   
            FS20_SwitchMode(33972 /*[Haus\EG\Esszimmer\Licht Tisch]*/, false);
            $status = "aus";
        }
        elseif($action == "ein"){
            FS20_SwitchMode(33972 /*[Haus\EG\Esszimmer\Licht Tisch]*/, true);
            $status = "ein";
        }
        elseif($action == "an"){
            FS20_SwitchMode(33972 /*[Haus\EG\Esszimmer\Licht Tisch]*/, true);
            $status = "ein";
        }
   }
  
   return $status;
}

DEBUG

Intent Name: ToggleLight
Locale: de-DE
Slots: {"action":"an","rooms":"esszimmer"}
Session Controller: Not Set
Action: Forward to session session controller
Forward to Session Controller: Session controller not Set

mein invocation name ist haus

muss ich immer „sage haus licht esszimmer ein“ sagen?

Das Problem liegt wohl in deinem Script, das muss ich mir später nochmal genau ansehen. Die Antworten von Amazon und die die in deinem Script / Debug ankommen sehen aber gut aus.

Und ja du musst leider „noch“ sagen
„Alexa sage haus licht esszimmer ein“

Ich hoffe es wird bald ein bessere Möglichkeit dafür geben dann wäre ich mehr als zufrieden.

Hallo milleniumwa,

schreib doch mal deinen ersten Satz im Script

function ExecuteAction($name, $id, array $slots, $locale, $sessionControllerId)

in

function ExecuteAction($name, $id, array $slots, $locale)

um und berichte was passiert

so hat jetzt endlich geklappt

das licht wird zwar geschalten aber alexa sagt
„bei der kommunikation mit dem aneforderten skill ist ein fehler aufgetreten“

script


<?
function ExecuteAction($name, $id, array $slots, $locale, $sessionControllerId){
    
    $roomname   = strtolower(@$slots['rooms']);
    $action     = strtolower(@$slots['action']);
    $device     = strtolower(@$slots['device']);
    $location   = strtolower(@$slots['location']);
    
    switch ($roomname) {
        // KG

        case 'abstellkeller':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'wellness':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'werkzeugkeller':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        // EG

        case 'wohnzimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'esszimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'küche':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'flurunten':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'flur':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'gästewc':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'waschküche':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde in der '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'eingang':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        
        // OG
        
        case 'bad':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;        

        case 'fluroben':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'gästezimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'ankleidezimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        case 'empore':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde auf der '.$roomname.' '.toggleLight($roomname, $action).'geschaltet')->ContinueSession($sessionControllerId);
        break;

        // DG
        
        case 'büro':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet');
        break;
        
        case 'schlafzimmer':
            return AlexaCustomSkillPlainTextResponse::create('Das Licht wurde im '.$roomname.' '.toggleLight($roomname, $action).'geschaltet');
        break;

        /*
        case '':
            $slots['_question'] = 'subject';
            return AlexaCustomSkillPlainTextResponse::create(
                'Ich kann Dir die Anzahl von Objekten nennen. Welche Art von Objekt interessiert Dich?'
            )->ContinueSession($id, $slots);
        break;
        */    
        default:
            return AlexaCustomSkillPlainTextResponse::create(
                'Ich kenne diesen Raum nicht. Du kannst zum Beispiel nach Küche, Wohnzimmer, Esszimmer, Schlafzimmer oder Bad fragen.'
            )->ContinueSession($id, $slots);
        break;
    }
}


//FS20_SwitchMode(23793, /*büro licht*/ false);
//FS20_SwitchMode(33972, /*esszimmer licht*/ false);
//FS20_SwitchMode(42367, /*esszimmer spotts*/ false);
//FS20_SwitchMode(23074, /*schlafzimmer licht*/ false);
//FS20_SwitchMode(13855, /*wohnzimmer licht*/ false);


function toggleLight($roomname, $action)
{
   if($roomname == "esszimmer"){
        if(isset($slots['device'])){
            if ($device == 'licht') {
                if($action == "aus"){   
                FS20_SwitchMode(33972, /*esszimmer licht*/ false);
                $status = "aus";
                }
                elseif($action == "ein"){
                    FS20_SwitchMode(33972, /*esszimmer licht*/ true);
                    $status = "ein";
                }
                elseif($action == "an"){
                    FS20_SwitchMode(33972, /*esszimmer licht*/ true);
                    $status = "ein";
                }
            }
            elseif($device == 'spotts'){
                if($action == "aus"){   
                FS20_SwitchMode(42367, /*esszimmer spotts*/ false);
                $status = "aus";
                }
                elseif($action == "ein"){
                    FS20_SwitchMode(42367, /*esszimmer spotts*/ true);
                    $status = "ein";
                }
                elseif($action == "an"){
                    FS20_SwitchMode(42367, /*esszimmer spotts*/ true);
                    $status = "ein";
                }   
            }
        }
        else{
            if($action == "aus"){   
                FS20_SwitchMode(33972, /*esszimmer licht*/ false);
                $status = "aus";
            }
            elseif($action == "ein"){
                FS20_SwitchMode(33972, /*esszimmer licht*/ true);
                $status = "ein";
            }
            elseif($action == "an"){
                FS20_SwitchMode(33972, /*esszimmer licht*/ true);
                $status = "ein";
            }
        }
   }
   
   elseif($roomname == "wohnzimmer"){
        if($action == "aus"){   
            FS20_SwitchMode(13855, /*wohnzimmer*/ false);
            $status = "aus";
        }
        elseif($action == "ein"){
            FS20_SwitchMode(13855, /*wohnzimmer*/ true);
            $status = "ein";
        }
        elseif($action == "an"){
            FS20_SwitchMode(13855, /*wohnzimmer*/ true);
            $status = "ein";
        }
   }

   elseif($roomname == "schlafzimmer"){
        if($action == "aus"){   
            FS20_SwitchMode(23074, /*schlafzimmer*/ false);
            $status = "aus";
        }
        elseif($action == "ein"){
            FS20_SwitchMode(23074, /*schlafzimmer*/ true);
            $status = "ein";
        }
        elseif($action == "an"){
            FS20_SwitchMode(23074, /*schlafzimmer*/ true);
            $status = "ein";
        }
   }

   elseif($roomname == "büro" || $roomname == "arbeitszimmer"){
        if($action == "aus"){   
            FS20_SwitchMode(23793, /*büro*/ false);
            $status = "aus";
        }
        elseif($action == "ein"){
            FS20_SwitchMode(23793, /*büro*/ true);
            $status = "ein";
        }
        elseif($action == "an"){
            FS20_SwitchMode(23793, /*büro*/ true);
            $status = "ein";
        }
   }
  
   return $status;
}  

debug


TXT: 19.03.2017 20:21:27.00 |          Intent Name | ToggleLight
HEX: 19.03.2017 20:21:27.00 |          Intent Name | 54 6F 67 67 6C 65 4C 69 67 68 74 
TXT: 19.03.2017 20:21:27.00 |               Locale | de-DE
HEX: 19.03.2017 20:21:27.00 |               Locale | 64 65 2D 44 45 
TXT: 19.03.2017 20:21:27.00 |                Slots | {"action":"ein","rooms":"wohnzimmer","device":"licht"}
HEX: 19.03.2017 20:21:27.00 |                Slots | 7B 22 61 63 74 69 6F 6E 22 3A 22 65 69 6E 22 2C 22 72 6F 6F 6D 73 22 3A 22 77 6F 68 6E 7A 69 6D 6D 65 72 22 2C 22 64 65 76 69 63 65 22 3A 22 6C 69 63 68 74 22 7D 
TXT: 19.03.2017 20:21:27.00 |   Session Controller | Not set
HEX: 19.03.2017 20:21:27.00 |   Session Controller | 4E 6F 74 20 73 65 74 
TXT: 19.03.2017 20:21:27.00 |               Action | Execute default script
HEX: 19.03.2017 20:21:27.00 |               Action | 45 78 65 63 75 74 65 20 64 65 66 61 75 6C 74 20 73 63 72 69 70 74 
TXT: 19.03.2017 20:21:27.00 |        Action Script | Executing action script 19716 (Alexa\ToggleLight\Action)
HEX: 19.03.2017 20:21:27.00 |        Action Script | 45 78 65 63 75 74 69 6E 67 20 61 63 74 69 6F 6E 20 73 63 72 69 70 74 20 31 39 37 31 36 20 28 41 6C 65 78 61 5C 54 6F 67 67 6C 65 4C 69 67 68 74 5C 41 63 74 69 6F 6E 29 
TXT: 19.03.2017 20:21:27.00 |        Action Script | - Intent Name: ToggleLight
HEX: 19.03.2017 20:21:27.00 |        Action Script | 2D 20 49 6E 74 65 6E 74 20 4E 61 6D 65 3A 20 54 6F 67 67 6C 65 4C 69 67 68 74 
TXT: 19.03.2017 20:21:27.00 |        Action Script | - Intent ID: 52337 (Alexa\ToggleLight)
HEX: 19.03.2017 20:21:27.00 |        Action Script | 2D 20 49 6E 74 65 6E 74 20 49 44 3A 20 35 32 33 33 37 20 28 41 6C 65 78 61 5C 54 6F 67 67 6C 65 4C 69 67 68 74 29 
TXT: 19.03.2017 20:21:27.00 |        Action Script | - Slots: {"action":"ein","rooms":"wohnzimmer","device":"licht"}
HEX: 19.03.2017 20:21:27.00 |        Action Script | 2D 20 53 6C 6F 74 73 3A 20 7B 22 61 63 74 69 6F 6E 22 3A 22 65 69 6E 22 2C 22 72 6F 6F 6D 73 22 3A 22 77 6F 68 6E 7A 69 6D 6D 65 72 22 2C 22 64 65 76 69 63 65 22 3A 22 6C 69 63 68 74 22 7D 
TXT: 19.03.2017 20:21:27.00 |        Action Script | - Locale: de-DE
HEX: 19.03.2017 20:21:27.00 |        Action Script | 2D 20 4C 6F 63 61 6C 65 3A 20 64 65 2D 44 45 
TXT: 19.03.2017 20:21:27.00 |        Action Script | - Session Controller ID: 0 (Smart Home)
HEX: 19.03.2017 20:21:27.00 |        Action Script | 2D 20 53 65 73 73 69 6F 6E 20 43 6F 6E 74 72 6F 6C 6C 65 72 20 49 44 3A 20 30 20 28 53 6D 61 72 74 20 48 6F 6D 65 29 



@Yepp84 (und natürlich alle, die helfen können ;)):

Danke vielmals für deine Hilfe.

Gehe ich recht in der Annahme, das ich den Code im Actionscribpt vom Select_Sonos Intention vom IPS einrichte?

Dann hast du in Ziele 5 folgendes verwendet:

$roomname = strtolower(@$slots['rooms']); 

Muss ich da nicht statt ‚rooms‘ Selected_Sonos verwenden?

Edit:

Wenn ich die beiden Sample uterances aufrufe, bekomme ich von Alexa die Meldung das ein Problem mit der Kommunikation mit dem entsprechenden Skill besteht. Nutze ich aber im selben Skill die Patemi Demos (z.B: Informationen über Module) bekomme ich die gewünschten Informationen.

Das einzige was Du machen kannst auf den Launchintent die Session offen zu lassen und dann in ein Frage Antwort Dialog zu gehen. Dann brauchst Du in den 8 Sekunden die Du auf die Rückfrage von Alexa antworten kannst den Skill nicht erneut aktivieren, da dieser ja schon aktiv ist. Initial musst Du jedoch den Skill immer mit dem Nutzen des Invocation Names aktivieren.

Also so:
Alexa öffne Haus
Was kann ich für Dich tun?
Schalte Licht im Esszimmer ein
Noch was?
Stop
Bis bald

Ja genau der Ort ist richtig, du musst das Script natürlich noch auf deine Bedürfnisse anpassen und erweitern, sollte nur ein Beispiel sein, ist nur ein Auszug von mir.

Hi!

Ich würde Dein Modul gerne testen, aber leider besteht das Problem immernoch, dass unter Linux der Modul-Installier nicht mehr mit git-URL klar kommt, die https verwenden.

Ersetzt man bei Deiner URL das https durch git, so stürzt die Konsole bei mir reproduzierbar ab.

Kannst Du versuchen das Modul mal über http anzubieten?
Am bester wäre eine URL die mit git anfängt. Die gehen alle noch.

Paresy meint wohl das liegt an Ubuntu. Das Problem besteht jetzt aber schon über eine Monat und ein fix ist nicht in Sicht.

Sorry, anonym geht SSH leider nicht.
HTTP ist per HSTS abgeschaltet.
Würde gerne helfen, aber leider nicht machbar.

Bitte verwendet dieses Modul hier nicht mehr.

Es gibt eine neue Version, die hier beschrieben ist: Patami Alexa Skill Framework

Bestehende Anwender sollten auch umstellen. Beachtet bitte, dass ihr hierzu Umstellungen an den bisherigen Skripten machen müsst.

Hi Flo,

Kann es sein das das der alte custom Skill garnicht mehr lauffähig ist ???

Mir hat ist heute Nacht mein IPS komplett ab geraucht. Sobald ich den Skill löschen oder neu anlegen will hängt sich der IPS Server komplett auf.
Bearbeiten kann ich ihn auch nicht mehr siehe Fehlermeldung. Ich muss mich jetzt mal mit dem neuen Skill beschäftigen…aber das Wetter ist doch viel zu schön …:smiley:

Grüße Daniel