From 8be41a6aa0fd67f52985135bd7aae30336e730f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Tue, 17 Aug 2021 18:13:04 +0200
Subject: [PATCH] added autoLabel-rules for PSN

---
 ...snServerBlock.java => PsnBrokerBlock.java} | 20 +++++---
 .../block/communication/PsnClientBlock.java   | 20 ++++----
 .../communication/PsnDataToSendBlock.java     |  9 +++-
 .../communication/PsnHandleNetBlock.java      | 13 +++++-
 .../block/communication/PsnPublishBlock.java  | 14 ++++--
 .../communication/PsnSubscribeBlock.java      | 11 +++--
 .../communication/PsnUnsubscribeBlock.java    | 11 +++--
 .../block/numbers/LocalVariableCharBlock.java |  1 +
 .../numbers/LocalVariableDigitalBlock.java    |  1 +
 .../block/numbers/LocalVariableFileBlock.java |  1 +
 .../numbers/LocalVariableNumberBlock.java     |  1 +
 .../numbers/LocalVariableStringBlock.java     |  1 +
 .../com/ardublock/block/ardublock.properties  |  4 +-
 .../com/ardublock/block/ardublock.xml         | 46 +++++++++----------
 .../ardublock/block/ardublock_de.properties   | 16 +++----
 .../ardublock/block/block-mapping.properties  |  2 +-
 16 files changed, 108 insertions(+), 63 deletions(-)
 rename src/main/java/com/ardublock/translator/block/communication/{PsnServerBlock.java => PsnBrokerBlock.java} (67%)

diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnServerBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnBrokerBlock.java
similarity index 67%
rename from src/main/java/com/ardublock/translator/block/communication/PsnServerBlock.java
rename to src/main/java/com/ardublock/translator/block/communication/PsnBrokerBlock.java
index 4e2f957..d450435 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnServerBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnBrokerBlock.java
@@ -5,9 +5,9 @@ import com.ardublock.translator.block.TranslatorBlock;
 import com.ardublock.translator.block.exception.SocketNullException;
 import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
 
-public class PsnServerBlock extends TranslatorBlock
+public class PsnBrokerBlock extends TranslatorBlock
 {
-	public PsnServerBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
+	public PsnBrokerBlock(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
 	{
 		super(blockId, translator, codePrefix, codeSuffix, label);
 	}
@@ -16,14 +16,20 @@ public class PsnServerBlock extends TranslatorBlock
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
 		String serialName = "sSerial";
-		String pubSubName = "";
+		//String pubSubName = "";
 		String pubSubType = "didacticPSNetBroker";
 		
-		TranslatorBlock psnName = this.getRequiredTranslatorBlockAtSocket(0);//Name
-		TranslatorBlock rxPin = this.getRequiredTranslatorBlockAtSocket(1);//Pin Rx
-		TranslatorBlock txPin = this.getRequiredTranslatorBlockAtSocket(2);//Pin Tx
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String pubSubName = label.trim();
+		if(pubSubName.contains(" ")) {
+			pubSubName = pubSubName.substring(pubSubName.lastIndexOf(" ")+1, pubSubName.length());
+		}
 		
-		pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", "");
+		//TranslatorBlock psnName = this.getRequiredTranslatorBlockAtSocket(0);//Name
+		TranslatorBlock rxPin = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx
+		TranslatorBlock txPin = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx
+		
+		//pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", "");
 		
 		translator.addHeaderFile("didacticNet.h");
 		translator.addHeaderFile("SoftwareSerial.h");
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnClientBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnClientBlock.java
index 6119958..62afc2b 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnClientBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnClientBlock.java
@@ -15,26 +15,30 @@ public class PsnClientBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-
 		String serialName = "sSerial";
-		String pubSubName = "";
+		//String pubSubName = "";
 		String callbackName = "";
 		String pubSubType = "didacticPSNetClient";
 		
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String pubSubName = label.trim();
+		if(pubSubName.contains(" ")) {
+			pubSubName = pubSubName.substring(pubSubName.lastIndexOf(" ")+1, pubSubName.length());
+		}
 		
-		TranslatorBlock psnName = this.getRequiredTranslatorBlockAtSocket(0);//Name
-		TranslatorBlock rxPin = this.getRequiredTranslatorBlockAtSocket(1);//Pin Rx
-		TranslatorBlock txPin = this.getRequiredTranslatorBlockAtSocket(2);//Pin Tx
-		TranslatorBlock cbName = this.getRequiredTranslatorBlockAtSocket(3);//Pin Tx
+		//TranslatorBlock psnName = this.getRequiredTranslatorBlockAtSocket(0);//Name
+		TranslatorBlock rxPin = this.getRequiredTranslatorBlockAtSocket(0);//Pin Rx
+		TranslatorBlock txPin = this.getRequiredTranslatorBlockAtSocket(1);//Pin Tx
+		TranslatorBlock cbName = this.getRequiredTranslatorBlockAtSocket(2);//Pin Tx
 		
-		pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//pubSubName = psnName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		callbackName = cbName.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		
 		translator.addHeaderFile("didacticNet.h");
 		translator.addHeaderFile("SoftwareSerial.h");
 		
-		translator.addDefinitionCommand(pubSubType + " " +pubSubName+";\n");
 		translator.addDefinitionCommand("SoftwareSerial " + serialName+"(" + rxPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") + ", "+ txPin.toCode().replaceAll("\\s*_.new\\b\\s*", "") +");\n");
+		translator.addDefinitionCommand(pubSubType + " " +pubSubName+";\n");
 		
 		translator.addSetupCommand(serialName+".begin(2400);");
 		translator.addSetupCommand(pubSubName + ".begin(" + serialName +", "+ callbackName +");\n");		
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnDataToSendBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnDataToSendBlock.java
index 6d5f5bc..cede9e3 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnDataToSendBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnDataToSendBlock.java
@@ -15,8 +15,13 @@ public class PsnDataToSendBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-		TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
-		String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", "");
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String name = label.trim();
+		if(name.contains(" ")) {
+			name = name.substring(0, name.indexOf(" "));
+		}		
+		//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*", "").replaceAll("\"", "");
 		return name + ".isDataToSend();";
 	}
 }
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnHandleNetBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnHandleNetBlock.java
index 19e64fc..a0df4ef 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnHandleNetBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnHandleNetBlock.java
@@ -15,8 +15,17 @@ public class PsnHandleNetBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-		TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
-		String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String name = label.trim();
+		if(name.contains(" ")) {
+			name = name.substring(0, name.indexOf(" "));
+		}
 		return name + ".handleNetwork();";
+		
+
+		//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//return name + ".handleNetwork();";
+		
 	}
 }
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnPublishBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnPublishBlock.java
index 4090057..f692239 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnPublishBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnPublishBlock.java
@@ -17,11 +17,17 @@ public class PsnPublishBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-		TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
-		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(1);
-		TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(2);
 		
-		String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String name = label.trim();
+		if(name.contains(" ")) {
+			name = name.substring(0, name.indexOf(" "));
+		}
+		//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
+		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
+		TranslatorBlock tb_data = getRequiredTranslatorBlockAtSocket(1);
+		
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		String topic = tb_topic.toCode().replaceAll("\\s*_.new\\b\\s*", "");
 		String data = tb_data.toCode().replaceAll("\\s*_.new\\b\\s*", "");
 		
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnSubscribeBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnSubscribeBlock.java
index 5358773..47b1491 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnSubscribeBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnSubscribeBlock.java
@@ -16,10 +16,15 @@ public class PsnSubscribeBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-		TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
-		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(1);
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String name = label.trim();
+		if(name.contains(" ")) {
+			name = name.substring(0, name.indexOf(" "));
+		}		
+		//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
+		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
 		
-		String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		String topic = tb_topic.toCode().replaceAll("\\s*_.new\\b\\s*", "");
 		
 		if(!(tb_topic instanceof StringBlock)) {
diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnUnsubscribeBlock.java b/src/main/java/com/ardublock/translator/block/communication/PsnUnsubscribeBlock.java
index ea939ac..9cf43a4 100644
--- a/src/main/java/com/ardublock/translator/block/communication/PsnUnsubscribeBlock.java
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnUnsubscribeBlock.java
@@ -16,10 +16,15 @@ public class PsnUnsubscribeBlock extends TranslatorBlock
 	@Override
 	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
 	{
-		TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
-		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(1);
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
+		String name = label.trim();
+		if(name.contains(" ")) {
+			name = name.substring(0, name.indexOf(" "));
+		}		
+		//TranslatorBlock tb_name = getRequiredTranslatorBlockAtSocket(0);
+		TranslatorBlock tb_topic = getRequiredTranslatorBlockAtSocket(0);
 		
-		String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
 		String topic = tb_topic.toCode().replaceAll("\\s*_.new\\b\\s*", "");
 		
 		if(!(tb_topic instanceof StringBlock)) {
diff --git a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableCharBlock.java b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableCharBlock.java
index 5e19a9f..ab480ad 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableCharBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableCharBlock.java
@@ -13,6 +13,7 @@ public class LocalVariableCharBlock extends TranslatorBlock
 	@Override
 	public String toCode()
 	{	
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
 		String newMarker = "_.new";
 		String internalVariableName = translator.getNumberVariable(translator.buildVariableName(label));
 		String newInternalName = internalVariableName;
diff --git a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableDigitalBlock.java b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableDigitalBlock.java
index 020b570..95cbc8e 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableDigitalBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableDigitalBlock.java
@@ -17,6 +17,7 @@ public class LocalVariableDigitalBlock extends TranslatorBlock
 	@Override
 	public String toCode()
 	{
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
 		String newMarker = "_.new";
 		String internalVariableName = translator.getNumberVariable(translator.buildVariableName(label));
 		String newInternalName = internalVariableName;
diff --git a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableFileBlock.java b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableFileBlock.java
index 25ef049..9622d0e 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableFileBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableFileBlock.java
@@ -13,6 +13,7 @@ public class LocalVariableFileBlock extends TranslatorBlock
 	@Override
 	public String toCode()
 	{	
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
 		String newMarker = "_.new";
 		String internalVariableName = translator.getNumberVariable(translator.buildVariableName(label));
 		String newInternalName = internalVariableName;
diff --git a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableNumberBlock.java b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableNumberBlock.java
index 6b59a43..a243529 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableNumberBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableNumberBlock.java
@@ -17,6 +17,7 @@ public class LocalVariableNumberBlock extends TranslatorBlock
 	@Override
 	public String toCode()
 	{	
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
 		String newMarker = "_.new";
 		String internalVariableName = translator.getNumberVariable(translator.buildVariableName(label));
 		String newInternalName = internalVariableName;
diff --git a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableStringBlock.java b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableStringBlock.java
index 004d4e9..84ad746 100644
--- a/src/main/java/com/ardublock/translator/block/numbers/LocalVariableStringBlock.java
+++ b/src/main/java/com/ardublock/translator/block/numbers/LocalVariableStringBlock.java
@@ -13,6 +13,7 @@ public class LocalVariableStringBlock extends TranslatorBlock
 	@Override
 	public String toCode()
 	{	
+		//Label autoText set in edu.mit.blocks.renderable.BlockLabel -> generateLabelText()
 		String newMarker = "_.new";
 		String internalVariableName = translator.getNumberVariable(translator.buildVariableName(label));
 		String newInternalName = internalVariableName;
diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties
index 1cfd35c..9351739 100644
--- a/src/main/resources/com/ardublock/block/ardublock.properties
+++ b/src/main/resources/com/ardublock/block/ardublock.properties
@@ -695,7 +695,7 @@ bg.tele_read_data_frame=read from Frame
 bg.mqtt_set_frame=set MQTT Frame
 bg.mqtt_read_frame=read MQTT Frame
 
-bg.psn_server=PubSub Broker
+bg.psn_broker=PubSub Broker
 bg.psn_client=PubSub Client
 bg.psn_callback=psnClientCallback
 bg.psn_handle_network=PubSub handleNetwork
@@ -731,7 +731,7 @@ bg.tele_read_data_frame.description=read data from telegram-frame \n receiver-ad
 bg.mqtt_set_frame.description=write data to MQTT-frame\n(letsgoING-IOT-module)
 bg.mqtt_read_frame.description=read data from MQTT-frame\n(letsgoING-IOT-module)
 
-bg.psn_server.description=PubSub Server
+bg.psn_broker.description=PubSub Server
 bg.psn_client.description=PubSub Client
 bg.psn_callback.description=PubSub_Callback
 bg.psn_handle_network.description=PubSub handleNetwork
diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml
index 0af7727..54d4924 100644
--- a/src/main/resources/com/ardublock/block/ardublock.xml
+++ b/src/main/resources/com/ardublock/block/ardublock.xml
@@ -2309,14 +2309,14 @@
 		</BlockGenus>
 		
 		
-		<BlockGenus name="psn_server" kind="command" color="165 42 42"	initlabel="bg.psn_server">
+		<BlockGenus name="psn_broker" kind="command" color="165 42 42"	initlabel="bg.psn_broker" editable-label="yes">
 			<description>
 				<text>create PubSub Broker</text>
 			</description>
 			<BlockConnectors>
-				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
+				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnBroker" />
-				</BlockConnector>
+				</BlockConnector>-->
 				<BlockConnector connector-type="number"	connector-kind="socket" label="bc.rx_pin_number">
 					<DefaultArg genus-name="number" label="10" />
 				</BlockConnector>
@@ -2325,14 +2325,14 @@
 				</BlockConnector>
 			</BlockConnectors>
 		</BlockGenus>
-		<BlockGenus name="psn_client" kind="command" color="165 42 42"	initlabel="bg.psn_client">
+		<BlockGenus name="psn_client" kind="command" color="165 42 42"	initlabel="bg.psn_client" editable-label="yes">
 			<description>
 				<text>create PubSub Client</text>
 			</description>
 			<BlockConnectors>
-				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
+				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnClient" />
-				</BlockConnector>
+				</BlockConnector>-->
 				<BlockConnector connector-type="number"	connector-kind="socket" label="bc.rx_pin_number">
 					<DefaultArg genus-name="number" label="10" />
 				</BlockConnector>
@@ -2340,7 +2340,7 @@
 					<DefaultArg genus-name="number" label="11" />
 				</BlockConnector>
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.callback">
-					<DefaultArg genus-name="string" label="clientCallback" />
+					<DefaultArg genus-name="string" label="psnClientCallback" />
 				</BlockConnector>
 			</BlockConnectors>
 		</BlockGenus>	
@@ -2367,45 +2367,45 @@
 				<BlockConnector label="bc.commands" connector-type="cmd" connector-kind="socket" />
 			</BlockConnectors>
 		</BlockGenus>
-		<BlockGenus name="psn_handle_network" kind="command" color="165 42 42" initlabel="bg.psn_handle_network" >
-			<BlockConnectors>
+		<BlockGenus name="psn_handle_network" kind="command" color="165 42 42" initlabel="bg.psn_handle_network" editable-label="yes" >
+		<!--<BlockConnectors>
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnName" />
 				</BlockConnector>	
-			</BlockConnectors>
+			</BlockConnectors> -->
 		</BlockGenus>
-		<BlockGenus name="psn_data_to_send" kind="command" color="165 42 42" initlabel="bg.psn_data_to_send" >
-			<BlockConnectors>
+		<BlockGenus name="psn_data_to_send" kind="command" color="165 42 42" initlabel="bg.psn_data_to_send" editable-label="yes">
+			<!--<BlockConnectors>
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnName" />
 				</BlockConnector>	
-			</BlockConnectors>
+			</BlockConnectors>-->
 		</BlockGenus>
-		<BlockGenus name="psn_subscribe" kind="command" color="165 42 42" initlabel="bg.psn_subscribe" >
+		<BlockGenus name="psn_subscribe" kind="command" color="165 42 42" initlabel="bg.psn_subscribe" editable-label="yes">
 			<BlockConnectors>
-				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
+			<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>
+				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="subscribeTopic" />
 				</BlockConnector>	
 			</BlockConnectors>
 		</BlockGenus>
-		<BlockGenus name="psn_unsubscribe" kind="command" color="165 42 42" initlabel="bg.psn_unsubscribe" >
+		<BlockGenus name="psn_unsubscribe" kind="command" color="165 42 42" initlabel="bg.psn_unsubscribe" editable-label="yes">
 			<BlockConnectors>
-				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
+				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>
+				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="unsubscribeTopic" />
 				</BlockConnector>	
 			</BlockConnectors>
 		</BlockGenus>
-		<BlockGenus name="psn_publish" kind="command" color="165 42 42" initlabel="bg.psn_publish" >
+		<BlockGenus name="psn_publish" kind="command" color="165 42 42" initlabel="bg.psn_publish" editable-label="yes">
 			<BlockConnectors>
-				<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
+				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
 					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>
+				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="publishTopic" />
 				</BlockConnector>
@@ -3200,7 +3200,7 @@
 				<BlockGenusMember>glue_string</BlockGenusMember>
 				
 				<BlockGenusMember>communicationDivider4</BlockGenusMember>
-				<BlockGenusMember>psn_server</BlockGenusMember>
+				<BlockGenusMember>psn_broker</BlockGenusMember>
 				<BlockGenusMember>psn_client</BlockGenusMember>
 				<BlockGenusMember>psn_handle_network</BlockGenusMember>
 				<BlockGenusMember>psn_publish</BlockGenusMember>
diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties
index 47e2f86..d47c5ff 100644
--- a/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -692,14 +692,14 @@ bg.tele_read_data_frame=lese Daten aus Frame
 bg.mqtt_set_frame=erstelle MQTT Frame
 bg.mqtt_read_frame=lese aus MQTT Frame
 
-bg.psn_server=PubSub Broker
-bg.psn_client=PubSub Client
+bg.psn_broker=Broker psnName
+bg.psn_client=Client psnName
 bg.psn_callback=psnClientCallback
-bg.psn_handle_network=PubSub handleNetwork
-bg.psn_data_to_send=PubSub isDataToSend?
-bg.psn_publish=PubSub publish
-bg.psn_subscribe=PubSub subscribe
-bg.psn_unsubscribe=PubSub unsubscribe
+bg.psn_handle_network=psnName handleNetwork
+bg.psn_data_to_send=psnName isDataToSend?
+bg.psn_publish=psnName publish
+bg.psn_subscribe=psnName subscribe
+bg.psn_unsubscribe=psnName unsubscribe
 
 bg.serial_write.description=Sende Nachricht via Serial
 bg.serial_print.description=Sende Nachricht via Serial
@@ -727,7 +727,7 @@ bg.tele_read_data_frame.description=lese Daten aus dem Telegramm-Rahmen\n HINWEI
 bg.mqtt_set_frame.description=schreibe Daten in MQTT-Rahmen\n(letsgoING-IOT-Modul)
 bg.mqtt_read_frame.description=lese Daten aus MQTT-Rahmen\n(letsgoING-IOT-Modul)
 
-bg.psn_server.description=Broker fuer PubSub Netzwerk erzeugen
+bg.psn_broker.description=Broker fuer PubSub Netzwerk erzeugen
 bg.psn_client.description=Client fuer PubSub Netzwerk erzeugen
 bg.psn_callback.description=Funktion wird automatisch aufgefufen wenn neue Daten empfangen werden
 bg.psn_handle_network.description=Empfaengt Daten, ueberprueft ob gesendet werden kann und versendet Daten
diff --git a/src/main/resources/com/ardublock/block/block-mapping.properties b/src/main/resources/com/ardublock/block/block-mapping.properties
index 0bc2224..a34b5b1 100644
--- a/src/main/resources/com/ardublock/block/block-mapping.properties
+++ b/src/main/resources/com/ardublock/block/block-mapping.properties
@@ -248,7 +248,7 @@ tele_read_data_frame=com.ardublock.translator.block.communication.TelegramReadDa
 mqtt_set_frame=com.ardublock.translator.block.communication.MQTTSetFrameBlock
 mqtt_read_frame=com.ardublock.translator.block.communication.MQTTReadFrameBlock
 
-psn_server=com.ardublock.translator.block.communication.PsnServerBlock
+psn_broker=com.ardublock.translator.block.communication.PsnBrokerBlock
 psn_client=com.ardublock.translator.block.communication.PsnClientBlock
 psn_callback=com.ardublock.translator.block.communication.PsnCallbackBlock
 psn_handle_network=com.ardublock.translator.block.communication.PsnHandleNetBlock
-- 
GitLab