Auteur Topic: Automatisch verbinden netwerk schijf blijven proberen  (gelezen 1199 keer)

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 178
  • -Ontvangen: 2639
  • Berichten: 16.371
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #30 Gepost op: 13 juni 2024, 16:08:56 »
Ik dacht dat Apple Script zo'n meedenkend taaltje was. En in talen als JavaScript kun je een getal gewoon als boolean gebruiken.  Volgens mij zelfs in objective-C. Dan moet je er blijkbaar een expliciete vergelijking van maken.

if eerste_keer = 1 then
Of de variabele direct als boolean definiƫren met een false/true waarde. Dat is mooier en ik zal het script hierboven op die manier aanpassen

global eerste_keer
set eerste_keer to true

En dan false maken na de eerste uitvoering
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Online FCU4ever

  • Bedankjes
  • -Gegeven: 4
  • -Ontvangen: 5
  • Berichten: 56
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #31 Gepost op: 13 juni 2024, 19:44:16 »
We zijn een stap verder. Met de aanpassing Mount het script netjes de schijf in het lokale netwerk. Echter Mount hij na 30 seconde daarna niet de externe schijf. Het lijkt alsof hij dus in een loop blijft zitten van het eerste gedeelte. Als ik namelijk de schijf in het thuisnetwerk unmount dan is hij heel snel weer gemount.

global eerste_keer
set eerste_keer to true

on idle
   if eerste_keer then
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      set eerste_keer to false
      return 30
   else
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      mount_share("smb", "Lisa", "IP-externe NAS", "Backup Lisa")
      return 120
   end if
end idle


on mount_share(protocol, account, server, share)
   set x to 0
   -- try a few time in case the server has to wake up first.
   -- don't do anything if the share is already mounted
   repeat until x > 4 or (list disks) contains share
      tell application "Finder"
         try
            mount volume protocol & "://" & account & "@" & server & "/" & share
         on error
            set x to x + 1
            delay 30
         end try
      end tell
   end repeat
end mount_share

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 178
  • -Ontvangen: 2639
  • Berichten: 16.371
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #32 Gepost op: 14 juni 2024, 00:12:45 »
Ik zou het zo even ook niet weten.  Meestal voeg ik dan allerlei logging regels toe aan een script zodat ik kan volgen waar hij wat doet.

Of inplaats van logging de regel
Say "Beep!"ergens in de tweede lus toevoegen om the checken of hij daar ooit komt.

Of de volgende twee regels op een handige plek toegoegen:
say "Loop een"

Say "Loop twee"
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Online FCU4ever

  • Bedankjes
  • -Gegeven: 4
  • -Ontvangen: 5
  • Berichten: 56
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #33 Gepost op: 14 juni 2024, 08:58:47 »
Ik snap je werkmethodiek. Echter ben ik helaas helemaal niet thuis in programmeren/scripten (helaas).

Wat ik nu geprobeerd heb om te kijken waar het script stopt is het volgende:
Als ik het script zoals in mijn vorige post 'run' dan krijg ik als uitvoer het bericht 'true' en de netwerkschijf in het thuisnetwerk wordt gemount. Vervolgens wordt na 30 seconde niet de externe schijf gemount.

Als ik het script aanpas en de begrippen 'true' en 'false' omdraai dan verwacht ik dat ik als uitvoer 'false' krijg en dat er niets gemount wordt. Na een run van het script is dit exact de uitkomst.

Het lijkt er dus op dat het eerste gedeelte werkt

global eerste_keer
set eerste_keer to true

on idle
   if eerste_keer then
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      set eerste_keer to false
      return 30

maar dat hij in een loop zit en eerste_keer gewoon weer op true zet.

Offline Briolet

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 178
  • -Ontvangen: 2639
  • Berichten: 16.371
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #34 Gepost op: 14 juni 2024, 11:40:32 »
Ik heb het script nu toch even zelf tot app gekompileerd

   else
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      mount_share("smb", "Lisa", "IP-externe NAS", "Backup Lisa")
      Say "Loop twee"
      return 120
   end if

En elke 120 seconden zegt hij "Loop twee". En de disk mount opnieuw als ik heb weer weggegooid had.  Dus die code loopt wel goed.

En als ik de app dubbelklik, zodat hij op de voorgrond komt, en dan Cmd-Q doe, sluit hij netjes. Geforceerd sluiten is hier niet nodig.
  • Mijn Synology: DS415+
  • HDD's: 3x 3TB in SHR
  • Extra's: DS212J, RT1900ac

Online FCU4ever

  • Bedankjes
  • -Gegeven: 4
  • -Ontvangen: 5
  • Berichten: 56
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #35 Gepost op: 14 juni 2024, 11:47:45 »
Dan ga ik dat proberen om in mijn script toe te voegen en kijken of ik ook die melding van loop 1 en loop 2 krijg. Want zoals ik het begrijp werkt het script bij jou wel

Online FCU4ever

  • Bedankjes
  • -Gegeven: 4
  • -Ontvangen: 5
  • Berichten: 56
Re: Automatisch verbinden netwerk schijf blijven proberen
« Reactie #36 Gepost op: 16 juni 2024, 10:30:59 »
Het zal aan mij liggen maar ik krijg niet de melding Loop een en/of Loop twee (terwijl wel mijn lokale disk wordt gemount).

Ik kan het script in de Dock ook niet openen om hem via kruisje af te sluiten. Vandaar dus ook de geforceerde stop.

Op de een of andere manier zit er een fout in mijn script of de manier van opslaan (vink alleen 'Niet sluiten na uitvoerhandler' aan).

global eerste_keer
set eerste_keer to true

on idle
   if eerste_keer then
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      say "Loop een"
      set eerste_keer to false
      return 30
   else
      mount_share("smb", "Lisa", "NAS_naam", "Data/Mijn Afbeeldingen")
      mount_share("smb", "Lisa", "IP-adres externe NAS", "Backup Lisa")
      say "Loop twee"
      return 120
   end if
end idle


on mount_share(protocol, account, server, share)
   set x to 0
   -- try a few time in case the server has to wake up first.
   -- don't do anything if the share is already mounted
   repeat until x > 4 or (list disks) contains share
      tell application "Finder"
         try
            mount volume protocol & "://" & account & "@" & server & "/" & share
         on error
            set x to x + 1
            delay 30
         end try
      end tell
   end repeat
end mount_share


 

Gezocht: duidelijke handleiding automatisch downloaden van series.

Gestart door hyenakeBoard SickBeard

Reacties: 6
Gelezen: 5296
Laatste bericht 15 april 2014, 11:38:15
door Ben(V)
DS Photo+ photo Backup werkt niet automatisch/in achtergrond

Gestart door rtf74Board iOS Apps (iPhone, iPad en iPod)

Reacties: 25
Gelezen: 21142
Laatste bericht 20 juli 2016, 23:56:16
door Sylvester
SSL certificaat automatisch vernieuwen

Gestart door RubenosBoard Synology DSM algemeen

Reacties: 2
Gelezen: 587
Laatste bericht 24 april 2023, 13:33:24
door jr212
Video Station indexeert niet (automatisch)

Gestart door BlackvibesBoard Video Station

Reacties: 7
Gelezen: 4199
Laatste bericht 12 december 2016, 17:49:12
door Ben(V)
NZBget automatisch laten downloaden van nzb

Gestart door sietBoard NZBGet

Reacties: 2
Gelezen: 4193
Laatste bericht 17 juni 2011, 10:10:43
door ronaldvh