diff --git a/fhem/CHANGED b/fhem/CHANGED
index 75218073f..5c1616c7b 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,6 @@
 # Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
 # Do not insert empty lines here, update check depends on it.
+ - feature: 50_SSChatBot: new attr spareHost, sparePort
  - feature: 6.2 released
 
 - 2023-01-14 (6.2)
diff --git a/fhem/FHEM/50_SSChatBot.pm b/fhem/FHEM/50_SSChatBot.pm
index 829427a11..d77343611 100644
--- a/fhem/FHEM/50_SSChatBot.pm
+++ b/fhem/FHEM/50_SSChatBot.pm
@@ -3,7 +3,7 @@
 #########################################################################################################################
 #       50_SSChatBot.pm
 #
-#       (c) 2019-2020 by Heiko Maaz
+#       (c) 2019-2023 by Heiko Maaz
 #       e-mail: Heiko dot Maaz at t-online dot de
 #
 #       This Module can be used to operate as Bot for Synology Chat.
@@ -135,6 +135,7 @@ BEGIN {
 
 # Versions History intern
 my %vNotesIntern = (
+  "1.13.0" => "14.01.2023  new attr spareHost, sparePort ",
   "1.12.1" => "28.11.2020  fix cannot send after received anything, fix greedy regex in _botCGIcheckData ",
   "1.12.0" => "23.11.2020  generate event CHAT_INITIALIZED when users are once loaded, Forum: https://forum.fhem.de/index.php/topic,105714.msg1103700.html#msg1103700 ".
                            "postpone new operation is one ist still running ",
@@ -245,6 +246,8 @@ sub Initialize {
                      "allowedUserForOwn:--wait#for#userlist-- ".
                      "ownCommand1 ".
                      "showTokenInLog:1,0 ".
+                     "spareHost: ".
+                     "sparePort: ".
                      "httptimeout ".
                      $readingFnAttributes;   
          
@@ -365,6 +368,8 @@ sub Delete {
 return;
 }
 
+################################################################
+#  Attr Management
 ################################################################
 sub Attr {
     my ($cmd,$name,$aName,$aVal) = @_;
@@ -395,6 +400,10 @@ sub Attr {
         readingsEndUpdate  ($hash, 1); 
     }
     
+    if (($aName =~ m/spare/x)) {
+        InternalTimer(gettimeofday()+1.5, "FHEM::SSChatBot::initOnBoot", $hash, 0) if($init_done);
+    } 
+    
     if ($cmd eq "set") {
         if ($aName =~ m/httptimeout/x) {
             unless ($aVal =~ /^\d+$/x) { return "The Value for $aName is not valid. Use only figures 1-9 !";}
@@ -403,8 +412,8 @@ sub Attr {
         if ($aName =~ m/ownCommand([1-9][0-9]*)$/x) {
             my $num = $1;
             return qq{The value of $aName must start with a slash like "/Weather ".} unless ($aVal =~ /^\//x);
-            addToDevAttrList($name, "ownCommand".($num+1));                        # add neue ownCommand dynamisch
-        }        
+            addToDevAttrList($name, "ownCommand".($num+1));                                                      # add neue ownCommand dynamisch
+        }       
     }
     
 return;
@@ -526,17 +535,18 @@ sub _setasyncSendItem {
       $text = join(" ", @t) if(!$text);
   }      
 
-  if($svg) {                                                             # Versenden eines Plotfiles         
+  if($svg) {                                                              # Versenden eines Plotfiles         
       my ($err, $file) = plotPngToFile ($name, $svg);
       return if($err);
       
-      my $FW    = $hash->{FW};
-      my $csrf  = $defs{$FW}{CSRFTOKEN} // "";
-      $fileUrl  = (split("sschat", $hash->{OUTDEF}))[0];
-      $fileUrl .= "sschat/www/images/$file?&fwcsrf=$csrf";
+      my $FW     = $hash->{FW};
+      my $csrf   = $defs{$FW}{CSRFTOKEN} // "";
+      my $FWname = AttrVal ($FW, 'webname', 'sschat');
+      $fileUrl   = (split "$FWname", $hash->{OUTDEF})[0];
+      $fileUrl  .= "$FWname/www/images/$file?&fwcsrf=$csrf";
       
-      $fileUrl  = formString($fileUrl, "text");
-      $text     = $svg if(!$text);                                       # Name des SVG-Plots + Optionen als Standardtext
+      $fileUrl   = formString($fileUrl, "text");
+      $text      = $svg if(!$text);                                       # Name des SVG-Plots + Optionen als Standardtext
   }
   
   return qq{Your sendstring is incorrect. It must contain at least text with the "text=" tag like text="..."\nor only some text like "this is a test" without the "text=" tag.} if(!$text);
@@ -770,6 +780,7 @@ return $ret;
 sub initOnBoot {
   my $hash = shift;
   my $name = $hash->{NAME};
+  
   my ($ret,$csrf,$fuuid);
   
   RemoveInternalTimer($hash, "FHEM::SSChatBot::initOnBoot");
@@ -793,12 +804,12 @@ sub initOnBoot {
           }
 
           if (!defined($defs{$FW})) {                                       # wenn Device "WEBSSChat" wirklich nicht existiert
-              Log3($name, 3, "$name - Creating new FHEMWEB instance \"$FW\" with webname \"$FWname\"... ");
+              Log3 ($name, 3, "$name - Creating new FHEMWEB instance \"$FW\" with webname \"$FWname\"... ");
               $ret = CommandDefine(undef, "$FW FHEMWEB $port global");
           }
           
           if(!$ret) {
-              Log3($name, 3, "$name - FHEMWEB instance \"$FW\" with webname \"$FWname\" created");
+              Log3 ($name, 3, "$name - FHEMWEB instance \"$FW\" with webname \"$FWname\" created");
               $hash->{FW} = $FW;
               
               $fuuid = $defs{$FW}{FUUID};
@@ -812,7 +823,7 @@ sub initOnBoot {
               CommandAttr(undef, "$FW stylesheetPrefix default");
           } 
           else {
-              Log3($name, 2, "$name - ERROR while creating FHEMWEB instance ".$hash->{FW}." with webname \"$FWname\" !");
+              Log3 ($name, 2, "$name - ERROR while creating FHEMWEB instance ".$hash->{FW}." with webname \"$FWname\" !");
               readingsBeginUpdate($hash); 
               readingsBulkUpdate ($hash, "state", "ERROR in initialization - see logfile");                             
               readingsEndUpdate  ($hash,1);
@@ -820,21 +831,24 @@ sub initOnBoot {
       }
      
       if(!$ret) {
-          CommandGet(undef, "$name chatUserlist");                      # Chatuser Liste initial abrufen 
+          CommandGet(undef, "$name chatUserlist");                                     # Chatuser Liste initial abrufen 
       
-          my $host        = hostname();                                 # eigener Host
-          my $fqdn        = hostfqdn();                                 # MYFQDN eigener Host 
-          chop($fqdn)     if($fqdn =~ /\.$/x);                          # eventuellen "." nach dem FQDN entfernen
+          my $host        = hostname();                                                # eigener Host
+          my $fqdn        = hostfqdn();                                                # MYFQDN eigener Host 
+          chop($fqdn)     if($fqdn =~ /\.$/x);                                         # eventuellen "." nach dem FQDN entfernen
           my $FWchatport  = $defs{$FW}{PORT};
-          my $FWprot      = AttrVal($FW, "HTTPS", 0);
-          $FWname         = AttrVal($FW, "webname", 0);
+          my $FWprot      = AttrVal ($FW, 'HTTPS',         0);
+          $FWname         = AttrVal ($FW, 'webname', $FWname);
           
           CommandAttr(undef, "$FW csrfToken none") if(!AttrVal($FW, "csrfToken", ""));
           
           $csrf           = $defs{$FW}{CSRFTOKEN} // "";
-          $hash->{OUTDEF} = ($FWprot ? "https" : "http")."://".($fqdn // $host).":".$FWchatport."/".$FWname."/outchat?botname=".$name."&fwcsrf=".$csrf; 
+          my $sparehost   = AttrVal ($name, 'spareHost', ($fqdn // $host));            # Forum: https://forum.fhem.de/index.php/topic,105714.msg1256613.html#msg1256613
+          my $spareport   = AttrVal ($name, 'sparePort',      $FWchatport);            # Forum: https://forum.fhem.de/index.php/topic,105714.msg1256613.html#msg1256613
+          
+          $hash->{OUTDEF} = ($FWprot ? "https" : "http")."://".$sparehost.":".$spareport."/".$FWname."/outchat?botname=".$name."&fwcsrf=".$csrf; 
 
-          addExtension($name, "FHEM::SSChatBot::botCGI", "outchat");
+          addExtension ($name, 'FHEM::SSChatBot::botCGI', 'outchat');
           $hash->{HELPER}{INFIX} = "outchat"; 
       }            
   } 
@@ -1340,7 +1354,7 @@ sub addExtension {
   $data{FWEXT}{$url}{FUNC}       = $func;
   $data{FWEXT}{$url}{LINK}       = $link;
   
-  Log3($name, 3, "$name - SSChatBot \"$name\" for URL $url registered");
+  Log3 ($name, 3, "$name - SSChatBot \"$name\" for URL $url (new) registered");
   
 return;
 }
@@ -2044,9 +2058,9 @@ return ($cr, $state);
     
     <br><br>
 
-    <b>Allgemeine Information zum Nachrichtempfang </b> <br>
-    Um Befehle vom Chat Server an FHEM zu senden, werden Slash-Befehle (/) verwendet. Sie sind vor der Verwendung im Synology 
-    Chat und ggf. zusätzlich im SSChatBot Device (User spezifische Befehle) zu konfigurieren. <br><br>
+    <b>General information on message reception </b> <br>
+    To send commands from Chat Server to FHEM, slash commands (/) are used. They have to be configured before using them in Synology 
+    Chat and if necessary additionally in SSChatBot Device (User specific commands). <br><br>
 
     The following command forms are supported: <br><br>
     <ul> 
@@ -2295,6 +2309,32 @@ return ($cr, $state);
     
       </li><br>
     </ul>
+    
+    <ul>  
+      <a id="SSChatBot-attr-spareHost"></a>
+      <li><b>spareHost</b> <br> 
+  
+        Replaces the automatically determined hostname in the internal <b>OUTDEF</b> with a user-specific hostname or 
+        IP address. <br>
+        The URL of the internal OUTDEF is the target for outgoing messages (chat -> FHEM) and is evaluated when sending 
+        of SVG plot files. <br> 
+    
+      </li>
+      <br>
+    </ul>
+    
+    <ul>  
+      <a id="SSChatBot-attr-sparePort"></a>
+      <li><b>sparePort</b> <br> 
+  
+        Replaces the automatically determined port in the internal <b>OUTDEF</b> with a user-specific 
+        value. <br>
+        The URL of the internal OUTDEF is the target for outgoing messages (chat -> FHEM) and is evaluated when sending 
+        of SVG plot files. <br> 
+    
+      </li>
+      <br>
+    </ul>
  
   </ul>
 
@@ -2303,7 +2343,7 @@ return ($cr, $state);
 =end html
 =begin html_DE
 
-<a name="SSChatBot"></a>
+<a id="SSChatBot"></a>
 <h3>SSChatBot</h3>
 <ul>
   Mit diesem Modul erfolgt die Integration des Synology Chat Servers in FHEM. Dadurch ist es möglich, 
@@ -2312,7 +2352,7 @@ return ($cr, $state);
   <a href="https://wiki.fhem.de/wiki/SSChatBot_-_Integration_des_Synology_Chat_Servers">Wiki</a> vorhanden. <br>     
   <br><br> 
 
-  <a name="SSChatBotDefine"></a>
+  <a id="SSChatBot-define"></a>
   <b>Definition</b>
   <br><br>
   <ul>    
@@ -2343,7 +2383,7 @@ return ($cr, $state);
   </ul>
   <br><br> 
 
-  <a name="SSChatBotConfig"></a>
+  <a id="SSChatBot-config"></a>
   <b>Konfiguration</b>
   <br><br>
   <ul>    
@@ -2405,13 +2445,13 @@ return ($cr, $state);
   </ul>
   <br><br> 
 
-  <a name="SSChatBotSet"></a>
+  <a id="SSChatBot-set"></a>
   <b>Set </b>
   <br><br>
   <ul>
 
     <ul>
-      <a name="asyncSendItem"></a>
+      <a id="SSChatBot-set-asyncSendItem"></a>
       <li><b> asyncSendItem &lt;Item&gt; </b> <br>
   
       Sendet eine Nachricht an einen oder mehrere Chatempfänger. <br>      
@@ -2445,7 +2485,7 @@ return ($cr, $state);
     </ul>
    
     <ul>
-      <a name="botToken"></a>
+      <a id="SSChatBot-set-botToken"></a>
       <li><b> botToken &lt;Token&gt; </b> <br>
   
       Seichert den Token für den Zugriff auf den Chat als Bot.
@@ -2454,7 +2494,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="listSendqueue"></a>
+      <a id="SSChatBot-set-listSendqueue"></a>
       <li><b> listSendqueue </b> <br>
   
       Zeigt die noch an den Chat zu übertragenden Nachrichten. <br>
@@ -2464,7 +2504,7 @@ return ($cr, $state);
     </ul>
    
     <ul>
-      <a name="purgeSendqueue"></a>
+      <a id="SSChatBot-set-purgeSendqueue"></a>
       <li><b> purgeSendqueue  &lt;-all- | -permError- | index&gt; </b> <br>
   
       Löscht Einträge aus der Sendequeue. <br><br>
@@ -2480,7 +2520,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="restartSendqueue"></a>
+      <a id="SSChatBot-set-restartSendqueue"></a>
       <li><b> restartSendqueue [force] </b> <br>
   
       Startet die Abarbeitung der Sendequeue manuell neu. <br>
@@ -2492,13 +2532,13 @@ return ($cr, $state);
    
   </ul>
   
-  <a name="SSChatBotGet"></a>
+  <a id="SSChatBot-get"></a>
   <b>Get </b>
   <br><br>
   <ul>
   
     <ul>
-      <a name="apiInfo"></a>
+      <a id="SSChatBot-get-apiInfo"></a>
       <li><b> apiInfo </b> <br>
   
       Ruft die API Informationen des Synology Chat Servers ab und öffnet ein Popup mit diesen Informationen.
@@ -2507,7 +2547,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="chatChannellist"></a>
+      <a id="SSChatBot-get-chatChannellist"></a>
       <li><b> chatChannellist </b> <br>
   
       Erstellt eine Liste der für den Bot sichtbaren Channels.
@@ -2516,7 +2556,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="chatUserlist"></a>
+      <a id="SSChatBot-get-chatUserlist"></a>
       <li><b> chatUserlist </b> <br>
   
       Erstellt eine Liste der für den Bot sichtbaren Usern. <br>
@@ -2527,7 +2567,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="storedToken"></a>
+      <a id="SSChatBot-get-storedToken"></a>
       <li><b> storedToken </b> <br>
   
       Zeigt den gespeicherten Token an.
@@ -2536,7 +2576,7 @@ return ($cr, $state);
     </ul>
     
     <ul>
-      <a name="versionNotes"></a>
+      <a id="SSChatBot-get-versionNotes"></a>
       <li><b> versionNotes </b> <br>
   
       Listet wesentliche Änderungen in der Versionshistorie des Moduls auf.
@@ -2546,13 +2586,13 @@ return ($cr, $state);
    
   </ul>
   
-  <a name="SSChatBotAttr"></a>
+  <a id="SSChatBot-attr"></a>
   <b>Attribute</b>
   <br><br>
   <ul>
   
     <ul>  
-      <a name="allowedUserForCode"></a>
+      <a id="SSChatBot-attr-allowedUserForCode"></a>
       <li><b>allowedUserForCode</b> <br> 
   
         Benennt die Chat-User, die Perl-Code in FHEM auslösen dürfen wenn der Slash-Befehl /code empfangen wurde. <br>
@@ -2562,7 +2602,7 @@ return ($cr, $state);
     </ul>
   
     <ul>  
-      <a name="allowedUserForGet"></a>
+      <a id="SSChatBot-attr-allowedUserForGet"></a>
       <li><b>allowedUserForGet</b> <br> 
   
         Benennt die Chat-User, die Get-Kommandos in FHEM auslösen dürfen wenn der Slash-Befehl /get empfangen wurde. <br>
@@ -2572,7 +2612,7 @@ return ($cr, $state);
     </ul>
     
     <ul>  
-      <a name="allowedUserForOwn"></a>
+      <a id="SSChatBot-attr-allowedUserForOwn"></a>
       <li><b>allowedUserForOwn</b> <br> 
   
         Benennt die Chat-User, die die im Attribut "ownCommand" definierte Kommandos in FHEM auslösen dürfen. <br>
@@ -2582,7 +2622,7 @@ return ($cr, $state);
     </ul>
   
     <ul>  
-      <a name="allowedUserForSet"></a>
+      <a id="SSChatBot-attr-allowedUserForSet"></a>
       <li><b>allowedUserForSet</b> <br> 
   
         Benennt die Chat-User, die Set-Kommandos in FHEM auslösen dürfen wenn der Slash-Befehl /set empfangen wurde. <br>
@@ -2592,7 +2632,7 @@ return ($cr, $state);
     </ul>
   
     <ul>  
-      <a name="defaultPeer"></a>
+      <a id="SSChatBot-attr-defaultPeer"></a>
       <li><b>defaultPeer</b> <br> 
   
         Ein oder mehrere (default) Empfänger für Nachrichten. Kann mit dem <b>users=</b> Tag im Befehl <b>asyncSendItem</b> 
@@ -2602,7 +2642,7 @@ return ($cr, $state);
     </ul>
     
     <ul>  
-      <a name="httptimeout"></a>
+      <a id="SSChatBot-attr-httptimeout"></a>
       <li><b>httptimeout &lt;Sekunden&gt; </b> <br> 
   
         Stellt den Verbindungstimeout zum Chatserver ein. <br>
@@ -2611,8 +2651,8 @@ return ($cr, $state);
       </li><br>
     </ul>
     
-    <ul>  
-      <a name="ownCommandx"></a>
+    <ul>
+      <a id="SSChatBot-attr-ownCommandx" data-pattern="ownCommand.*"></a>
       <li><b>ownCommandx &lt;Slash-Befehl&gt; &lt;Kommando&gt; </b> <br> 
   
         Definiert ein &lt;Slash-Befehl&gt; &lt;Kommando&gt; Paar. Der Slash-Befehl und das Kommando sind durch ein 
@@ -2626,17 +2666,45 @@ return ($cr, $state);
           attr &lt;Name&gt; ownCommand2 /Wetter get MyWetter wind_speed <br>
         </ul>       
     
-      </li><br>
+      </li>
+      <br>
     </ul>
     
     <ul>  
-      <a name="showTokenInLog"></a>
+      <a id="SSChatBot-attr-showTokenInLog"></a>
       <li><b>showTokenInLog</b> <br> 
   
         Wenn gesetzt, wird im Log mit verbose 4/5 der übermittelte Bot-Token angezeigt. <br>
         (default: 0)
     
-      </li><br>
+      </li>
+      <br>
+    </ul>
+    
+    <ul>  
+      <a id="SSChatBot-attr-spareHost"></a>
+      <li><b>spareHost</b> <br> 
+  
+        Ersetzt den automatisch ermittelten Hostnamen im Internal <b>OUTDEF</b> mit einem benutzerspezifischen 
+        Hostnamen oder einer IP-Adresse. <br>
+        Die URL des Internals OUTDEF ist das Ziel für ausgehende Nachrichten (Chat -> FHEM) und wird beim Versand 
+        von SVG Plot-Dateien ausgewertet. <br> 
+    
+      </li>
+      <br>
+    </ul>
+    
+    <ul>  
+      <a id="SSChatBot-attr-sparePort"></a>
+      <li><b>sparePort</b> <br> 
+  
+        Ersetzt den automatisch ermittelten Port im Internal <b>OUTDEF</b> mit einem benutzerspezifischen 
+        Wert. <br>
+        Die URL des Internals OUTDEF ist das Ziel für ausgehende Nachrichten (Chat -> FHEM) und wird beim Versand 
+        von SVG Plot-Dateien ausgewertet. <br> 
+    
+      </li>
+      <br>
     </ul>
  
   </ul>