There is no need to put anything in the companion file as wfSet script does that:
wfSet sets a key with a particular value in the companion file.
Takes two parameters:
■ The first parameter is the key.
■ The second parameter is the value.
So, putting <$wfSet("counter","0")$> in the workflow step entry event will write initial variable counter value as 0 to the companion file, when content item enters this workflow step. This companion file is being created for the every workflow content item and is used for storing workflow states. At content item workflow exit, this companion file is being deleted (unless we change that with configuration variable).
Companion files are located at ..\Oracle\Middleware\user_projects\domains\your_domain\ucm\cs\data\workflow\states\your_workflow_name\ as hda files (text file).
It's useful to check if scripts are writting expected values. For test, put this to the update event:
<$if time like "1|2|3"$>
<$wfMailSubject="Desired subject here"$>
<$wfMessage="Desired message text here."$>
and after one hour, notification reminders should be sent.
This could be possible only if idoc script code is somehow cached. Verify that entry and update events carry only above code and that you don't have any other notification code. If everything is OK, then you could try to restart content server.
Well, you should get hourly notifications as condition is <$if time like "1|2|3"$> as this is only for quick testing.
Replace 1|2|3 with desired number of hours between notifications like <$if time like "24|48|72"$> what will send first notification after 24 hours, second after 48 hours etc.
Just open, with any text editor, mentioned workflow companion file where you will find written counter value. Corresponding companion file is named by document dDocName and has hda extension but is plain text file.