Personnaliser les annonces en fonction de l'heure

Vous pouvez trouver intéressant que votre relais puisse dire “Bonjour” ou “Bonsoir” en fonction de l'heure.

Cela se réalise en quelques opérations simples.

Copier le fichier RepeaterLogic.tcl dans un sous-répertoire local

cd /usr/share/svxlink/events.d/
sudo mkdir local
cp RepeaterLogic.tcl ./local/RepeaterLogic.tcl

Editer le fichier RepeaterLogic.tcl et compléter la fonction repeater_up. Nous avons choisi de dire “Bonsoir” après 18 heures et avant 3 heures du matin. En dehors de cette période, on fait dire “Bonjour” au relais.

sudo nano /usr/share/svxlink/events.d/local/RepeaterLogic.tcl

proc repeater_up {reason} {
  global mycall;
  global active_module;
  variable repeater_is_up;
 
  set repeater_is_up 1;
 
  if {($reason != "SQL_OPEN") && ($reason != "CTCSS_OPEN") &&
      ($reason != "SQL_RPT_REOPEN")} {
    set now [clock seconds];
    if {$now-$Logic::prev_ident < $Logic::min_time_between_ident} {
      return;
    }
    set Logic::prev_ident $now;
 
set heure [clock format [clock seconds] -format "%H%M"]
if {  ($heure >= 1800) || ($heure <= 0300) } {
    playMsg "SVXCard" "goodevening";
    puts "bonsoir";
} else {
    playMsg "SVXCard" "goodmorning";
    puts "bonjour";
}
 playMsg "SVXCard" "welcome";
 
#    spellWord $mycall;
#    playMsg "Core" "repeater";
#    playSilence 250;
 
    if {$active_module != ""} {
      playMsg "Core" "active_module";
      playMsg $active_module "name";
    }
  }
}