Index: titan/plugins/sispmctl/sispmctl.c
===================================================================
--- titan/plugins/sispmctl/sispmctl.c	(revision 41700)
+++ titan/plugins/sispmctl/sispmctl.c	(revision 41764)
@@ -29,5 +29,14 @@
 	debug(10, "sispmctl Plugin loaded !!!");
 	
-	sispmctl_start(2);
+	startextern = 0;
+	if( ! file_exist("/var/etc/plugin/ps01sispm"))
+		sispmctl_start(2);
+	else
+		startextern = 1;
+	
+	if(file_exist("/var/etc/plugin/pe01sispm"))
+		stopextern = 1;
+	else
+		stopextern = 0;
 	
 	if(sispmctl_checkthread == NULL)
@@ -40,5 +49,6 @@
 	if(sispmctl_checkthread != NULL)
 		sispmctl_checkthread->aktion = STOP;
-	sispmctl_stop(2);
+	if( ! file_exist("/var/etc/plugin/pe01sispm"))
+		sispmctl_stop(2);
 	if(sispmctl_checkthread != NULL)
 		sleep(2);
Index: titan/plugins/sispmctl/sispmctl.h
===================================================================
--- titan/plugins/sispmctl/sispmctl.h	(revision 41700)
+++ titan/plugins/sispmctl/sispmctl.h	(revision 41764)
@@ -7,4 +7,6 @@
 char* sispmctlconf = NULL;
 struct stimerthread* sispmctl_checkthread = NULL;
+int startextern = 0;
+int stopextern = 0;
 
 int sispmctl_Anzeige()
@@ -499,10 +501,16 @@
 	{
 	
-		if(ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "deep") == 0 && flag == 2))
-		{
+		if(ostrcmp(flag == 3 || getlist(myconfig, "g1_auto_on", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_on", NULL), "deep") == 0 && flag == 2))
+		{
+			if(flag == 3)
+				writesys("/var/etc/plugin/ps01sispm", "#!/bin/sh", 1);
+			
 			if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
 			{
 				cmd = ostrcat(createpluginpath("/sispmctl/bin/g1_script.sh", 0), " start", 0, 0);	
-				system(cmd);
+				if(flag = 3)
+					writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+				else
+					system(cmd);
 				free(cmd); cmd = NULL;
 			}
@@ -526,5 +534,8 @@
 				cmd = ostrcat(cmd, " -o1) &", 1, 0);
 			}
-			system(cmd);
+			if(flag = 3)
+				writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+			else
+				system(cmd);
 			printf("%s\n", cmd);
 			free(cmd); cmd = NULL;
@@ -535,5 +546,8 @@
 			{
 				cmd = ostrcat(createpluginpath("/sispmctl/bin/g2_script.sh", 0), " start", 0, 0);	
-				system(cmd);
+				if(flag = 3)
+					writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+				else
+					system(cmd);
 				free(cmd); cmd = NULL;
 			}
@@ -556,5 +570,8 @@
 				cmd = ostrcat(cmd, " -o2) &", 1, 0);				
 			}
-			system(cmd);
+			if(flag = 3)
+				writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+			else
+				system(cmd);
 			printf("%s\n", cmd);
 			free(cmd); cmd = NULL;
@@ -565,5 +582,8 @@
 			{
 				cmd = ostrcat(createpluginpath("/sispmctl/bin/g3_script.sh", 0), " start", 0, 0);	
-				system(cmd);
+				if(flag = 3)
+					writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+				else
+					system(cmd);
 				free(cmd); cmd = NULL;
 			}
@@ -587,5 +607,8 @@
 
 			}
-			system(cmd);
+			if(flag = 3)
+				writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+			else
+				system(cmd);
 			printf("%s\n", cmd);
 			free(cmd); cmd = NULL;
@@ -596,5 +619,8 @@
 			{
 				cmd = ostrcat(createpluginpath("/sispmctl/bin/g4_script.sh", 0), " start", 0, 0);	
-				system(cmd);
+				if(flag = 3)
+					writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+				else
+					system(cmd);
 				free(cmd); cmd = NULL;
 			}
@@ -617,5 +643,8 @@
 				cmd = ostrcat(cmd, " -o4) &", 1, 0);				
 			}
-			system(cmd);
+			if(flag = 3)
+				writesys("/var/etc/plugin/ps01sispm", cmd, 3);
+			else
+				system(cmd);
 			printf("%s\n", cmd);
 			free(cmd); cmd = NULL;
@@ -628,6 +657,9 @@
 	char* cmd = NULL;
 	int maxsleep = 0;
-	if(ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "deep") == 0 && flag == 2))
+	if(ostrcmp(flag == 3 || getlist(myconfig, "g1_auto_off", NULL), "both") == 0 || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "standby") == 0 && flag == 1) || (ostrcmp(getlist(myconfig, "g1_auto_off", NULL), "deep") == 0 && flag == 2))
 	{
+		if(flag == 3)
+				writesys("/var/etc/plugin/pe01sispm", "#!/bin/sh", 1);
+		
 		if(ostrcmp(getlist(myconfig, "g1_script", NULL), "yes") == 0)
 		{
