SoftRaid 6.3, AppleScript et Terminal

Je te remercie pour le temps que tu as consacré à écrire, modifier et corriger le script d'alerte SMS pour SoftRaid.

Maintenant, je ne veux pas abuser en demandant une compatibilité avec une système 10.13.6 hors d'âge.

Par ailleurs, d'autres utilisateurs/administrateurs pourraient trouver ce script, dont tu es l'auteur, très utile.
Me permet-tu de le diffuser, ou pas, et dans quelles conditions ?
 
Si quelqu'un étant sous 10.13.6 passe par là, pourrais t'il essayer ce script pour envoyer un imessage au numéro de tel à renseigner dans la 1ere ligne, ceci afin de contrôler si le problème est du au système ou à la configuration de l'ordi ,
Merci d'avance !
Bloc de code:
tell application "Messages"
    set targetbuddy to "06xxxxxxxx"
    set imessageservice to 1st account whose service type = iMessage
    set textMessage to "Erreur disque !  "
    set imessagebuddy to participant targetbuddy of imessageservice
    send textMessage to imessagebuddy
end tell
 
Nos post ce sont croisés !

Par ailleurs, d'autres utilisateurs/administrateurs pourraient trouver ce script, dont tu es l'auteur, très utile.
Me permet-tu de le diffuser, ou pas, et dans quelles conditions ?
Je ne suis pas programmeur, un simple utilisateur lambda passionné !
Donc pas de problème de diffusion si cela peut aider.

Mais pour ma satisfaction personnelle j'aimerai bien savoir pourquoi çà ne fonctionne pas sur 10.13.6 et je continu mes recherches LOL !
 
Je te remet un script qui je l'espère sera compatible 10.13.6
car je pense que le mot clef "participant" n'a du apparaître qu'avec "Mojave"
Bien sur entre le numéro de tel...

Fais moi un retour !

Bloc de code:
tell application "Finder"
    set nb to 0
    set infodisk to ""
    try
        set infodisk to do shell script "/usr/local/bin/softraidtool status"
        set infodisk to infodisk as string
        set nb to offset of "Fail" in infodisk
        
    on error messaError from f to t partial result p
        
    tell application "Messages"
    set myid to get id of first service
    set aqui to Buddy "06XXXXXXXX" of service id myid
    send "Erreur disque !  " & messaError  to aqui
    end tell
        
    end try
end tell
 
Le script #45 est "validé" sous 10.13.6, mais ne fonctionne pas, avec 2 cas :
Capture 10.13.6.png

  • Cas 1 : Messages est ouvert lors de l'éxécution du script, passe en premier plan, mais ne fait rien de plus.
  • Cas 2 : Messages est fermé et le script ouvre l'application en arrière plan, mais ne fait rien de plus, avec un message d'erreur :
Capture 10.13.6-1.png
 

Fichiers joints

  • Capture 10.13.6-1.png
    Capture 10.13.6-1.png
    75,4 KB · Affichages: 1
Essai, sans conviction, d'ajouter les2 lignes
activate
delay 1
juste après la ligne
tell application "Messages"
 
Le script #47 ouvre Messages si il était fermé, et/ou le passe en premier plan si il était déjà ouvert, rien de plus, avec un résultat qui reste vide.
 
Pas de message d'erreur ?

Pourtant chez moi elle envoie bien le message "Erreur disque ! " dans l'appli "message"

Alors je jette l'éponge ...
Je ne vois pas ce qui peut clocher et comme je ne peux pas tester !!! :bigtears:
Désolé .

Edit: un autre test:
Dans la ligne remplace:
send "Erreur disque ! " & messaError to aqui
par
send "Erreur disque ! " to aqui

Sans la variable ! dès foi que !

Edit2: tu peux tester en dehors du script général, juste la partie envoi d'un message pour voir si le script envoi message seul fonctione:
Bloc de code:
tell application "Messages"
    set myid to get id of first service
    set aqui to Buddy "06XXXXXXXX" of service id myid
    send "Erreur disque !  "  to aqui
end tell

J'y pense tu n'as pas oublier de mettre le numéro de tel ?
 
Dernière édition:
Non, non, j'oublie pas d'inclure mon numéro de mobile.

Avec la modification de ligne, le résultat est maintenant 0 :
Capture 10.13.6.png

Avec le script à part, Messages passe en premier plan mais ne fait rien de plus, et pas de résultat :
Capture 10.13.6-1.png
 
Bien si çà fonctionne alors il n'y a qu'a l'insérer dans le script,
cela deviendrait:
Bloc de code:
tell application "Finder"
    set nb to 0
    set infodisk to ""
    try
        set infodisk to do shell script "/usr/local/bin/softraidtool status"
        set infodisk to infodisk as string
        set nb to offset of "Fail" in infodisk
   
    on error messaError from f to t partial result p

tell application "Messages"
   set targetBuddy to "06xxxxxxxx"
   set targetService to id of 1st service whose service type = iMessage
   set textMessage to "Erreur disque !  " & messaError
   set theBuddy to buddy targetBuddy of service id targetService
   send textMessage to theBuddy
      end tell
    end try
end tell

Edit: script corrigé, j'avais oublié le end tell

Attention lorsque tu fais un copié collé avec système 10.13.6 et que tu valides, tu n'obtiendras pas la même chose que sous 12.7 le système modifie les mots clef pour les adapter.
Donc pas de copié collé d'un système sur l'autre...
 
Dernière édition:
J'ai pris la liberté de corriger les dernières lignes, mais ça marche bien sous 10.13.6 :Capture 10.13.6.png

Il y avait de quoi attraper une méningite !

Je tenterais l'implémentation et la récursivité dans Calendrier demain. Merci encore et bonne soirée.
 
J'ai pris la liberté de corriger les dernières lignes, mais ça marche bien sous 10.13.6 :
Oui ,un loupé du copié colé !
Relis le message #53 je l"ai édité.