diff --git a/src/main/java/com/ardublock/translator/block/communication/PsnSetInterval.java b/src/main/java/com/ardublock/translator/block/communication/PsnSetInterval.java
new file mode 100644
index 0000000000000000000000000000000000000000..39f2196f74e9b3e3225307686d3d6b3162da5f2d
--- /dev/null
+++ b/src/main/java/com/ardublock/translator/block/communication/PsnSetInterval.java
@@ -0,0 +1,35 @@
+package com.ardublock.translator.block.communication;
+
+import com.ardublock.translator.Translator;
+import com.ardublock.translator.block.TranslatorBlock;
+import com.ardublock.translator.block.exception.SocketNullException;
+import com.ardublock.translator.block.exception.SubroutineNotDeclaredException;
+import com.ardublock.translator.block.numbers.StringBlock;
+
+
+public class PsnSetInterval extends TranslatorBlock
+{
+	public PsnSetInterval(Long blockId, Translator translator, String codePrefix, String codeSuffix, String label)
+	{
+		super(blockId, translator, codePrefix, codeSuffix, label);
+	}
+
+	@Override
+	public String toCode() throws SocketNullException, SubroutineNotDeclaredException
+	{
+		
+		//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_interval = getRequiredTranslatorBlockAtSocket(0);
+		
+		//String name = tb_name.toCode().replaceAll("\\s*_.new\\b\\s*\"", "").replaceAll("\"", "");
+		String interval = tb_interval.toCode().replaceAll("\\s*_.new\\b\\s*", "");
+
+		
+		return name + ".setInterval("+interval+");";
+	}
+}
diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties
index aa8012a55253cc33b07c74963a8dcb64b323288b..1e631fec1e0058d6d8671ca977cd1ce17a775a2a 100644
--- a/src/main/resources/com/ardublock/block/ardublock.properties
+++ b/src/main/resources/com/ardublock/block/ardublock.properties
@@ -777,25 +777,28 @@ bg.didacticnetworkDivider1=|       PubSub Network      |
 bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
+bg.didacticnetworkDivider5=|       helper      |
 
-bg.psn_broker=PubSub Broker
-bg.psn_client=PubSub Client
+bg.psn_broker=psnName Broker
+bg.psn_client=psnName Client
 bg.psn_callback=psnClientCallback
-bg.psn_handle_network=PubSub handleNetwork
-bg.psn_data_to_send=PubSub isDataToSend?
-bg.psn_publish=PubSub publish
+bg.psn_handle_network=psnName handleNetwork
+bg.psn_data_to_send=psnName isDataToSend?
+bg.psn_set_interval=psnName setInterval 
+bg.psn_publish=psnName publish
 bg.psn_publish=psnName publish
 bg.psn_publish_analog=psnName publish
 bg.psn_publish_onchange=psnName publishOnChange
 bg.psn_publish_onchange_bool=psnName publishOnChange
-bg.psn_subscribe=PubSub subscribe
-bg.psn_unsubscribe=PubSub unsubscribe
-
-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
-bg.psn_data_to_send.description=PubSub isDataToSend?
+bg.psn_subscribe=psnName subscribe
+bg.psn_unsubscribe=psnName unsubscribe
+
+bg.psn_broker.description=set up Server
+bg.psn_client.description=set up Client
+bg.psn_callback.description=PubSub-Callback
+bg.psn_handle_network.description=handle PubSub Network
+bg.psn_data_to_send.description=is Data ready to send?
+bg.psn_set_interval.description=set minimal publish interval
 bg.psn_publish.description=publish Char-Array
 bg.psn_publish_analog.description=publish int-Data
 bg.psn_publish_digital.description=publish boolean-Data
@@ -805,6 +808,7 @@ bg.psn_subscribe.description=PubSub subscribe
 bg.psn_unsubscribe.description=PubSub unsubscribe
 
 bc.ps_name=name
+bc.ps_interval=ms
 bc.callback=callback
 bc.payloadVar=payload var
 bc.payloadLengthVar=payload length var
diff --git a/src/main/resources/com/ardublock/block/ardublock.xml b/src/main/resources/com/ardublock/block/ardublock.xml
index c747108d94d82384bc30a6ed2ca3eed1f4652be2..990b17437b8f9757e9e92109ca484686394f87c4 100644
--- a/src/main/resources/com/ardublock/block/ardublock.xml
+++ b/src/main/resources/com/ardublock/block/ardublock.xml
@@ -2380,15 +2380,13 @@
 		<BlockGenus name="didacticnetworkDivider2" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.didacticnetworkDivider2" color="150 150 150" />
 		<BlockGenus name="didacticnetworkDivider3" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.didacticnetworkDivider3" color="150 150 150" />
 		<BlockGenus name="didacticnetworkDivider4" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.didacticnetworkDivider4" color="150 150 150" />
+		<BlockGenus name="didacticnetworkDivider5" kind="command" is-starter="yes" is-terminator="yes" initlabel="bg.didacticnetworkDivider4" color="150 150 150" />
 		
 		<BlockGenus name="psn_broker" kind="command" color="130 27 27"	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">
-					<DefaultArg genus-name="string" label="psnBroker" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="number"	connector-kind="socket" label="bc.rx_pin_number">
 					<DefaultArg genus-name="number" label="10" />
 				</BlockConnector>
@@ -2402,9 +2400,6 @@
 				<text>create PubSub Client</text>
 			</description>
 			<BlockConnectors>
-				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnClient" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="number"	connector-kind="socket" label="bc.rx_pin_number">
 					<DefaultArg genus-name="number" label="10" />
 				</BlockConnector>
@@ -2440,24 +2435,18 @@
 			</BlockConnectors>
 		</BlockGenus>
 		<BlockGenus name="psn_handle_network" kind="command" color="130 27 27" 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> -->
 		</BlockGenus>
 		<BlockGenus name="psn_data_to_send" kind="command" color="130 27 27" 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" />
+		</BlockGenus>
+		<BlockGenus name="psn_set_interval" kind="command" color="130 27 27" initlabel="bg.psn_set_interval" editable-label="yes">
+			<BlockConnectors>
+				<BlockConnector connector-type="number" connector-kind="socket" label="bc.ps_interval">
+					<DefaultArg genus-name="number" label="500" />
 				</BlockConnector>	
-			</BlockConnectors>-->
+			</BlockConnectors>
 		</BlockGenus>
 		<BlockGenus name="psn_subscribe" kind="command" color="130 27 27" initlabel="bg.psn_subscribe" editable-label="yes">
 			<BlockConnectors>
-			<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="subscribeTopic" />
 				</BlockConnector>	
@@ -2465,9 +2454,6 @@
 		</BlockGenus>
 		<BlockGenus name="psn_unsubscribe" kind="command" color="130 27 27" initlabel="bg.psn_unsubscribe" editable-label="yes">
 			<BlockConnectors>
-				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="unsubscribeTopic" />
 				</BlockConnector>	
@@ -2475,9 +2461,6 @@
 		</BlockGenus>
 		<BlockGenus name="psn_publish" kind="command" color="130 27 27" initlabel="bg.psn_publish" editable-label="yes">
 			<BlockConnectors>
-				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="publishTopic" />
 				</BlockConnector>
@@ -2503,12 +2486,8 @@
 				</BlockConnector>	
 			</BlockConnectors>
 		</BlockGenus>
-		<!-- TODO: add publishOnChange to autoname fcn-->
 		<BlockGenus name="psn_publish_onchange_bool" kind="command" color="130 27 27" initlabel="bg.psn_publish_onchange" editable-label="yes">
 			<BlockConnectors>
-				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="publishTopic" />
 				</BlockConnector>
@@ -2518,9 +2497,6 @@
 		</BlockGenus>
 		<BlockGenus name="psn_publish_onchange" kind="command" color="130 27 27" initlabel="bg.psn_publish_onchange" editable-label="yes">
 			<BlockConnectors>
-				<!--<BlockConnector connector-type="string" connector-kind="socket" label="bc.ps_name">
-					<DefaultArg genus-name="string" label="psnName" />
-				</BlockConnector>-->
 				<BlockConnector connector-type="string" connector-kind="socket" label="bc.topic">
 					<DefaultArg genus-name="string" label="publishTopic" />
 				</BlockConnector>
@@ -3364,6 +3340,7 @@
 				<BlockGenusMember>psn_client</BlockGenusMember>
 				<BlockGenusMember>psn_handle_network</BlockGenusMember>
 				<BlockGenusMember>psn_data_to_send</BlockGenusMember>
+				<BlockGenusMember>psn_set_interval</BlockGenusMember>
 				
 				<BlockGenusMember>didacticnetworkDivider2</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 50943055780e22693696f25432ff45eaecc20c4e..ccabe380ba75a58980d621b0e865bec1ebce1340 100644
--- a/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -771,12 +771,14 @@ bg.didacticnetworkDivider1=|       PubSub Netzwerk      |
 bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
+bg.didacticnetworkDivider5=|       Hilfsfunktionen      |
 
 bg.psn_broker=Broker psnName
 bg.psn_client=Client psnName
 bg.psn_callback=psnClientCallback
 bg.psn_handle_network=psnName handleNetwork
 bg.psn_data_to_send=psnName isDataToSend?
+bg.psn_set_interval=psnName setInterval
 bg.psn_publish=psnName publish
 bg.psn_publish_analog=psnName publish
 bg.psn_publish_digital=psnName publish
@@ -790,6 +792,7 @@ 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
 bg.psn_data_to_send.description=Gibt zurück ob Daten zum Versenden bereit sind
+bg.psn_set_interval.description=Minimale Zeit zwischen zwei publish-Vorgängen 
 bg.psn_publish.description=Zeichenkette (char[]) zu Topic veroeffentlichen
 bg.psn_publish_analog.description=Analoge (int) Daten zu Topic veroeffentlichen
 bg.psn_publish_digital.description=Digitale (bool) Daten zu Topic veroeffentlichen
@@ -799,6 +802,7 @@ bg.psn_subscribe.description=Topic abonnieren
 bg.psn_unsubscribe.description=Topic nicht mehr abonnieren
 
 bc.ps_name=Name
+bc.ps_interval=ms 
 bc.callback=Uebergabefunktion
 bc.payloadVar=Nutzdaten-Variable
 bc.payloadLengthVar=Nutzdaten-Laenge-Variable
diff --git a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
index 31d657b527b76cb9959328f311d1270a57cbf3ba..047a3f0fb484e1d11a817dc44ef49ce0072872dc 100644
--- a/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_en_GB.properties
@@ -772,12 +772,14 @@ bg.didacticnetworkDivider1=|       PubSub Netzwerk      |
 bg.didacticnetworkDivider2=|       PubSub publish      |
 bg.didacticnetworkDivider3=|       PubSub subscribe      |
 bg.didacticnetworkDivider4=|       PubSub callback      |
+bg.didacticnetworkDivider5=|       Hilfsfunktionen      |
 
 bg.psn_broker=Broker psnName
 bg.psn_client=Client psnName
 bg.psn_callback=psnClientCallback
 bg.psn_handle_network=psnName handleNetwork
 bg.psn_data_to_send=psnName isDataToSend?
+bg.psn_set_interval=PubSub setInterval 
 bg.psn_publish=psnName publish
 bg.psn_publish_analog=psnName publish
 bg.psn_publish_digital=psnName publish
@@ -791,6 +793,7 @@ 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
 bg.psn_data_to_send.description=Gibt zurück ob Daten zum Versenden bereit sind
+bg.psn_set_interval.description=Minimale Zeit zwischen zwei publish-Vorgängen 
 bg.psn_publish.description=Zeichenkette (char[]) zu Topic veroeffentlichen
 bg.psn_publish_analog.description=Analoge (int) Daten zu Topic veroeffentlichen
 bg.psn_publish_digital.description=Digitale (bool) Daten zu Topic veroeffentlichen
@@ -800,6 +803,7 @@ bg.psn_subscribe.description=Topic abonnieren
 bg.psn_unsubscribe.description=Topic nicht mehr abonnieren
 
 bc.ps_name=Name
+bc.ps_interval=ms
 bc.callback=Uebergabefunktion
 bc.payloadVar=Nutzdaten-Variable
 bc.payloadLengthVar=Nutzdaten-Laenge-Variable
diff --git a/src/main/resources/com/ardublock/block/block-mapping.properties b/src/main/resources/com/ardublock/block/block-mapping.properties
index 7d33c3e465bf42a4a3da384435fe5a3da00ef57b..4a3f53eb8b9d40e3becab22d81dfacbcd9543ce2 100644
--- a/src/main/resources/com/ardublock/block/block-mapping.properties
+++ b/src/main/resources/com/ardublock/block/block-mapping.properties
@@ -257,6 +257,7 @@ 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
 psn_data_to_send=com.ardublock.translator.block.communication.PsnDataToSendBlock
+psn_set_interval=com.ardublock.translator.block.communication.PsnSetInterval
 psn_publish=com.ardublock.translator.block.communication.PsnPublishBlock
 psn_publish_analog=com.ardublock.translator.block.communication.PsnPublishBlock
 psn_publish_digital=com.ardublock.translator.block.communication.PsnPublishBlock